Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.eslintrc.yml2
-rw-r--r--.gitlab/ci/cache-repo.gitlab-ci.yml1
-rw-r--r--.gitlab/ci/cng.gitlab-ci.yml1
-rw-r--r--.gitlab/ci/docs.gitlab-ci.yml1
-rw-r--r--.gitlab/ci/frontend.gitlab-ci.yml5
-rw-r--r--.gitlab/ci/qa.gitlab-ci.yml1
-rw-r--r--.gitlab/ci/reports.gitlab-ci.yml18
-rw-r--r--.gitlab/ci/review.gitlab-ci.yml14
-rw-r--r--.gitlab/ci/rules.gitlab-ci.yml72
-rw-r--r--.gitlab/ci/setup.gitlab-ci.yml1
-rw-r--r--.gitlab/issue_templates/Technical Evaluation.md4
-rw-r--r--.gitlab/merge_request_templates/Documentation.md13
-rw-r--r--.markdownlint.json5
-rw-r--r--.rubocop.yml4
-rw-r--r--GITALY_SERVER_VERSION2
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock6
-rw-r--r--Guardfile51
-rw-r--r--app/assets/javascripts/alert_management/components/alert_details.vue91
-rw-r--r--app/assets/javascripts/alert_management/components/alert_management_list.vue51
-rw-r--r--app/assets/javascripts/alert_management/constants.js32
-rw-r--r--app/assets/javascripts/alert_management/details.js20
-rw-r--r--app/assets/javascripts/alert_management/graphql/queries/details.query.graphql17
-rw-r--r--app/assets/javascripts/api.js47
-rw-r--r--app/assets/javascripts/behaviors/shortcuts/shortcuts_blob.js2
-rw-r--r--app/assets/javascripts/blob/blob_fork_suggestion.js2
-rw-r--r--app/assets/javascripts/blob/components/blob_header_filepath.vue8
-rw-r--r--app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue3
-rw-r--r--app/assets/javascripts/boards/mixins/sortable_default_options.js5
-rw-r--r--app/assets/javascripts/close_reopen_report_toggle.js2
-rw-r--r--app/assets/javascripts/clusters/clusters_bundle.js2
-rw-r--r--app/assets/javascripts/code_navigation/store/actions.js4
-rw-r--r--app/assets/javascripts/comment_type_toggle.js2
-rw-r--r--app/assets/javascripts/create_merge_request_dropdown.js2
-rw-r--r--app/assets/javascripts/cycle_analytics/cycle_analytics_store.js2
-rw-r--r--app/assets/javascripts/design_management/components/app.vue3
-rw-r--r--app/assets/javascripts/design_management/components/delete_button.vue64
-rw-r--r--app/assets/javascripts/design_management/components/design_destroyer.vue66
-rw-r--r--app/assets/javascripts/design_management/components/design_note_pin.vue61
-rw-r--r--app/assets/javascripts/design_management/components/design_notes/design_discussion.vue142
-rw-r--r--app/assets/javascripts/design_management/components/design_notes/design_note.vue148
-rw-r--r--app/assets/javascripts/design_management/components/design_notes/design_reply_form.vue137
-rw-r--r--app/assets/javascripts/design_management/components/design_overlay.vue250
-rw-r--r--app/assets/javascripts/design_management/components/design_presentation.vue309
-rw-r--r--app/assets/javascripts/design_management/components/design_scaler.vue65
-rw-r--r--app/assets/javascripts/design_management/components/image.vue110
-rw-r--r--app/assets/javascripts/design_management/components/list/item.vue174
-rw-r--r--app/assets/javascripts/design_management/components/toolbar/index.vue126
-rw-r--r--app/assets/javascripts/design_management/components/toolbar/pagination.vue83
-rw-r--r--app/assets/javascripts/design_management/components/toolbar/pagination_button.vue48
-rw-r--r--app/assets/javascripts/design_management/components/upload/button.vue58
-rw-r--r--app/assets/javascripts/design_management/components/upload/design_dropzone.vue134
-rw-r--r--app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue76
-rw-r--r--app/assets/javascripts/design_management/constants.js9
-rw-r--r--app/assets/javascripts/design_management/graphql.js28
-rw-r--r--app/assets/javascripts/design_management/graphql/fragments/design.fragment.graphql22
-rw-r--r--app/assets/javascripts/design_management/graphql/fragments/designList.fragment.graphql8
-rw-r--r--app/assets/javascripts/design_management/graphql/fragments/designNote.fragment.graphql28
-rw-r--r--app/assets/javascripts/design_management/graphql/fragments/diffRefs.fragment.graphql5
-rw-r--r--app/assets/javascripts/design_management/graphql/fragments/notePermissions.fragment.graphql3
-rw-r--r--app/assets/javascripts/design_management/graphql/fragments/version.fragment.graphql4
-rw-r--r--app/assets/javascripts/design_management/graphql/mutations/createImageDiffNote.mutation.graphql21
-rw-r--r--app/assets/javascripts/design_management/graphql/mutations/createNote.mutation.graphql10
-rw-r--r--app/assets/javascripts/design_management/graphql/mutations/destroyDesign.mutation.graphql10
-rw-r--r--app/assets/javascripts/design_management/graphql/mutations/updateImageDiffNote.mutation.graphql10
-rw-r--r--app/assets/javascripts/design_management/graphql/mutations/update_note.mutation.graphql10
-rw-r--r--app/assets/javascripts/design_management/graphql/mutations/uploadDesign.mutation.graphql21
-rw-r--r--app/assets/javascripts/design_management/graphql/queries/appData.query.graphql4
-rw-r--r--app/assets/javascripts/design_management/graphql/queries/getDesign.query.graphql31
-rw-r--r--app/assets/javascripts/design_management/graphql/queries/get_design_list.query.graphql26
-rw-r--r--app/assets/javascripts/design_management/graphql/queries/permissions.query.graphql10
-rw-r--r--app/assets/javascripts/design_management/index.js53
-rw-r--r--app/assets/javascripts/design_management/mixins/all_designs.js49
-rw-r--r--app/assets/javascripts/design_management/mixins/all_versions.js62
-rw-r--r--app/assets/javascripts/design_management/pages/design/index.vue378
-rw-r--r--app/assets/javascripts/design_management/pages/index.vue323
-rw-r--r--app/assets/javascripts/design_management/router/constants.js3
-rw-r--r--app/assets/javascripts/design_management/router/index.js22
-rw-r--r--app/assets/javascripts/design_management/router/routes.js44
-rw-r--r--app/assets/javascripts/design_management/utils/cache_update.js272
-rw-r--r--app/assets/javascripts/design_management/utils/design_management_utils.js125
-rw-r--r--app/assets/javascripts/design_management/utils/error_messages.js95
-rw-r--r--app/assets/javascripts/design_management/utils/tracking.js22
-rw-r--r--app/assets/javascripts/diffs/store/utils.js2
-rw-r--r--app/assets/javascripts/editor/editor_lite.js4
-rw-r--r--app/assets/javascripts/environments/stores/environments_store.js9
-rw-r--r--app/assets/javascripts/filtered_search/constants.js5
-rw-r--r--app/assets/javascripts/filtered_search/dropdown_operator.js10
-rw-r--r--app/assets/javascripts/filtered_search/filtered_search_dropdown.js41
-rw-r--r--app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js2
-rw-r--r--app/assets/javascripts/filtered_search/stores/recent_searches_store.js14
-rw-r--r--app/assets/javascripts/gl_dropdown.js5
-rw-r--r--app/assets/javascripts/gl_form.js2
-rw-r--r--app/assets/javascripts/groups/new_group_child.js2
-rw-r--r--app/assets/javascripts/helpers/event_hub_factory.js11
-rw-r--r--app/assets/javascripts/ide/components/commit_sidebar/list.vue18
-rw-r--r--app/assets/javascripts/ide/components/ide.vue10
-rw-r--r--app/assets/javascripts/ide/components/ide_tree.vue16
-rw-r--r--app/assets/javascripts/ide/components/nav_form.vue4
-rw-r--r--app/assets/javascripts/ide/components/new_dropdown/index.vue7
-rw-r--r--app/assets/javascripts/ide/components/new_dropdown/modal.vue84
-rw-r--r--app/assets/javascripts/ide/constants.js1
-rw-r--r--app/assets/javascripts/ide/eventhub.js4
-rw-r--r--app/assets/javascripts/ide/lib/diff/diff.js13
-rw-r--r--app/assets/javascripts/ide/lib/editor.js3
-rw-r--r--app/assets/javascripts/ide/lib/languages/index.js5
-rw-r--r--app/assets/javascripts/ide/lib/languages/vue.js306
-rw-r--r--app/assets/javascripts/ide/stores/actions.js8
-rw-r--r--app/assets/javascripts/ide/stores/mutation_types.js1
-rw-r--r--app/assets/javascripts/ide/stores/mutations.js9
-rw-r--r--app/assets/javascripts/ide/stores/mutations/project.js4
-rw-r--r--app/assets/javascripts/ide/stores/mutations/tree.js5
-rw-r--r--app/assets/javascripts/ide/utils.js10
-rw-r--r--app/assets/javascripts/image_diff/helpers/comment_indicator_helper.js4
-rw-r--r--app/assets/javascripts/image_diff/helpers/dom_helper.js7
-rw-r--r--app/assets/javascripts/image_diff/image_diff.js4
-rw-r--r--app/assets/javascripts/integrations/edit/components/integration_form.vue42
-rw-r--r--app/assets/javascripts/integrations/edit/components/jira_trigger_fields.vue99
-rw-r--r--app/assets/javascripts/integrations/edit/index.js37
-rw-r--r--app/assets/javascripts/jobs/store/actions.js4
-rw-r--r--app/assets/javascripts/lib/graphql.js1
-rw-r--r--app/assets/javascripts/lib/utils/url_utility.js6
-rw-r--r--app/assets/javascripts/main.js2
-rw-r--r--app/assets/javascripts/member_expiration_date.js3
-rw-r--r--app/assets/javascripts/milestones/project_milestone_combobox.vue228
-rw-r--r--app/assets/javascripts/monitoring/components/dashboard.vue52
-rw-r--r--app/assets/javascripts/monitoring/components/dashboard_panel.vue1
-rw-r--r--app/assets/javascripts/monitoring/constants.js18
-rw-r--r--app/assets/javascripts/monitoring/monitoring_bundle.js3
-rw-r--r--app/assets/javascripts/monitoring/stores/actions.js17
-rw-r--r--app/assets/javascripts/monitoring/stores/mutation_types.js3
-rw-r--r--app/assets/javascripts/monitoring/stores/mutations.js15
-rw-r--r--app/assets/javascripts/monitoring/stores/state.js1
-rw-r--r--app/assets/javascripts/monitoring/stores/variable_mapping.js125
-rw-r--r--app/assets/javascripts/monitoring/utils.js93
-rw-r--r--app/assets/javascripts/mr_notes/init_notes.js31
-rw-r--r--app/assets/javascripts/notes/components/comment_form.vue37
-rw-r--r--app/assets/javascripts/notes/components/note_header.vue25
-rw-r--r--app/assets/javascripts/notes/components/noteable_note.vue8
-rw-r--r--app/assets/javascripts/notes/components/notes_app.vue5
-rw-r--r--app/assets/javascripts/notes/index.js54
-rw-r--r--app/assets/javascripts/notes/stores/actions.js2
-rw-r--r--app/assets/javascripts/notes/stores/index.js6
-rw-r--r--app/assets/javascripts/notes/stores/modules/index.js1
-rw-r--r--app/assets/javascripts/pages/projects/blob/new/index.js11
-rw-r--r--app/assets/javascripts/pages/projects/pipelines/index/index.js4
-rw-r--r--app/assets/javascripts/pages/projects/show/index.js2
-rw-r--r--app/assets/javascripts/pipelines/components/pipelines.vue33
-rw-r--r--app/assets/javascripts/pipelines/components/pipelines_filtered_search.vue69
-rw-r--r--app/assets/javascripts/pipelines/components/pipelines_table_row.vue5
-rw-r--r--app/assets/javascripts/pipelines/components/test_reports/test_summary.vue9
-rw-r--r--app/assets/javascripts/pipelines/components/tokens/pipeline_trigger_author_token.vue78
-rw-r--r--app/assets/javascripts/pipelines/constants.js1
-rw-r--r--app/assets/javascripts/pipelines/services/pipelines_service.js10
-rw-r--r--app/assets/javascripts/pipelines/stores/pipeline_store.js2
-rw-r--r--app/assets/javascripts/registry/settings/store/mutations.js2
-rw-r--r--app/assets/javascripts/registry/shared/constants.js2
-rw-r--r--app/assets/javascripts/releases/components/app_edit.vue47
-rw-r--r--app/assets/javascripts/releases/components/app_index.vue11
-rw-r--r--app/assets/javascripts/releases/components/release_block_header.vue11
-rw-r--r--app/assets/javascripts/releases/stores/modules/detail/actions.js11
-rw-r--r--app/assets/javascripts/releases/stores/modules/detail/mutation_types.js1
-rw-r--r--app/assets/javascripts/releases/stores/modules/detail/mutations.js4
-rw-r--r--app/assets/javascripts/releases/stores/modules/detail/state.js4
-rw-r--r--app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue6
-rw-r--r--app/assets/javascripts/sidebar/components/confidential/confidential_issue_sidebar.vue23
-rw-r--r--app/assets/javascripts/sidebar/mount_sidebar.js3
-rw-r--r--app/assets/javascripts/snippets/components/snippet_description_view.vue21
-rw-r--r--app/assets/javascripts/snippets/components/snippet_title.vue14
-rw-r--r--app/assets/javascripts/static_site_editor/constants.js5
-rw-r--r--app/assets/javascripts/static_site_editor/graphql/index.js36
-rw-r--r--app/assets/javascripts/static_site_editor/graphql/queries/app_data.query.graphql8
-rw-r--r--app/assets/javascripts/static_site_editor/graphql/queries/source_content.query.graphql9
-rw-r--r--app/assets/javascripts/static_site_editor/graphql/resolvers/file.js11
-rw-r--r--app/assets/javascripts/static_site_editor/graphql/typedefs.graphql20
-rw-r--r--app/assets/javascripts/static_site_editor/index.js22
-rw-r--r--app/assets/javascripts/static_site_editor/pages/home.vue39
-rw-r--r--app/assets/javascripts/static_site_editor/store/actions.js5
-rw-r--r--app/assets/javascripts/static_site_editor/store/state.js1
-rw-r--r--app/assets/javascripts/terminal/terminal.js13
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue15
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline_container.vue1
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue25
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue2
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js6
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/mr_widget_options.vue9
-rw-r--r--app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js1
-rw-r--r--app/assets/javascripts/vue_shared/components/blob_viewers/rich_viewer.vue6
-rw-r--r--app/assets/javascripts/vue_shared/components/blob_viewers/simple_viewer.vue3
-rw-r--r--app/assets/javascripts/vue_shared/components/markdown/field_view.vue19
-rw-r--r--app/assets/javascripts/vue_shared/components/notes/system_note.vue2
-rw-r--r--app/assets/javascripts/vue_shared/components/sidebar/labels_select_vue/labels_select_root.vue6
-rw-r--r--app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js24
-rw-r--r--app/assets/stylesheets/components/milestone_combobox.scss13
-rw-r--r--app/assets/stylesheets/page_bundles/themes/_dark.scss8
-rw-r--r--app/assets/stylesheets/pages/alerts_list.scss31
-rw-r--r--app/assets/stylesheets/pages/issuable.scss13
-rw-r--r--app/assets/stylesheets/pages/labels.scss3
-rw-r--r--app/assets/stylesheets/pages/milestone.scss4
-rw-r--r--app/assets/stylesheets/pages/notes.scss7
-rw-r--r--app/controllers/admin/application_settings_controller.rb2
-rw-r--r--app/controllers/boards/issues_controller.rb3
-rw-r--r--app/controllers/concerns/issuable_actions.rb3
-rw-r--r--app/controllers/concerns/issuable_collections_action.rb4
-rw-r--r--app/controllers/dashboard_controller.rb1
-rw-r--r--app/controllers/groups/group_links_controller.rb5
-rw-r--r--app/controllers/groups_controller.rb4
-rw-r--r--app/controllers/projects/alert_management_controller.rb6
-rw-r--r--app/controllers/projects/issues_controller.rb5
-rw-r--r--app/controllers/projects/pages_domains_controller.rb10
-rw-r--r--app/controllers/projects/pipelines_controller.rb9
-rw-r--r--app/controllers/registrations_controller.rb2
-rw-r--r--app/finders/alert_management/alerts_finder.rb9
-rw-r--r--app/finders/issuable_finder.rb133
-rw-r--r--app/finders/issuable_finder/params.rb2
-rw-r--r--app/finders/issues_finder/params.rb2
-rw-r--r--app/finders/releases_finder.rb20
-rw-r--r--app/graphql/mutations/alert_management/base.rb2
-rw-r--r--app/graphql/resolvers/alert_management_alert_resolver.rb4
-rw-r--r--app/graphql/resolvers/namespace_projects_resolver.rb2
-rw-r--r--app/graphql/resolvers/projects_resolver.rb31
-rw-r--r--app/graphql/resolvers/release_resolver.rb25
-rw-r--r--app/graphql/resolvers/releases_resolver.rb21
-rw-r--r--app/graphql/types/alert_management/alert_sort_enum.rb25
-rw-r--r--app/graphql/types/alert_management/alert_type.rb2
-rw-r--r--app/graphql/types/alert_management/status_enum.rb4
-rw-r--r--app/graphql/types/project_type.rb14
-rw-r--r--app/graphql/types/query_type.rb5
-rw-r--r--app/graphql/types/release_type.rb49
-rw-r--r--app/graphql/types/snippet_type.rb2
-rw-r--r--app/graphql/types/todo_type.rb2
-rw-r--r--app/helpers/projects/alert_management_helper.rb14
-rw-r--r--app/helpers/projects_helper.rb2
-rw-r--r--app/helpers/releases_helper.rb4
-rw-r--r--app/helpers/services_helper.rb2
-rw-r--r--app/helpers/x509_helper.rb4
-rw-r--r--app/models/alert_management/alert.rb85
-rw-r--r--app/models/application_setting.rb2
-rw-r--r--app/models/application_setting_implementation.rb3
-rw-r--r--app/models/ci/freeze_period.rb16
-rw-r--r--app/models/ci/pipeline.rb15
-rw-r--r--app/models/ci/stage.rb3
-rw-r--r--app/models/clusters/applications/knative.rb2
-rw-r--r--app/models/clusters/applications/runner.rb2
-rw-r--r--app/models/concerns/awardable.rb41
-rw-r--r--app/models/concerns/issuable.rb29
-rw-r--r--app/models/concerns/issue_resource_event.rb13
-rw-r--r--app/models/concerns/merge_request_resource_event.rb11
-rw-r--r--app/models/concerns/milestoneable.rb2
-rw-r--r--app/models/concerns/noteable.rb4
-rw-r--r--app/models/event.rb13
-rw-r--r--app/models/group.rb2
-rw-r--r--app/models/merge_request.rb6
-rw-r--r--app/models/merge_request_diff.rb30
-rw-r--r--app/models/milestone.rb6
-rw-r--r--app/models/namespace.rb4
-rw-r--r--app/models/project.rb14
-rw-r--r--app/models/project_repository_storage_move.rb5
-rw-r--r--app/models/project_services/jira_service.rb61
-rw-r--r--app/models/project_services/youtrack_service.rb4
-rw-r--r--app/models/resource_label_event.rb6
-rw-r--r--app/models/resource_milestone_event.rb7
-rw-r--r--app/models/resource_weight_event.rb4
-rw-r--r--app/models/snippet_repository.rb18
-rw-r--r--app/models/system_note_metadata.rb1
-rw-r--r--app/models/todo.rb4
-rw-r--r--app/models/x509_commit_signature.rb4
-rw-r--r--app/policies/project_policy.rb5
-rw-r--r--app/presenters/projects/prometheus/alert_presenter.rb61
-rw-r--r--app/serializers/accessibility_error_entity.rb12
-rw-r--r--app/serializers/accessibility_reports_comparer_entity.rb15
-rw-r--r--app/serializers/accessibility_reports_comparer_serializer.rb5
-rw-r--r--app/serializers/test_suite_comparer_entity.rb2
-rw-r--r--app/services/alert_management/process_prometheus_alert_service.rb86
-rw-r--r--app/services/alert_management/update_alert_status_service.rb4
-rw-r--r--app/services/base_container_service.rb12
-rw-r--r--app/services/base_service.rb73
-rw-r--r--app/services/ci/compare_accessibility_reports_service.rb17
-rw-r--r--app/services/ci/create_pipeline_service.rb21
-rw-r--r--app/services/ci/pipeline_processing/atomic_processing_service.rb2
-rw-r--r--app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb19
-rw-r--r--app/services/ci/pipeline_schedule_service.rb14
-rw-r--r--app/services/concerns/base_service_utility.rb72
-rw-r--r--app/services/concerns/git/logger.rb10
-rw-r--r--app/services/issues/build_service.rb10
-rw-r--r--app/services/merge_requests/base_service.rb26
-rw-r--r--app/services/merge_requests/rebase_service.rb8
-rw-r--r--app/services/merge_requests/squash_service.rb18
-rw-r--r--app/services/pod_logs/base_service.rb3
-rw-r--r--app/services/pod_logs/elasticsearch_service.rb4
-rw-r--r--app/services/pod_logs/kubernetes_service.rb8
-rw-r--r--app/services/projects/import_service.rb1
-rw-r--r--app/services/projects/prometheus/alerts/notify_service.rb11
-rw-r--r--app/services/search_service.rb19
-rw-r--r--app/services/tags/destroy_service.rb14
-rw-r--r--app/validators/cron_freeze_period_timezone_validator.rb13
-rw-r--r--app/validators/cron_validator.rb15
-rw-r--r--app/views/admin/application_settings/integrations.html.haml2
-rw-r--r--app/views/groups/group_members/index.html.haml22
-rw-r--r--app/views/groups/settings/integrations/index.html.haml2
-rw-r--r--app/views/import/google_code/new_user_map.html.haml2
-rw-r--r--app/views/layouts/nav/sidebar/_project.html.haml4
-rw-r--r--app/views/projects/alert_management/details.html.haml2
-rw-r--r--app/views/projects/commit/_signature.html.haml2
-rw-r--r--app/views/projects/commit/_signature_badge.html.haml6
-rw-r--r--app/views/projects/commit/x509/_signature_badge_user.html.haml2
-rw-r--r--app/views/projects/merge_requests/_widget.html.haml1
-rw-r--r--app/views/projects/pages_domains/_certificate.html.haml8
-rw-r--r--app/views/projects/pages_domains/_dns.html.haml8
-rw-r--r--app/views/projects/pages_domains/_form.html.haml10
-rw-r--r--app/views/projects/pages_domains/_lets_encrypt_callout.html.haml10
-rw-r--r--app/views/projects/pages_domains/new.html.haml2
-rw-r--r--app/views/projects/pages_domains/show.html.haml8
-rw-r--r--app/views/projects/pipelines/index.html.haml1
-rw-r--r--app/views/projects/services/_index.html.haml30
-rw-r--r--app/views/projects/settings/ci_cd/_form.html.haml4
-rw-r--r--app/views/projects/settings/ci_cd/show.html.haml2
-rw-r--r--app/views/projects/settings/integrations/show.html.haml4
-rw-r--r--app/views/projects/settings/operations/_incidents.html.haml8
-rw-r--r--app/views/projects/snippets/show.html.haml2
-rw-r--r--app/views/projects/tags/_tag.html.haml3
-rw-r--r--app/views/projects/tags/show.html.haml2
-rw-r--r--app/views/shared/_service_settings.html.haml21
-rw-r--r--app/views/shared/hook_logs/_content.html.haml2
-rw-r--r--app/views/shared/integrations/_index.html.haml (renamed from app/views/shared/integrations/_integrations.html.haml)9
-rw-r--r--app/views/shared/snippets/_header.html.haml2
-rw-r--r--app/views/snippets/show.html.haml2
-rw-r--r--app/workers/all_queues.yml12
-rw-r--r--app/workers/concerns/chaos_queue.rb2
-rw-r--r--app/workers/project_update_repository_storage_worker.rb2
-rw-r--r--app/workers/update_head_pipeline_for_merge_request_worker.rb4
-rw-r--r--changelogs/unreleased/118609-design-comment-edit-comment-text.yml5
-rw-r--r--changelogs/unreleased/195887-jira-comment-details-include-branch-name.yml5
-rw-r--r--changelogs/unreleased/195889-integrations-list-views-should-use-recommended-page-layout.yml5
-rw-r--r--changelogs/unreleased/197344-use-cookies-with-metadata.yml5
-rw-r--r--changelogs/unreleased/198324-avoid_subqueries.yml5
-rw-r--r--changelogs/unreleased/199053-inconsistent-help-icon-styling.yml5
-rw-r--r--changelogs/unreleased/204839-registry-application-settings.yml5
-rw-r--r--changelogs/unreleased/207235-snippets-vue-ff-on-by-default.yml5
-rw-r--r--changelogs/unreleased/207267-expiration-policy-copy.yml5
-rw-r--r--changelogs/unreleased/207324-search-api-scoped-to-blobs-does-not-honor-per_page.yml5
-rw-r--r--changelogs/unreleased/207471-expose-note-confidential-attribute-in-apis-and-display-on-frontend.yml5
-rw-r--r--changelogs/unreleased/212279-webide-vue-files.yml5
-rw-r--r--changelogs/unreleased/213572-drop-lm-template-support.yml5
-rw-r--r--changelogs/unreleased/214522-list.yml5
-rw-r--r--changelogs/unreleased/214583-add-ability-to-query-projects.yml5
-rw-r--r--changelogs/unreleased/215472-single-chart-from-url.yml5
-rw-r--r--changelogs/unreleased/215473-url-update-single-panel.yml5
-rw-r--r--changelogs/unreleased/215598-alert-management-graphql-sort-backend.yml5
-rw-r--r--changelogs/unreleased/215955-redirect-loop-when-logging-in-for-the-experimental-sign_up-flow.yml5
-rw-r--r--changelogs/unreleased/216031-show-accurate-error-message-when-pipelines-disabled-mr-must-succee.yml7
-rw-r--r--changelogs/unreleased/216157-add-usage-ping-recording_finished_at-field.yml5
-rw-r--r--changelogs/unreleased/216216-fix-mr-diffs-external-diffs-store-bug.yml5
-rw-r--r--changelogs/unreleased/216243.yml5
-rw-r--r--changelogs/unreleased/216345-extend-project-group-membership-checks-to-group-ancestors.yml5
-rw-r--r--changelogs/unreleased/216472-move-embeding-metrics-to-core.yml5
-rw-r--r--changelogs/unreleased/216477-gllink-updates.yml5
-rw-r--r--changelogs/unreleased/216728-actionview-template-error-undefined-method-pages_domain-for-pagesd.yml5
-rw-r--r--changelogs/unreleased/217310.yml5
-rw-r--r--changelogs/unreleased/24295-freeze-period-db-changes.yml5
-rw-r--r--changelogs/unreleased/33200-add-empty-needs-to-auto-devops-test.yml5
-rw-r--r--changelogs/unreleased/39467-allow-a-release-s-associated-milestones-to-be-edited-through-the-ed.yml5
-rw-r--r--changelogs/unreleased/add-ci-kubernetes-active-pipeline-variable.yml6
-rw-r--r--changelogs/unreleased/add_confidential_issue_url_param.yml5
-rw-r--r--changelogs/unreleased/cl-wiki-result.yml5
-rw-r--r--changelogs/unreleased/cleanup_user_highest_roles_background_migration.yml5
-rw-r--r--changelogs/unreleased/feat-x509-tag.yml5
-rw-r--r--changelogs/unreleased/fix-istio-url-should-be-raw.yml5
-rw-r--r--changelogs/unreleased/fj-update-snippet-backfilling-with-migrate-bot.yml5
-rw-r--r--changelogs/unreleased/jira-user-importer-prep.yml5
-rw-r--r--changelogs/unreleased/jivanvl-use-metrics-url-query-param.yml5
-rw-r--r--changelogs/unreleased/remove_kwargs_from_storage_move_worker.yml5
-rw-r--r--changelogs/unreleased/rw-exclude-skipped-tests-from-success.yml4
-rw-r--r--changelogs/unreleased/sh-fix-overwrite-import-export-check.yml5
-rw-r--r--changelogs/unreleased/sh-fix-render-rst.yml5
-rw-r--r--changelogs/unreleased/sh-fix-squash-error-handling.yml5
-rw-r--r--changelogs/unreleased/sh-handle-deployments-no-pods.yml5
-rw-r--r--changelogs/unreleased/sk-add-validation-on-params-for-podlogs-service.yml5
-rw-r--r--changelogs/unreleased/sk-fix-tag-deletion-duplicate-events.yml5
-rw-r--r--changelogs/unreleased/sk-organize-package-models.yml5
-rw-r--r--changelogs/unreleased/switch-thread-to-process-memory-cache.yml5
-rw-r--r--changelogs/unreleased/update-gitlab-runner-helm-chart-to-0-16-1.yml5
-rw-r--r--changelogs/unreleased/update-recursive-open-struct-gem.yml5
-rw-r--r--config/environments/test.rb4
-rw-r--r--config/feature_categories.yml1
-rw-r--r--config/gitlab.yml.example2
-rw-r--r--config/initializers/0_thread_cache.rb3
-rw-r--r--config/initializers/1_settings.rb1
-rw-r--r--config/initializers/cookies_serializer.rb2
-rw-r--r--config/initializers/rack_attack.rb.example29
-rw-r--r--config/initializers/rack_attack_new.rb8
-rw-r--r--config/prometheus/common_metrics.yml45
-rw-r--r--danger/gitlab_ui_wg/Dangerfile62
-rw-r--r--danger/roulette/Dangerfile4
-rw-r--r--danger/telemetry/Dangerfile16
-rw-r--r--db/migrate/20200408125046_create_ci_freeze_periods.rb30
-rw-r--r--db/migrate/20200424135319_create_nuget_dependency_link_metadata.rb26
-rw-r--r--db/migrate/20200429181335_add_default_value_for_file_store_to_lfs_objects.rb19
-rw-r--r--db/migrate/20200429181955_add_default_value_for_file_store_to_ci_job_artifacts.rb19
-rw-r--r--db/migrate/20200429182245_add_default_value_for_store_to_uploads.rb19
-rw-r--r--db/migrate/20200505164958_add_registry_settings_to_application_settings.rb30
-rw-r--r--db/migrate/20200505171834_add_text_limit_to_container_registry_vendor.rb17
-rw-r--r--db/migrate/20200505172405_add_text_limit_to_container_registry_version.rb17
-rw-r--r--db/migrate/20200507221434_add_container_registry_features_to_application_settings.rb13
-rw-r--r--db/post_migrate/20200506125731_cleanup_user_highest_roles_population.rb23
-rw-r--r--db/structure.sql68
-rw-r--r--doc/.vale/gitlab/BadgeCapitalization.yml42
-rw-r--r--doc/.vale/gitlab/spelling-exceptions.txt8
-rw-r--r--doc/administration/audit_events.md6
-rw-r--r--doc/administration/auth/oidc.md2
-rw-r--r--doc/administration/geo/disaster_recovery/index.md38
-rw-r--r--doc/administration/geo/replication/troubleshooting.md21
-rw-r--r--doc/administration/gitaly/index.md30
-rw-r--r--doc/administration/high_availability/gitlab.md3
-rw-r--r--doc/administration/high_availability/sidekiq.md3
-rw-r--r--doc/administration/integration/plantuml.md8
-rw-r--r--doc/administration/lfs/index.md53
-rw-r--r--doc/administration/logs.md6
-rw-r--r--doc/administration/monitoring/prometheus/gitlab_exporter.md6
-rw-r--r--doc/administration/monitoring/prometheus/gitlab_metrics.md8
-rw-r--r--doc/administration/monitoring/prometheus/index.md6
-rw-r--r--doc/administration/monitoring/prometheus/node_exporter.md6
-rw-r--r--doc/administration/monitoring/prometheus/pgbouncer_exporter.md6
-rw-r--r--doc/administration/monitoring/prometheus/postgres_exporter.md6
-rw-r--r--doc/administration/monitoring/prometheus/redis_exporter.md6
-rw-r--r--doc/administration/monitoring/prometheus/registry_exporter.md6
-rw-r--r--doc/administration/operations/extra_sidekiq_processes.md87
-rw-r--r--doc/administration/operations/ssh_certificates.md6
-rw-r--r--doc/administration/reference_architectures/10k_users.md79
-rw-r--r--doc/administration/reference_architectures/1k_users.md82
-rw-r--r--doc/administration/reference_architectures/25k_users.md79
-rw-r--r--doc/administration/reference_architectures/2k_users.md90
-rw-r--r--doc/administration/reference_architectures/3k_users.md82
-rw-r--r--doc/administration/reference_architectures/50k_users.md79
-rw-r--r--doc/administration/reference_architectures/5k_users.md76
-rw-r--r--doc/administration/reference_architectures/index.md196
-rw-r--r--doc/administration/repository_storage_types.md2
-rw-r--r--doc/administration/troubleshooting/sidekiq.md3
-rw-r--r--doc/api/README.md23
-rw-r--r--doc/api/applications.md2
-rw-r--r--doc/api/commits.md2
-rw-r--r--doc/api/epics.md2
-rw-r--r--doc/api/graphql/reference/gitlab_schema.graphql489
-rw-r--r--doc/api/graphql/reference/gitlab_schema.json1190
-rw-r--r--doc/api/graphql/reference/index.md90
-rw-r--r--doc/api/group_badges.md2
-rw-r--r--doc/api/group_import_export.md15
-rw-r--r--doc/api/groups.md19
-rw-r--r--doc/api/jobs.md4
-rw-r--r--doc/api/managed_licenses.md2
-rw-r--r--doc/api/merge_requests.md2
-rw-r--r--doc/api/packages.md1
-rw-r--r--doc/api/pipeline_schedules.md16
-rw-r--r--doc/api/pipeline_triggers.md6
-rw-r--r--doc/api/project_badges.md2
-rw-r--r--doc/api/project_import_export.md3
-rw-r--r--doc/api/projects.md16
-rw-r--r--doc/api/releases/links.md6
-rw-r--r--doc/api/repository_files.md4
-rw-r--r--doc/api/scim.md14
-rw-r--r--doc/api/settings.md4
-rw-r--r--doc/api/users.md22
-rw-r--r--doc/api/vulnerability_exports.md30
-rw-r--r--doc/ci/docker/using_docker_images.md20
-rw-r--r--doc/ci/examples/devops_and_game_dev_with_gitlab_ci_cd/index.md4
-rw-r--r--doc/ci/examples/test-and-deploy-python-application-to-heroku.md11
-rw-r--r--doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md18
-rw-r--r--doc/ci/large_repositories/index.md6
-rw-r--r--doc/ci/merge_request_pipelines/index.md24
-rw-r--r--doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md14
-rw-r--r--doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md21
-rw-r--r--doc/ci/pipelines/settings.md3
-rw-r--r--doc/ci/variables/predefined_variables.md13
-rw-r--r--doc/ci/yaml/README.md13
-rw-r--r--doc/development/README.md1
-rw-r--r--doc/development/code_review.md15
-rw-r--r--doc/development/documentation/styleguide.md61
-rw-r--r--doc/development/emails.md2
-rw-r--r--doc/development/fe_guide/style/vue.md2
-rw-r--r--doc/development/fe_guide/vue.md2
-rw-r--r--doc/development/fe_guide/vue3_migration.md19
-rw-r--r--doc/development/fe_guide/vuex.md79
-rw-r--r--doc/development/file_storage.md24
-rw-r--r--doc/development/i18n/externalization.md6
-rw-r--r--doc/development/internal_api.md10
-rw-r--r--doc/development/multi_version_compatibility.md62
-rw-r--r--doc/development/namespaces_storage_statistics.md10
-rw-r--r--doc/development/ordering_table_columns.md90
-rw-r--r--doc/development/packages.md6
-rw-r--r--doc/development/pipelines.md3
-rw-r--r--doc/development/polymorphic_associations.md2
-rw-r--r--doc/development/what_requires_downtime.md35
-rw-r--r--doc/install/requirements.md8
-rw-r--r--doc/integration/gitlab.md5
-rw-r--r--doc/integration/img/gitlab_app.pngbin32020 -> 0 bytes
-rw-r--r--doc/integration/jira_development_panel.md7
-rw-r--r--doc/integration/slash_commands.md6
-rw-r--r--doc/integration/sourcegraph.md2
-rw-r--r--doc/raketasks/cleanup.md5
-rw-r--r--doc/security/rack_attack.md28
-rw-r--r--doc/topics/authentication/index.md3
-rw-r--r--doc/topics/autodevops/customize.md2
-rw-r--r--doc/topics/autodevops/index.md16
-rw-r--r--doc/topics/autodevops/stages.md2
-rw-r--r--doc/topics/git/lfs/index.md2
-rw-r--r--doc/topics/git/numerous_undo_possibilities_in_git/index.md12
-rw-r--r--doc/university/training/topics/agile_git.md2
-rw-r--r--doc/user/admin_area/settings/protected_paths.md21
-rw-r--r--doc/user/application_security/container_scanning/index.md32
-rw-r--r--doc/user/application_security/dast/index.md49
-rw-r--r--doc/user/application_security/dependency_scanning/index.md27
-rw-r--r--doc/user/application_security/index.md99
-rw-r--r--doc/user/application_security/sast/analyzers.md2
-rw-r--r--doc/user/application_security/sast/index.md113
-rw-r--r--doc/user/clusters/applications.md3
-rw-r--r--doc/user/compliance/license_compliance/index.md14
-rw-r--r--doc/user/group/clusters/index.md72
-rw-r--r--doc/user/group/epics/img/epic_view_v12.3.pngbin61402 -> 0 bytes
-rw-r--r--doc/user/group/epics/img/epic_view_v13.0.pngbin0 -> 68803 bytes
-rw-r--r--doc/user/group/epics/index.md6
-rw-r--r--doc/user/group/saml_sso/index.md3
-rw-r--r--doc/user/img/gitlab_snippet.pngbin34355 -> 0 bytes
-rw-r--r--doc/user/img/gitlab_snippet_v13_0.pngbin0 -> 28925 bytes
-rw-r--r--doc/user/img/snippet_clone_button_v13_0.pngbin0 -> 33081 bytes
-rw-r--r--doc/user/incident_management/index.md3
-rw-r--r--doc/user/infrastructure/index.md154
-rw-r--r--doc/user/packages/container_registry/img/expiration_policy_app_v13_0.pngbin59340 -> 106289 bytes
-rw-r--r--doc/user/packages/container_registry/index.md16
-rw-r--r--doc/user/packages/maven_repository/index.md2
-rw-r--r--doc/user/packages/nuget_repository/index.md4
-rw-r--r--doc/user/packages/pypi_repository/index.md2
-rw-r--r--doc/user/permissions.md1
-rw-r--r--doc/user/profile/notifications.md22
-rw-r--r--doc/user/profile/personal_access_tokens.md4
-rw-r--r--doc/user/project/clusters/index.md6
-rw-r--r--doc/user/project/clusters/kubernetes_pod_logs.md36
-rw-r--r--doc/user/project/code_owners.md2
-rw-r--r--doc/user/project/import/jira.md9
-rw-r--r--doc/user/project/integrations/generic_alerts.md6
-rw-r--r--doc/user/project/integrations/gitlab_slack_application.md29
-rw-r--r--doc/user/project/integrations/mattermost_slash_commands.md15
-rw-r--r--doc/user/project/integrations/prometheus.md6
-rw-r--r--doc/user/project/integrations/prometheus_library/cloudwatch.md6
-rw-r--r--doc/user/project/integrations/prometheus_library/haproxy.md6
-rw-r--r--doc/user/project/integrations/prometheus_library/index.md6
-rw-r--r--doc/user/project/integrations/prometheus_library/kubernetes.md6
-rw-r--r--doc/user/project/integrations/prometheus_library/nginx.md6
-rw-r--r--doc/user/project/integrations/prometheus_library/nginx_ingress.md6
-rw-r--r--doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md6
-rw-r--r--doc/user/project/integrations/prometheus_units.md6
-rw-r--r--doc/user/project/integrations/webhooks.md2
-rw-r--r--doc/user/project/integrations/youtrack.md4
-rw-r--r--doc/user/project/issues/csv_export.md2
-rw-r--r--doc/user/project/issues/managing_issues.md16
-rw-r--r--doc/user/project/merge_requests/browser_performance_testing.md142
-rw-r--r--doc/user/project/operations/alert_management.md60
-rw-r--r--doc/user/project/operations/error_tracking.md8
-rw-r--r--doc/user/project/operations/feature_flags.md2
-rw-r--r--doc/user/project/operations/img/alert_management_1_v13_0.pngbin0 -> 19152 bytes
-rw-r--r--doc/user/project/operations/img/alert_management_1_v13_1.pngbin0 -> 57133 bytes
-rw-r--r--doc/user/project/operations/img/alert_management_severity_v13_0.pngbin0 -> 10972 bytes
-rw-r--r--doc/user/project/operations/tracing.md6
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md3
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/index.md3
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md3
-rw-r--r--doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md3
-rw-r--r--doc/user/project/pages/getting_started/fork_sample_project.md3
-rw-r--r--doc/user/project/pages/getting_started/new_or_existing_website.md3
-rw-r--r--doc/user/project/pages/getting_started/pages_bundled_template.md3
-rw-r--r--doc/user/project/pages/getting_started_part_four.md3
-rw-r--r--doc/user/project/pages/getting_started_part_one.md3
-rw-r--r--doc/user/project/pages/index.md3
-rw-r--r--doc/user/project/pages/introduction.md3
-rw-r--r--doc/user/project/pages/pages_access_control.md3
-rw-r--r--doc/user/project/repository/x509_signed_commits/index.md37
-rw-r--r--doc/user/project/service_desk.md2
-rw-r--r--doc/user/project/settings/import_export.md17
-rw-r--r--doc/user/project/settings/project_access_tokens.md55
-rw-r--r--doc/user/project/status_page/index.md6
-rw-r--r--doc/user/snippets.md63
-rw-r--r--lib/feature.rb6
-rw-r--r--lib/gitlab/alert_management/alert_params.rb17
-rw-r--r--lib/gitlab/alerting/alert.rb12
-rw-r--r--lib/gitlab/background_migration/backfill_snippet_repositories.rb10
-rw-r--r--lib/gitlab/ci/parsers/accessibility/pa11y.rb2
-rw-r--r--lib/gitlab/ci/reports/accessibility_reports.rb4
-rw-r--r--lib/gitlab/ci/reports/accessibility_reports_comparer.rb55
-rw-r--r--lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml2
-rw-r--r--lib/gitlab/ci/templates/Jobs/Test.gitlab-ci.yml1
-rw-r--r--lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml1
-rw-r--r--lib/gitlab/ci/templates/Security/License-Management.gitlab-ci.yml27
-rw-r--r--lib/gitlab/database/migration_helpers.rb82
-rw-r--r--lib/gitlab/email/handler.rb6
-rw-r--r--lib/gitlab/git/tag.rb21
-rw-r--r--lib/gitlab/git_access_snippet.rb7
-rw-r--r--lib/gitlab/gon_helper.rb2
-rw-r--r--lib/gitlab/group_search_results.rb4
-rw-r--r--lib/gitlab/import_export/after_export_strategies/web_upload_strategy.rb5
-rw-r--r--lib/gitlab/import_export/importer.rb12
-rw-r--r--lib/gitlab/import_export/project/base_task.rb16
-rw-r--r--lib/gitlab/import_export/project/export_task.rb13
-rw-r--r--lib/gitlab/import_export/project/import_task.rb18
-rw-r--r--lib/gitlab/jira_import/issue_serializer.rb33
-rw-r--r--lib/gitlab/jira_import/user_mapper.rb53
-rw-r--r--lib/gitlab/json.rb34
-rw-r--r--lib/gitlab/metrics/samplers/ruby_sampler.rb2
-rw-r--r--lib/gitlab/performance_bar.rb2
-rw-r--r--lib/gitlab/project_search_results.rb36
-rw-r--r--lib/gitlab/prometheus_client.rb2
-rw-r--r--lib/gitlab/regex.rb6
-rw-r--r--lib/gitlab/request_context.rb2
-rw-r--r--lib/gitlab/search_results.rb13
-rw-r--r--lib/gitlab/sidekiq_logging/json_formatter.rb15
-rw-r--r--lib/gitlab/sidekiq_middleware/admin_mode/client.rb8
-rw-r--r--lib/gitlab/snippet_search_results.rb6
-rw-r--r--lib/gitlab/testing/clear_process_memory_cache_middleware.rb (renamed from lib/gitlab/testing/clear_thread_memory_cache_middleware.rb)4
-rw-r--r--lib/gitlab/thread_memory_cache.rb15
-rw-r--r--lib/gitlab/usage_data.rb24
-rw-r--r--lib/gitlab/user_access_snippet.rb14
-rw-r--r--lib/gitlab/x509/signature.rb4
-rw-r--r--lib/gitlab/x509/tag.rb41
-rw-r--r--lib/gitlab_danger.rb1
-rw-r--r--lib/mattermost/client.rb2
-rw-r--r--lib/tasks/gitlab/gitaly.rake5
-rw-r--r--locale/am_ET/gitlab.po1007
-rw-r--r--locale/ar_SA/gitlab.po1027
-rw-r--r--locale/bg/gitlab.po1011
-rw-r--r--locale/bn_BD/gitlab.po1007
-rw-r--r--locale/bn_IN/gitlab.po1007
-rw-r--r--locale/bs_BA/gitlab.po1216
-rw-r--r--locale/ca_ES/gitlab.po1011
-rw-r--r--locale/cs_CZ/gitlab.po1017
-rw-r--r--locale/cy_GB/gitlab.po1027
-rw-r--r--locale/da_DK/gitlab.po1007
-rw-r--r--locale/de/gitlab.po1069
-rw-r--r--locale/el_GR/gitlab.po1007
-rw-r--r--locale/eo/gitlab.po1007
-rw-r--r--locale/es/gitlab.po1135
-rw-r--r--locale/et_EE/gitlab.po1007
-rw-r--r--locale/fa_IR/gitlab.po1007
-rw-r--r--locale/fi_FI/gitlab.po1007
-rw-r--r--locale/fil_PH/gitlab.po1007
-rw-r--r--locale/fr/gitlab.po1049
-rw-r--r--locale/gitlab.pot291
-rw-r--r--locale/gl_ES/gitlab.po1007
-rw-r--r--locale/he_IL/gitlab.po1017
-rw-r--r--locale/hi_IN/gitlab.po1007
-rw-r--r--locale/hr_HR/gitlab.po1012
-rw-r--r--locale/hu_HU/gitlab.po1007
-rw-r--r--locale/id_ID/gitlab.po1002
-rw-r--r--locale/it/gitlab.po1007
-rw-r--r--locale/ja/gitlab.po3320
-rw-r--r--locale/ka_GE/gitlab.po1007
-rw-r--r--locale/ko/gitlab.po1022
-rw-r--r--locale/ku_TR/gitlab.po1007
-rw-r--r--locale/mn_MN/gitlab.po1007
-rw-r--r--locale/nb_NO/gitlab.po1007
-rw-r--r--locale/nl_NL/gitlab.po1011
-rw-r--r--locale/pa_IN/gitlab.po1007
-rw-r--r--locale/pl_PL/gitlab.po1017
-rw-r--r--locale/pt_BR/gitlab.po1053
-rw-r--r--locale/pt_PT/gitlab.po1011
-rw-r--r--locale/ro_RO/gitlab.po1012
-rw-r--r--locale/ru/gitlab.po3775
-rw-r--r--locale/sk_SK/gitlab.po1017
-rw-r--r--locale/sl_SI/gitlab.po1017
-rw-r--r--locale/sq_AL/gitlab.po1007
-rw-r--r--locale/sr_CS/gitlab.po1012
-rw-r--r--locale/sr_SP/gitlab.po1012
-rw-r--r--locale/sv_SE/gitlab.po1007
-rw-r--r--locale/sw_KE/gitlab.po1007
-rw-r--r--locale/tr_TR/gitlab.po1055
-rw-r--r--locale/uk/gitlab.po1583
-rw-r--r--locale/ur_PK/gitlab.po1007
-rw-r--r--locale/uz_UZ/gitlab.po1007
-rw-r--r--locale/vi_VN/gitlab.po1002
-rw-r--r--locale/zh_CN/gitlab.po1156
-rw-r--r--locale/zh_HK/gitlab.po1002
-rw-r--r--locale/zh_TW/gitlab.po1004
-rw-r--r--package.json9
-rw-r--r--qa/qa.rb7
-rw-r--r--qa/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml5
-rw-r--r--qa/qa/page/component/project/templates.rb15
-rw-r--r--qa/qa/page/dashboard/snippet/new.rb11
-rw-r--r--qa/qa/page/dashboard/snippet/show.rb23
-rw-r--r--qa/qa/page/project/new.rb6
-rw-r--r--qa/qa/page/project/operations/kubernetes/index.rb4
-rw-r--r--qa/qa/page/project/operations/metrics/show.rb6
-rw-r--r--qa/qa/page/project/settings/ci_cd.rb7
-rw-r--r--qa/qa/page/project/settings/general_pipelines.rb23
-rw-r--r--qa/qa/page/project/settings/incidents.rb37
-rw-r--r--qa/qa/page/project/settings/operations.rb23
-rw-r--r--qa/qa/page/project/sub_menus/operations.rb6
-rw-r--r--qa/qa/page/project/sub_menus/settings.rb9
-rw-r--r--qa/qa/resource/project.rb10
-rw-r--r--qa/qa/specs/features/browser_ui/3_create/repository/move_project_create_fork_spec.rb4
-rw-r--r--qa/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb2
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/testing/view_code_coverage_spec.rb62
-rw-r--r--qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_dependent_relationship_spec.rb2
-rw-r--r--qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_independent_relationship_spec.rb2
-rw-r--r--qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb4
-rw-r--r--qa/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb2
-rw-r--r--scripts/rspec_helpers.sh6
-rw-r--r--spec/controllers/concerns/issuable_actions_spec.rb2
-rw-r--r--spec/controllers/groups/group_links_controller_spec.rb36
-rw-r--r--spec/controllers/projects/alert_management_controller_spec.rb30
-rw-r--r--spec/controllers/projects/issues_controller_spec.rb27
-rw-r--r--spec/controllers/projects/pages_domains_controller_spec.rb16
-rw-r--r--spec/controllers/projects/pipelines_controller_spec.rb66
-rw-r--r--spec/controllers/projects/service_hook_logs_controller_spec.rb2
-rw-r--r--spec/controllers/registrations_controller_spec.rb18
-rw-r--r--spec/factories/alert_management/alerts.rb18
-rw-r--r--spec/factories/ci/freeze_periods.rb10
-rw-r--r--spec/factories/ci/pipelines.rb8
-rw-r--r--spec/factories/groups.rb10
-rw-r--r--spec/factories/merge_requests.rb12
-rw-r--r--spec/factories/notes.rb1
-rw-r--r--spec/features/commits/user_view_commits_spec.rb22
-rw-r--r--spec/features/global_search_spec.rb2
-rw-r--r--spec/features/groups/members/manage_groups_spec.rb85
-rw-r--r--spec/features/groups/members/master_adds_member_with_expiration_date_spec.rb68
-rw-r--r--spec/features/issues/filtered_search/filter_issues_spec.rb47
-rw-r--r--spec/features/issues/filtered_search/visual_tokens_spec.rb16
-rw-r--r--spec/features/projects/pages_spec.rb11
-rw-r--r--spec/finders/alert_management/alerts_finder_spec.rb159
-rw-r--r--spec/finders/issues_finder_spec.rb50
-rw-r--r--spec/finders/releases_finder_spec.rb11
-rw-r--r--spec/fixtures/api/schemas/entities/accessibility_error.json40
-rw-r--r--spec/fixtures/api/schemas/entities/accessibility_reports_comparer.json43
-rw-r--r--spec/frontend/alert_management/components/alert_management_detail_spec.js78
-rw-r--r--spec/frontend/alert_management/components/alert_management_list_spec.js70
-rw-r--r--spec/frontend/api_spec.js2
-rw-r--r--spec/frontend/blob/components/__snapshots__/blob_header_filepath_spec.js.snap3
-rw-r--r--spec/frontend/blob/components/blob_content_spec.js2
-rw-r--r--spec/frontend/blob/components/blob_header_filepath_spec.js2
-rw-r--r--spec/frontend/blob/components/blob_header_spec.js2
-rw-r--r--spec/frontend/blob/pipeline_tour_success_modal_spec.js2
-rw-r--r--spec/frontend/blob/suggest_gitlab_ci_yml/components/popover_spec.js9
-rw-r--r--spec/frontend/boards/board_list_spec.js2
-rw-r--r--spec/frontend/clusters/components/knative_domain_editor_spec.js2
-rw-r--r--spec/frontend/code_navigation/store/actions_spec.js10
-rw-r--r--spec/frontend/commit/pipelines/pipelines_spec.js44
-rw-r--r--spec/frontend/design_management/components/__snapshots__/design_note_pin_spec.js.snap42
-rw-r--r--spec/frontend/design_management/components/__snapshots__/design_presentation_spec.js.snap104
-rw-r--r--spec/frontend/design_management/components/__snapshots__/design_scaler_spec.js.snap115
-rw-r--r--spec/frontend/design_management/components/__snapshots__/image_spec.js.snap68
-rw-r--r--spec/frontend/design_management/components/delete_button_spec.js51
-rw-r--r--spec/frontend/design_management/components/design_note_pin_spec.js49
-rw-r--r--spec/frontend/design_management/components/design_notes/__snapshots__/design_note_spec.js.snap71
-rw-r--r--spec/frontend/design_management/components/design_notes/__snapshots__/design_reply_form_spec.js.snap15
-rw-r--r--spec/frontend/design_management/components/design_notes/design_discussion_spec.js121
-rw-r--r--spec/frontend/design_management/components/design_notes/design_note_spec.js147
-rw-r--r--spec/frontend/design_management/components/design_notes/design_reply_form_spec.js182
-rw-r--r--spec/frontend/design_management/components/design_overlay_spec.js343
-rw-r--r--spec/frontend/design_management/components/design_presentation_spec.js546
-rw-r--r--spec/frontend/design_management/components/design_scaler_spec.js67
-rw-r--r--spec/frontend/design_management/components/image_spec.js133
-rw-r--r--spec/frontend/design_management/components/list/__snapshots__/item_spec.js.snap472
-rw-r--r--spec/frontend/design_management/components/list/item_spec.js168
-rw-r--r--spec/frontend/design_management/components/toolbar/__snapshots__/index_spec.js.snap61
-rw-r--r--spec/frontend/design_management/components/toolbar/__snapshots__/pagination_button_spec.js.snap28
-rw-r--r--spec/frontend/design_management/components/toolbar/__snapshots__/pagination_spec.js.snap29
-rw-r--r--spec/frontend/design_management/components/toolbar/index_spec.js123
-rw-r--r--spec/frontend/design_management/components/toolbar/pagination_button_spec.js61
-rw-r--r--spec/frontend/design_management/components/toolbar/pagination_spec.js79
-rw-r--r--spec/frontend/design_management/components/upload/__snapshots__/button_spec.js.snap79
-rw-r--r--spec/frontend/design_management/components/upload/__snapshots__/design_dropzone_spec.js.snap455
-rw-r--r--spec/frontend/design_management/components/upload/__snapshots__/design_version_dropdown_spec.js.snap111
-rw-r--r--spec/frontend/design_management/components/upload/button_spec.js59
-rw-r--r--spec/frontend/design_management/components/upload/design_dropzone_spec.js132
-rw-r--r--spec/frontend/design_management/components/upload/design_version_dropdown_spec.js114
-rw-r--r--spec/frontend/design_management/components/upload/mock_data/all_versions.js14
-rw-r--r--spec/frontend/design_management/mock_data/all_versions.js8
-rw-r--r--spec/frontend/design_management/mock_data/design.js56
-rw-r--r--spec/frontend/design_management/mock_data/designs.js17
-rw-r--r--spec/frontend/design_management/mock_data/no_designs.js11
-rw-r--r--spec/frontend/design_management/mock_data/notes.js32
-rw-r--r--spec/frontend/design_management/pages/__snapshots__/index_spec.js.snap263
-rw-r--r--spec/frontend/design_management/pages/design/__snapshots__/index_spec.js.snap161
-rw-r--r--spec/frontend/design_management/pages/design/index_spec.js298
-rw-r--r--spec/frontend/design_management/pages/index_spec.js533
-rw-r--r--spec/frontend/design_management/router_spec.js81
-rw-r--r--spec/frontend/design_management/utils/cache_update_spec.js44
-rw-r--r--spec/frontend/design_management/utils/design_management_utils_spec.js176
-rw-r--r--spec/frontend/design_management/utils/error_messages_spec.js62
-rw-r--r--spec/frontend/design_management/utils/tracking_spec.js51
-rw-r--r--spec/frontend/diffs/components/diff_content_spec.js2
-rw-r--r--spec/frontend/diffs/components/diff_discussions_spec.js2
-rw-r--r--spec/frontend/diffs/components/diff_expansion_cell_spec.js2
-rw-r--r--spec/frontend/diffs/components/diff_gutter_avatars_spec.js2
-rw-r--r--spec/frontend/diffs/components/diff_line_note_form_spec.js2
-rw-r--r--spec/frontend/diffs/components/inline_diff_expansion_row_spec.js2
-rw-r--r--spec/frontend/diffs/components/inline_diff_view_spec.js4
-rw-r--r--spec/frontend/diffs/components/parallel_diff_expansion_row_spec.js2
-rw-r--r--spec/frontend/diffs/components/parallel_diff_view_spec.js2
-rw-r--r--spec/frontend/diffs/store/getters_spec.js4
-rw-r--r--spec/frontend/diffs/store/utils_spec.js6
-rw-r--r--spec/frontend/editor/editor_lite_spec.js (renamed from spec/javascripts/editor/editor_lite_spec.js)37
-rw-r--r--spec/frontend/filtered_search/dropdown_utils_spec.js (renamed from spec/javascripts/filtered_search/dropdown_utils_spec.js)4
-rw-r--r--spec/frontend/filtered_search/filtered_search_tokenizer_spec.js (renamed from spec/javascripts/filtered_search/filtered_search_tokenizer_spec.js)0
-rw-r--r--spec/frontend/filtered_search/issues_filtered_search_token_keys_spec.js (renamed from spec/javascripts/filtered_search/issues_filtered_search_token_keys_spec.js)0
-rw-r--r--spec/frontend/filtered_search/services/recent_searches_service_spec.js (renamed from spec/javascripts/filtered_search/services/recent_searches_service_spec.js)45
-rw-r--r--spec/frontend/filtered_search/visual_token_value_spec.js (renamed from spec/javascripts/filtered_search/visual_token_value_spec.js)42
-rw-r--r--spec/frontend/groups/components/app_spec.js10
-rw-r--r--spec/frontend/groups/components/group_folder_spec.js2
-rw-r--r--spec/frontend/groups/components/group_item_spec.js8
-rw-r--r--spec/frontend/groups/components/item_actions_spec.js4
-rw-r--r--spec/frontend/groups/components/item_stats_spec.js25
-rw-r--r--spec/frontend/groups/components/item_stats_value_spec.js2
-rw-r--r--spec/frontend/groups/store/groups_store_spec.js4
-rw-r--r--spec/frontend/helpers/event_hub_factory_spec.js36
-rw-r--r--spec/frontend/helpers/set_window_location_helper.js40
-rw-r--r--spec/frontend/helpers/set_window_location_helper_spec.js40
-rw-r--r--spec/frontend/ide/components/commit_sidebar/radio_group_spec.js (renamed from spec/javascripts/ide/components/commit_sidebar/radio_group_spec.js)13
-rw-r--r--spec/frontend/ide/components/file_row_extra_spec.js (renamed from spec/javascripts/ide/components/file_row_extra_spec.js)8
-rw-r--r--spec/frontend/ide/components/ide_review_spec.js (renamed from spec/javascripts/ide/components/ide_review_spec.js)26
-rw-r--r--spec/frontend/ide/components/ide_spec.js4
-rw-r--r--spec/frontend/ide/components/ide_status_bar_spec.js (renamed from spec/javascripts/ide/components/ide_status_bar_spec.js)24
-rw-r--r--spec/frontend/ide/components/ide_tree_list_spec.js2
-rw-r--r--spec/frontend/ide/components/ide_tree_spec.js2
-rw-r--r--spec/frontend/ide/components/merge_requests/item_spec.js (renamed from spec/javascripts/ide/components/merge_requests/item_spec.js)2
-rw-r--r--spec/frontend/ide/components/new_dropdown/index_spec.js12
-rw-r--r--spec/frontend/ide/components/new_dropdown/modal_spec.js87
-rw-r--r--spec/frontend/ide/components/new_dropdown/upload_spec.js (renamed from spec/javascripts/ide/components/new_dropdown/upload_spec.js)16
-rw-r--r--spec/frontend/ide/lib/editor_spec.js14
-rw-r--r--spec/frontend/ide/lib/languages/vue_spec.js92
-rw-r--r--spec/frontend/ide/stores/mutations_spec.js17
-rw-r--r--spec/frontend/ide/utils_spec.js77
-rw-r--r--spec/frontend/import_projects/components/import_projects_table_spec.js5
-rw-r--r--spec/frontend/import_projects/components/provider_repo_table_row_spec.js4
-rw-r--r--spec/frontend/integrations/edit/components/active_toggle_spec.js3
-rw-r--r--spec/frontend/integrations/edit/components/integration_form_spec.js81
-rw-r--r--spec/frontend/integrations/edit/components/jira_trigger_fields_spec.js94
-rw-r--r--spec/frontend/issue_show/components/description_spec.js7
-rw-r--r--spec/frontend/jobs/components/artifacts_block_spec.js (renamed from spec/javascripts/jobs/components/artifacts_block_spec.js)0
-rw-r--r--spec/frontend/jobs/components/commit_block_spec.js (renamed from spec/javascripts/jobs/components/commit_block_spec.js)2
-rw-r--r--spec/frontend/jobs/components/empty_state_spec.js (renamed from spec/javascripts/jobs/components/empty_state_spec.js)0
-rw-r--r--spec/frontend/jobs/components/environments_block_spec.js (renamed from spec/javascripts/jobs/components/environments_block_spec.js)0
-rw-r--r--spec/frontend/jobs/components/job_container_item_spec.js (renamed from spec/javascripts/jobs/components/job_container_item_spec.js)12
-rw-r--r--spec/frontend/jobs/components/job_log_spec.js (renamed from spec/javascripts/jobs/components/job_log_spec.js)2
-rw-r--r--spec/frontend/jobs/components/jobs_container_spec.js (renamed from spec/javascripts/jobs/components/jobs_container_spec.js)0
-rw-r--r--spec/frontend/jobs/components/log/line_header_spec.js2
-rw-r--r--spec/frontend/jobs/components/manual_variables_form_spec.js (renamed from spec/javascripts/jobs/components/manual_variables_form_spec.js)0
-rw-r--r--spec/frontend/jobs/components/sidebar_spec.js (renamed from spec/javascripts/jobs/components/sidebar_spec.js)7
-rw-r--r--spec/frontend/jobs/components/stages_dropdown_spec.js (renamed from spec/javascripts/jobs/components/stages_dropdown_spec.js)2
-rw-r--r--spec/frontend/jobs/components/trigger_block_spec.js (renamed from spec/javascripts/jobs/components/trigger_block_spec.js)0
-rw-r--r--spec/frontend/jobs/components/unmet_prerequisites_block_spec.js (renamed from spec/javascripts/jobs/components/unmet_prerequisites_block_spec.js)0
-rw-r--r--spec/frontend/jobs/mixins/delayed_job_mixin_spec.js (renamed from spec/javascripts/jobs/mixins/delayed_job_mixin_spec.js)52
-rw-r--r--spec/frontend/jobs/store/actions_spec.js (renamed from spec/javascripts/jobs/store/actions_spec.js)20
-rw-r--r--spec/frontend/jobs/store/helpers.js (renamed from spec/javascripts/jobs/store/helpers.js)0
-rw-r--r--spec/frontend/jobs/store/mutations_spec.js2
-rw-r--r--spec/frontend/lib/utils/common_utils_spec.js2
-rw-r--r--spec/frontend/lib/utils/url_utility_spec.js6
-rw-r--r--spec/frontend/milestones/mock_data.js82
-rw-r--r--spec/frontend/milestones/project_milestone_combobox_spec.js150
-rw-r--r--spec/frontend/monitoring/components/dashboard_panel_spec.js16
-rw-r--r--spec/frontend/monitoring/components/dashboard_spec.js170
-rw-r--r--spec/frontend/monitoring/store/actions_spec.js60
-rw-r--r--spec/frontend/monitoring/store/mutations_spec.js14
-rw-r--r--spec/frontend/monitoring/store/variable_mapping_spec.js150
-rw-r--r--spec/frontend/monitoring/utils_spec.js184
-rw-r--r--spec/frontend/notebook/cells/code_spec.js (renamed from spec/javascripts/notebook/cells/code_spec.js)6
-rw-r--r--spec/frontend/notebook/cells/markdown_spec.js (renamed from spec/javascripts/notebook/cells/markdown_spec.js)2
-rw-r--r--spec/frontend/notebook/cells/output/html_sanitize_tests.js (renamed from spec/javascripts/notebook/cells/output/html_sanitize_tests.js)0
-rw-r--r--spec/frontend/notebook/cells/output/html_spec.js (renamed from spec/javascripts/notebook/cells/output/html_spec.js)0
-rw-r--r--spec/frontend/notebook/cells/output/index_spec.js (renamed from spec/javascripts/notebook/cells/output/index_spec.js)10
-rw-r--r--spec/frontend/notebook/cells/prompt_spec.js (renamed from spec/javascripts/notebook/cells/prompt_spec.js)4
-rw-r--r--spec/frontend/notebook/index_spec.js (renamed from spec/javascripts/notebook/index_spec.js)6
-rw-r--r--spec/frontend/notes/components/comment_form_spec.js31
-rw-r--r--spec/frontend/notes/components/note_header_spec.js12
-rw-r--r--spec/frontend/notes/components/noteable_discussion_spec.js2
-rw-r--r--spec/frontend/notes/old_notes_spec.js2
-rw-r--r--spec/frontend/notes/stores/collapse_utils_spec.js4
-rw-r--r--spec/frontend/notes/stores/mutation_spec.js20
-rw-r--r--spec/frontend/pipelines/components/pipelines_filtered_search_spec.js74
-rw-r--r--spec/frontend/pipelines/graph/stage_column_component_spec.js2
-rw-r--r--spec/frontend/pipelines/header_component_spec.js116
-rw-r--r--spec/frontend/pipelines/linked_pipelines_mock.json (renamed from spec/javascripts/pipelines/linked_pipelines_mock.json)3
-rw-r--r--spec/frontend/pipelines/mock_data.js59
-rw-r--r--spec/frontend/pipelines/pipelines_actions_spec.js142
-rw-r--r--spec/frontend/pipelines/pipelines_spec.js30
-rw-r--r--spec/frontend/pipelines/pipelines_table_row_spec.js2
-rw-r--r--spec/frontend/pipelines/stage_spec.js2
-rw-r--r--spec/frontend/pipelines/stores/pipeline_store_spec.js (renamed from spec/javascripts/pipelines/stores/pipeline_store.js)40
-rw-r--r--spec/frontend/pipelines/test_reports/stores/mutations_spec.js6
-rw-r--r--spec/frontend/pipelines/test_reports/test_summary_spec.js18
-rw-r--r--spec/frontend/pipelines/tokens/pipeline_trigger_author_token_spec.js63
-rw-r--r--spec/frontend/releases/components/app_edit_spec.js9
-rw-r--r--spec/frontend/releases/stores/modules/detail/actions_spec.js10
-rw-r--r--spec/frontend/reports/components/grouped_test_reports_app_spec.js (renamed from spec/javascripts/reports/components/grouped_test_reports_app_spec.js)42
-rw-r--r--spec/frontend/reports/components/modal_open_name_spec.js (renamed from spec/javascripts/reports/components/modal_open_name_spec.js)4
-rw-r--r--spec/frontend/reports/components/modal_spec.js (renamed from spec/javascripts/reports/components/modal_spec.js)0
-rw-r--r--spec/frontend/reports/components/summary_row_spec.js (renamed from spec/javascripts/reports/components/summary_row_spec.js)2
-rw-r--r--spec/frontend/reports/components/test_issue_body_spec.js (renamed from spec/javascripts/reports/components/test_issue_body_spec.js)4
-rw-r--r--spec/frontend/reports/mock_data/mock_data.js (renamed from spec/javascripts/reports/mock_data/mock_data.js)0
-rw-r--r--spec/frontend/reports/mock_data/new_and_fixed_failures_report.json (renamed from spec/javascripts/reports/mock_data/new_and_fixed_failures_report.json)0
-rw-r--r--spec/frontend/reports/mock_data/new_errors_report.json (renamed from spec/javascripts/reports/mock_data/new_errors_report.json)0
-rw-r--r--spec/frontend/reports/mock_data/new_failures_report.json (renamed from spec/javascripts/reports/mock_data/new_failures_report.json)0
-rw-r--r--spec/frontend/reports/mock_data/no_failures_report.json (renamed from spec/javascripts/reports/mock_data/no_failures_report.json)0
-rw-r--r--spec/frontend/reports/mock_data/resolved_failures.json (renamed from spec/javascripts/reports/mock_data/resolved_failures.json)0
-rw-r--r--spec/frontend/reports/store/actions_spec.js (renamed from spec/javascripts/reports/store/actions_spec.js)4
-rw-r--r--spec/frontend/reports/store/mutations_spec.js (renamed from spec/javascripts/reports/store/mutations_spec.js)0
-rw-r--r--spec/frontend/sidebar/__snapshots__/confidential_issue_sidebar_spec.js.snap12
-rw-r--r--spec/frontend/sidebar/assignees_realtime_spec.js4
-rw-r--r--spec/frontend/sidebar/confidential_issue_sidebar_spec.js25
-rw-r--r--spec/frontend/snippets/components/__snapshots__/snippet_description_view_spec.js.snap16
-rw-r--r--spec/frontend/snippets/components/snippet_blob_view_spec.js4
-rw-r--r--spec/frontend/snippets/components/snippet_description_view_spec.js27
-rw-r--r--spec/frontend/snippets/components/snippet_title_spec.js6
-rw-r--r--spec/frontend/static_site_editor/graphql/resolvers/file_spec.js25
-rw-r--r--spec/frontend/static_site_editor/pages/home_spec.js9
-rw-r--r--spec/frontend/tracking_spec.js5
-rw-r--r--spec/frontend/vue_mr_widget/components/mr_collapsible_extension_spec.js4
-rw-r--r--spec/frontend/vue_mr_widget/components/mr_widget_pipeline_container_spec.js2
-rw-r--r--spec/frontend/vue_shared/components/__snapshots__/clone_dropdown_spec.js.snap14
-rw-r--r--spec/frontend/vue_shared/components/blob_viewers/__snapshots__/simple_viewer_spec.js.snap3
-rw-r--r--spec/frontend/vue_shared/components/blob_viewers/rich_viewer_spec.js5
-rw-r--r--spec/frontend/vue_shared/components/file_row_spec.js8
-rw-r--r--spec/frontend/vue_shared/components/issue/issue_milestone_spec.js44
-rw-r--r--spec/frontend/vue_shared/components/markdown/field_view_spec.js26
-rw-r--r--spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_button_spec.js15
-rw-r--r--spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js2
-rw-r--r--spec/graphql/mutations/alert_management/update_alert_status_spec.rb4
-rw-r--r--spec/graphql/mutations/issues/set_confidential_spec.rb2
-rw-r--r--spec/graphql/mutations/issues/set_due_date_spec.rb2
-rw-r--r--spec/graphql/mutations/merge_requests/set_labels_spec.rb2
-rw-r--r--spec/graphql/mutations/merge_requests/set_locked_spec.rb2
-rw-r--r--spec/graphql/mutations/merge_requests/set_milestone_spec.rb2
-rw-r--r--spec/graphql/mutations/merge_requests/set_subscription_spec.rb2
-rw-r--r--spec/graphql/mutations/merge_requests/set_wip_spec.rb2
-rw-r--r--spec/graphql/mutations/todos/mark_all_done_spec.rb2
-rw-r--r--spec/graphql/mutations/todos/mark_done_spec.rb2
-rw-r--r--spec/graphql/mutations/todos/restore_spec.rb2
-rw-r--r--spec/graphql/resolvers/alert_management_alert_resolver_spec.rb20
-rw-r--r--spec/graphql/resolvers/projects_resolver_spec.rb77
-rw-r--r--spec/graphql/resolvers/release_resolver_spec.rb51
-rw-r--r--spec/graphql/resolvers/releases_resolver_spec.rb42
-rw-r--r--spec/graphql/types/alert_management/alert_type_spec.rb4
-rw-r--r--spec/graphql/types/alert_management/severity_enum_spec.rb2
-rw-r--r--spec/graphql/types/alert_management/status_enum_spec.rb19
-rw-r--r--spec/graphql/types/award_emojis/award_emoji_type_spec.rb6
-rw-r--r--spec/graphql/types/blob_viewers/type_enum_spec.rb2
-rw-r--r--spec/graphql/types/board_list_type_spec.rb2
-rw-r--r--spec/graphql/types/board_type_spec.rb4
-rw-r--r--spec/graphql/types/ci/detailed_status_type_spec.rb2
-rw-r--r--spec/graphql/types/ci/pipeline_type_spec.rb4
-rw-r--r--spec/graphql/types/commit_type_spec.rb4
-rw-r--r--spec/graphql/types/diff_refs_type_spec.rb10
-rw-r--r--spec/graphql/types/environment_type_spec.rb4
-rw-r--r--spec/graphql/types/error_tracking/sentry_detailed_error_type_spec.rb4
-rw-r--r--spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb4
-rw-r--r--spec/graphql/types/error_tracking/sentry_error_stack_trace_entry_type_spec.rb2
-rw-r--r--spec/graphql/types/error_tracking/sentry_error_stack_trace_type_spec.rb4
-rw-r--r--spec/graphql/types/error_tracking/sentry_error_type_spec.rb2
-rw-r--r--spec/graphql/types/grafana_integration_type_spec.rb6
-rw-r--r--spec/graphql/types/group_type_spec.rb6
-rw-r--r--spec/graphql/types/issuable_sort_enum_spec.rb2
-rw-r--r--spec/graphql/types/issuable_state_enum_spec.rb2
-rw-r--r--spec/graphql/types/issue_sort_enum_spec.rb2
-rw-r--r--spec/graphql/types/issue_state_enum_spec.rb2
-rw-r--r--spec/graphql/types/issue_type_spec.rb8
-rw-r--r--spec/graphql/types/jira_import_type_spec.rb2
-rw-r--r--spec/graphql/types/label_type_spec.rb2
-rw-r--r--spec/graphql/types/merge_request_state_enum_spec.rb2
-rw-r--r--spec/graphql/types/merge_request_type_spec.rb6
-rw-r--r--spec/graphql/types/metadata_type_spec.rb4
-rw-r--r--spec/graphql/types/metrics/dashboard_type_spec.rb2
-rw-r--r--spec/graphql/types/metrics/dashboards/annotation_type_spec.rb4
-rw-r--r--spec/graphql/types/milestone_type_spec.rb4
-rw-r--r--spec/graphql/types/namespace_type_spec.rb4
-rw-r--r--spec/graphql/types/notes/discussion_type_spec.rb4
-rw-r--r--spec/graphql/types/notes/note_type_spec.rb4
-rw-r--r--spec/graphql/types/notes/noteable_type_spec.rb2
-rw-r--r--spec/graphql/types/permission_types/merge_request_type_spec.rb2
-rw-r--r--spec/graphql/types/project_type_spec.rb22
-rw-r--r--spec/graphql/types/projects/base_service_type_spec.rb4
-rw-r--r--spec/graphql/types/projects/jira_service_type_spec.rb4
-rw-r--r--spec/graphql/types/projects/service_type_spec.rb2
-rw-r--r--spec/graphql/types/projects/services_enum_spec.rb2
-rw-r--r--spec/graphql/types/release_type_spec.rb37
-rw-r--r--spec/graphql/types/repository_type_spec.rb8
-rw-r--r--spec/graphql/types/root_storage_statistics_type_spec.rb4
-rw-r--r--spec/graphql/types/snippet_type_spec.rb2
-rw-r--r--spec/graphql/types/time_type_spec.rb2
-rw-r--r--spec/graphql/types/todo_type_spec.rb2
-rw-r--r--spec/graphql/types/tree/blob_type_spec.rb4
-rw-r--r--spec/graphql/types/tree/submodule_type_spec.rb4
-rw-r--r--spec/graphql/types/tree/tree_entry_type_spec.rb4
-rw-r--r--spec/graphql/types/tree/tree_type_spec.rb4
-rw-r--r--spec/graphql/types/tree/type_enum_spec.rb2
-rw-r--r--spec/graphql/types/user_type_spec.rb4
-rw-r--r--spec/helpers/projects/alert_management_helper_spec.rb65
-rw-r--r--spec/helpers/releases_helper_spec.rb4
-rw-r--r--spec/helpers/x509_helper_spec.rb18
-rw-r--r--spec/javascripts/diffs/create_diffs_store.js5
-rw-r--r--spec/javascripts/diffs/mock_data/diff_discussions.js5
-rw-r--r--spec/javascripts/diffs/mock_data/diff_file.js5
-rw-r--r--spec/javascripts/diffs/mock_data/diff_file_unreadable.js5
-rw-r--r--spec/javascripts/diffs/mock_data/diff_with_commit.js7
-rw-r--r--spec/javascripts/diffs/mock_data/merge_request_diffs.js7
-rw-r--r--spec/javascripts/emoji_spec.js25
-rw-r--r--spec/javascripts/gl_dropdown_spec.js22
-rw-r--r--spec/javascripts/helpers/init_vue_mr_page_helper.js2
-rw-r--r--spec/javascripts/image_diff/image_badge_spec.js18
-rw-r--r--spec/javascripts/pipelines/header_component_spec.js108
-rw-r--r--spec/javascripts/pipelines/mock_data.js423
-rw-r--r--spec/javascripts/pipelines/pipelines_actions_spec.js128
-rw-r--r--spec/javascripts/pipelines/stores/pipeline.json167
-rw-r--r--spec/javascripts/pipelines/stores/pipeline_with_triggered.json381
-rw-r--r--spec/javascripts/pipelines/stores/pipeline_with_triggered_by.json379
-rw-r--r--spec/javascripts/pipelines/stores/pipeline_with_triggered_triggered_by.json452
-rw-r--r--spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js4
-rw-r--r--spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js13
-rw-r--r--spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js1
-rw-r--r--spec/javascripts/vue_shared/components/diff_viewer/diff_viewer_spec.js51
-rw-r--r--spec/javascripts/vue_shared/components/markdown/toolbar_spec.js7
-rw-r--r--spec/javascripts/vue_shared/components/stacked_progress_bar_spec.js21
-rw-r--r--spec/lib/feature_spec.rb8
-rw-r--r--spec/lib/gitlab/alert_management/alert_params_spec.rb39
-rw-r--r--spec/lib/gitlab/alerting/alert_spec.rb24
-rw-r--r--spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb14
-rw-r--r--spec/lib/gitlab/ci/parsers/accessibility/pa11y_spec.rb1
-rw-r--r--spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb270
-rw-r--r--spec/lib/gitlab/ci/reports/accessibility_reports_spec.rb34
-rw-r--r--spec/lib/gitlab/database/migration_helpers_spec.rb196
-rw-r--r--spec/lib/gitlab/email/handler_spec.rb12
-rw-r--r--spec/lib/gitlab/git/tag_spec.rb30
-rw-r--r--spec/lib/gitlab/git_access_snippet_spec.rb140
-rw-r--r--spec/lib/gitlab/import_export/all_models.yml1
-rw-r--r--spec/lib/gitlab/import_export/importer_spec.rb76
-rw-r--r--spec/lib/gitlab/import_export/project/export_task_spec.rb39
-rw-r--r--spec/lib/gitlab/import_export/project/import_task_spec.rb47
-rw-r--r--spec/lib/gitlab/jira_import/issue_serializer_spec.rb32
-rw-r--r--spec/lib/gitlab/jira_import/user_mapper_spec.rb80
-rw-r--r--spec/lib/gitlab/json_spec.rb108
-rw-r--r--spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb1
-rw-r--r--spec/lib/gitlab/performance_bar_spec.rb2
-rw-r--r--spec/lib/gitlab/project_search_results_spec.rb113
-rw-r--r--spec/lib/gitlab/regex_spec.rb33
-rw-r--r--spec/lib/gitlab/search_results_spec.rb10
-rw-r--r--spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb23
-rw-r--r--spec/lib/gitlab/snippet_search_results_spec.rb10
-rw-r--r--spec/lib/gitlab/throttle_spec.rb78
-rw-r--r--spec/lib/gitlab/usage_data_spec.rb14
-rw-r--r--spec/lib/gitlab/user_access_snippet_spec.rb52
-rw-r--r--spec/lib/gitlab/x509/signature_spec.rb160
-rw-r--r--spec/lib/gitlab/x509/tag_spec.rb42
-rw-r--r--spec/models/alert_management/alert_spec.rb195
-rw-r--r--spec/models/ci/freeze_period_spec.rb42
-rw-r--r--spec/models/ci/pipeline_schedule_spec.rb4
-rw-r--r--spec/models/ci/pipeline_spec.rb91
-rw-r--r--spec/models/ci/stage_spec.rb26
-rw-r--r--spec/models/concerns/cacheable_attributes_spec.rb4
-rw-r--r--spec/models/concerns/noteable_spec.rb2
-rw-r--r--spec/models/event_spec.rb28
-rw-r--r--spec/models/group_spec.rb130
-rw-r--r--spec/models/merge_request_diff_spec.rb59
-rw-r--r--spec/models/merge_request_spec.rb26
-rw-r--r--spec/models/project_repository_storage_move_spec.rb2
-rw-r--r--spec/models/project_services/jira_service_spec.rb73
-rw-r--r--spec/models/project_spec.rb8
-rw-r--r--spec/models/resource_label_event_spec.rb3
-rw-r--r--spec/models/snippet_repository_spec.rb16
-rw-r--r--spec/models/todo_spec.rb20
-rw-r--r--spec/models/x509_commit_signature_spec.rb32
-rw-r--r--spec/policies/alert_management/alert_policy_spec.rb8
-rw-r--r--spec/presenters/projects/prometheus/alert_presenter_spec.rb142
-rw-r--r--spec/requests/api/graphql/mutations/award_emojis/add_spec.rb2
-rw-r--r--spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb2
-rw-r--r--spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb2
-rw-r--r--spec/requests/api/graphql/mutations/snippets/mark_as_spam_spec.rb2
-rw-r--r--spec/requests/api/graphql/project/alert_management/alerts_spec.rb45
-rw-r--r--spec/requests/api/graphql/project/grafana_integration_spec.rb10
-rw-r--r--spec/requests/api/search_spec.rb240
-rw-r--r--spec/requests/rack_attack_global_spec.rb57
-rw-r--r--spec/serializers/accessibility_error_entity_spec.rb37
-rw-r--r--spec/serializers/accessibility_reports_comparer_entity_spec.rb87
-rw-r--r--spec/serializers/accessibility_reports_comparer_serializer_spec.rb65
-rw-r--r--spec/services/alert_management/process_prometheus_alert_service_spec.rb136
-rw-r--r--spec/services/alert_management/update_alert_status_service_spec.rb2
-rw-r--r--spec/services/application_settings/update_service_spec.rb2
-rw-r--r--spec/services/base_container_service_spec.rb23
-rw-r--r--spec/services/ci/compare_accessibility_reports_service_spec.rb62
-rw-r--r--spec/services/ci/pipeline_processing/atomic_processing_service/status_collection_spec.rb15
-rw-r--r--spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb10
-rw-r--r--spec/services/ci/pipeline_processing/legacy_processing_service_spec.rb20
-rw-r--r--spec/services/ci/pipeline_processing/shared_processing_service.rb25
-rw-r--r--spec/services/ci/pipeline_processing/shared_processing_service_tests_with_yaml.rb40
-rw-r--r--spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_false.yml4
-rw-r--r--spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true.yml2
-rw-r--r--spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_deploy_on_failure.yml2
-rw-r--r--spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_false.yml4
-rw-r--r--spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true.yml2
-rw-r--r--spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true_deploy_on_failure.yml2
-rw-r--r--spec/services/ci/pipeline_schedule_service_spec.rb32
-rw-r--r--spec/services/merge_requests/rebase_service_spec.rb19
-rw-r--r--spec/services/merge_requests/squash_service_spec.rb40
-rw-r--r--spec/services/pod_logs/base_service_spec.rb30
-rw-r--r--spec/services/pod_logs/elasticsearch_service_spec.rb30
-rw-r--r--spec/services/pod_logs/kubernetes_service_spec.rb20
-rw-r--r--spec/services/projects/alerting/notify_service_spec.rb2
-rw-r--r--spec/services/projects/prometheus/alerts/notify_service_spec.rb52
-rw-r--r--spec/services/search_service_spec.rb74
-rw-r--r--spec/services/system_note_service_spec.rb3
-rw-r--r--spec/spec_helper.rb4
-rw-r--r--spec/support/helpers/stub_object_storage.rb2
-rw-r--r--spec/support/helpers/x509_helpers.rb137
-rw-r--r--spec/support/shared_contexts/lib/gitlab/import_export/project/rake_task_object_storage_shared_context.rb17
-rw-r--r--spec/support/shared_examples/lib/gitlab/import_export/project/rake_task_object_storage_shared_examples.rb22
-rw-r--r--spec/support/shared_examples/lib/gitlab/migration_helpers_shared_examples.rb3
-rw-r--r--spec/support/shared_examples/requests/api/award_emoji_todo_shared_examples.rb2
-rw-r--r--spec/support/shared_examples/resource_events.rb18
-rw-r--r--spec/support/sidekiq.rb13
-rw-r--r--spec/tasks/gitlab/gitaly_rake_spec.rb8
-rw-r--r--spec/validators/cron_freeze_period_timezone_validator_spec.rb24
-rw-r--r--spec/validators/cron_validator_spec.rb47
-rw-r--r--spec/views/projects/pages_domains/show.html.haml_spec.rb2
-rw-r--r--spec/views/projects/services/_form.haml_spec.rb15
-rw-r--r--spec/workers/project_update_repository_storage_worker_spec.rb2
-rw-r--r--spec/workers/update_head_pipeline_for_merge_request_worker_spec.rb65
-rwxr-xr-x[-rw-r--r--]vendor/gitignore/C++.gitignore0
-rwxr-xr-x[-rw-r--r--]vendor/gitignore/Java.gitignore0
-rw-r--r--yarn.lock29
1123 files changed, 71573 insertions, 21158 deletions
diff --git a/.eslintrc.yml b/.eslintrc.yml
index a505adaeb79..0cd1e7c5ec9 100644
--- a/.eslintrc.yml
+++ b/.eslintrc.yml
@@ -45,8 +45,6 @@ rules:
no-jquery/no-serialize: error
promise/always-return: off
promise/no-callback-in-promise: off
- # Make update to eslint@6 smoother:
- prefer-object-spread: off
overrides:
- files:
- '**/spec/**/*'
diff --git a/.gitlab/ci/cache-repo.gitlab-ci.yml b/.gitlab/ci/cache-repo.gitlab-ci.yml
index ecbed0ed6c8..a091785dec3 100644
--- a/.gitlab/ci/cache-repo.gitlab-ci.yml
+++ b/.gitlab/ci/cache-repo.gitlab-ci.yml
@@ -21,7 +21,6 @@ cache-repo:
extends: .cache-repo:rules
image: gcr.io/google.com/cloudsdktool/cloud-sdk:alpine
stage: sync
- allow_failure: true
variables:
GIT_STRATEGY: none
TAR_FILENAME: /tmp/gitlab-master.tar
diff --git a/.gitlab/ci/cng.gitlab-ci.yml b/.gitlab/ci/cng.gitlab-ci.yml
index 2450e346569..d7699de74e2 100644
--- a/.gitlab/ci/cng.gitlab-ci.yml
+++ b/.gitlab/ci/cng.gitlab-ci.yml
@@ -3,7 +3,6 @@ cloud-native-image:
image: ruby:2.6-alpine
dependencies: []
stage: post-test
- allow_failure: true
variables:
GIT_DEPTH: "1"
script:
diff --git a/.gitlab/ci/docs.gitlab-ci.yml b/.gitlab/ci/docs.gitlab-ci.yml
index 0b4e124331f..b9348f46b69 100644
--- a/.gitlab/ci/docs.gitlab-ci.yml
+++ b/.gitlab/ci/docs.gitlab-ci.yml
@@ -2,7 +2,6 @@
extends:
- .default-retry
- .docs:rules:review-docs
- allow_failure: true
image: ruby:2.6-alpine
stage: review
dependencies: []
diff --git a/.gitlab/ci/frontend.gitlab-ci.yml b/.gitlab/ci/frontend.gitlab-ci.yml
index 5be4d4eaf1f..13dd5967bf6 100644
--- a/.gitlab/ci/frontend.gitlab-ci.yml
+++ b/.gitlab/ci/frontend.gitlab-ci.yml
@@ -288,9 +288,10 @@ qa-frontend-node:10:
image: node:dubnium
qa-frontend-node:latest:
- extends: .qa-frontend-node
+ extends:
+ - .qa-frontend-node
+ - .frontend:rules:qa-frontend-node-latest
image: node:latest
- allow_failure: true
webpack-dev-server:
extends:
diff --git a/.gitlab/ci/qa.gitlab-ci.yml b/.gitlab/ci/qa.gitlab-ci.yml
index 8a8f66a4643..4f7f79d4700 100644
--- a/.gitlab/ci/qa.gitlab-ci.yml
+++ b/.gitlab/ci/qa.gitlab-ci.yml
@@ -60,4 +60,3 @@ package-and-qa:
artifacts: false
- job: gitlab:assets:compile pull-cache
artifacts: false
- allow_failure: true
diff --git a/.gitlab/ci/reports.gitlab-ci.yml b/.gitlab/ci/reports.gitlab-ci.yml
index 624b95de6c0..153334e1aff 100644
--- a/.gitlab/ci/reports.gitlab-ci.yml
+++ b/.gitlab/ci/reports.gitlab-ci.yml
@@ -14,7 +14,6 @@ code_quality:
- .use-docker-in-docker
stage: test
needs: []
- allow_failure: true
variables:
CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/ci-cd/codequality:0.85.9"
script:
@@ -44,12 +43,10 @@ code_quality:
extends:
- .default-retry
- .reports:rules:sast
- - .use-docker-in-docker
stage: test
# `needs: []` starts the job immediately in the pipeline
# https://docs.gitlab.com/ee/ci/yaml/README.html#needs
needs: []
- allow_failure: true
artifacts:
paths:
- gl-sast-report.json # GitLab-specific
@@ -57,10 +54,6 @@ code_quality:
sast: gl-sast-report.json
expire_in: 1 week # GitLab-specific
variables:
- # emptying DOCKER_HOST so it can be detected properly on kubernetes executor
- # with the script below
- DOCKER_HOST: ""
- DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
SAST_ANALYZER_IMAGE_PREFIX: "registry.gitlab.com/gitlab-org/security-products/analyzers"
SAST_ANALYZER_IMAGE_TAG: 2
@@ -79,10 +72,11 @@ eslint-sast:
image:
name: "$SAST_ANALYZER_IMAGE_PREFIX/eslint:$SAST_ANALYZER_IMAGE_TAG"
-nodejs-scan-sast:
- extends: .sast
- image:
- name: "$SAST_ANALYZER_IMAGE_PREFIX/nodejs-scan:$SAST_ANALYZER_IMAGE_TAG"
+# Temporary disabled as it's constantly failing. See https://gitlab.com/gitlab-org/gitlab/-/issues/213769.
+# nodejs-scan-sast:
+# extends: .sast
+# image:
+# name: "$SAST_ANALYZER_IMAGE_PREFIX/nodejs-scan:$SAST_ANALYZER_IMAGE_TAG"
secrets-sast:
extends: .sast
@@ -101,7 +95,6 @@ dependency_scanning:
needs: []
variables:
DS_EXCLUDED_PATHS: "qa/qa/ee/fixtures/secure_premade_reports,spec,ee/spec" # GitLab-specific
- allow_failure: true
script:
- export DS_VERSION=${SP_VERSION:-$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')}
- |
@@ -172,7 +165,6 @@ dast:
# DAST_USERNAME_FIELD: "user[login]"
# DAST_PASSWORD_FIELD: "user[passowrd]"
DAST_VERSION: 1
- allow_failure: true
script:
- 'export DAST_WEBSITE="${DAST_WEBSITE:-$(cat environment_url.txt)}"'
# To be done in a later iteration
diff --git a/.gitlab/ci/review.gitlab-ci.yml b/.gitlab/ci/review.gitlab-ci.yml
index b259588ae5e..2dd2f1e8de0 100644
--- a/.gitlab/ci/review.gitlab-ci.yml
+++ b/.gitlab/ci/review.gitlab-ci.yml
@@ -2,7 +2,7 @@ build-qa-image:
extends:
- .use-kaniko
- .default-retry
- - .review:rules:mr-and-schedule-auto
+ - .review:rules:build-qa-image
stage: build-images
needs: []
script:
@@ -26,12 +26,11 @@ review-cleanup:
script:
- ruby -rrubygems scripts/review_apps/automated_cleanup.rb
- gcp_cleanup
- allow_failure: true
review-build-cng:
extends:
- .default-retry
- - .review:rules:mr-and-schedule-auto-if-frontend-manual-otherwise
+ - .review:rules:review-build-cng
image: ruby:2.6-alpine
stage: review-prepare
before_script:
@@ -68,7 +67,6 @@ review-deploy:
stage: review
dependencies: []
resource_group: "review/${CI_COMMIT_REF_NAME}"
- allow_failure: true
before_script:
- export GITLAB_SHELL_VERSION=$(<GITLAB_SHELL_VERSION)
- export GITALY_VERSION=$(<GITALY_SERVER_VERSION)
@@ -111,7 +109,7 @@ review-deploy:
review-stop-failed-deployment:
extends:
- .review-stop-base
- - .review:rules:mr-only-auto
+ - .review:rules:review-stop-failed-deployment
stage: prepare
script:
- delete_failed_release
@@ -121,7 +119,6 @@ review-stop:
- .review-stop-base
- .review:rules:mr-only-manual
stage: review
- allow_failure: true
script:
- delete_release
@@ -134,7 +131,6 @@ review-stop:
# This is needed so that manual jobs with needs don't block the pipeline.
# See https://gitlab.com/gitlab-org/gitlab/-/issues/199979.
dependencies: ["review-deploy"]
- allow_failure: true
variables:
QA_ARTIFACTS_DIR: "${CI_PROJECT_DIR}/qa"
QA_CAN_TEST_GIT_PROTOCOL_V2: "false"
@@ -162,7 +158,7 @@ review-stop:
review-qa-smoke:
extends:
- .review-qa-base
- - .review:rules:mr-only-auto-if-frontend-manual-otherwise
+ - .review:rules:review-qa-smoke
script:
- gitlab-qa Test::Instance::Smoke "${QA_IMAGE}" "${CI_ENVIRONMENT_URL}"
@@ -187,7 +183,6 @@ review-performance:
# This is needed so that manual jobs with needs don't block the pipeline.
# See https://gitlab.com/gitlab-org/gitlab/-/issues/199979.
dependencies: ["review-deploy"]
- allow_failure: true
before_script:
- export CI_ENVIRONMENT_URL="$(cat environment_url.txt)"
- echo "${CI_ENVIRONMENT_URL}"
@@ -210,7 +205,6 @@ parallel-spec-reports:
image: ruby:2.6-alpine
stage: post-qa
dependencies: ["review-qa-all"]
- allow_failure: true
variables:
NEW_PARALLEL_SPECS_REPORT: qa/report-new.html
BASE_ARTIFACT_URL: "${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/file/qa/"
diff --git a/.gitlab/ci/rules.gitlab-ci.yml b/.gitlab/ci/rules.gitlab-ci.yml
index ec018e9b379..5a91dc6ccc5 100644
--- a/.gitlab/ci/rules.gitlab-ci.yml
+++ b/.gitlab/ci/rules.gitlab-ci.yml
@@ -58,6 +58,9 @@
####################
# Changes patterns #
####################
+.ci-patterns: &ci-patterns
+ - ".gitlab/ci/**/*"
+
.yaml-patterns: &yaml-patterns
- "**/*.yml"
@@ -176,7 +179,7 @@
.cache-repo:rules:
rules:
- <<: *if-cache-credentials-schedule
- when: on_success
+ allow_failure: true
#############
# CNG rules #
@@ -185,6 +188,7 @@
rules:
- <<: *if-dot-com-gitlab-org-and-security-tag
when: manual
+ allow_failure: true
######################
# Dev fixtures rules #
@@ -211,6 +215,7 @@
- <<: *if-dot-com-gitlab-org-merge-request
changes: *docs-patterns
when: manual
+ allow_failure: true
.docs:rules:docs-lint:
rules:
@@ -305,6 +310,15 @@
changes: *frontend-dependency-patterns
when: on_success
+.frontend:rules:qa-frontend-node-latest:
+ rules:
+ - <<: *if-master-refs
+ changes: *frontend-dependency-patterns
+ allow_failure: true
+ - <<: *if-merge-request
+ changes: *frontend-dependency-patterns
+ allow_failure: true
+
################
# Memory rules #
################
@@ -345,13 +359,17 @@
.qa:rules:package-and-qa:
rules:
- <<: *if-dot-com-gitlab-org-merge-request
+ changes: *ci-patterns
+ allow_failure: true
+ - <<: *if-dot-com-gitlab-org-merge-request
changes: *qa-patterns
- when: on_success
+ allow_failure: true
- <<: *if-dot-com-gitlab-org-merge-request
changes: *code-patterns
when: manual
+ allow_failure: true
- <<: *if-dot-com-gitlab-org-schedule
- when: on_success
+ allow_failure: true
###############
# Rails rules #
@@ -430,6 +448,7 @@
# - <<: *if-master-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- <<: *if-default-refs
changes: *code-backstage-patterns
+ allow_failure: true
.reports:rules:sast:
rules:
@@ -438,6 +457,7 @@
# - <<: *if-master-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- <<: *if-default-refs
changes: *code-backstage-qa-patterns
+ allow_failure: true
.reports:rules:dependency_scanning:
rules:
@@ -446,6 +466,7 @@
# - <<: *if-master-refs # To be done in a later iteration: https://gitlab.com/gitlab-org/gitlab/issues/31160#note_278188255
- <<: *if-default-refs
changes: *code-backstage-qa-patterns
+ allow_failure: true
.reports:rules:dast:
rules:
@@ -453,10 +474,11 @@
when: never
- <<: *if-dot-com-gitlab-org-merge-request
changes: *frontend-patterns
- when: on_success
+ allow_failure: true
- <<: *if-dot-com-gitlab-org-merge-request
changes: *code-qa-patterns
when: manual
+ allow_failure: true
.reports:schedule-dast:
rules:
@@ -467,48 +489,62 @@
################
# Review rules #
################
-.review:rules:mr-and-schedule-auto:
+.review:rules:build-qa-image:
rules:
- <<: *if-not-ee
when: never
- <<: *if-dot-com-gitlab-org-merge-request
changes: *code-qa-patterns
- when: on_success
- <<: *if-dot-com-gitlab-org-schedule
- when: on_success
+
+.review:rules:review-build-cng:
+ rules:
+ - <<: *if-dot-com-gitlab-org-merge-request
+ changes: *ci-patterns
+ - <<: *if-dot-com-gitlab-org-merge-request
+ changes: *frontend-patterns
+ - <<: *if-dot-com-gitlab-org-merge-request
+ changes: *code-qa-patterns
+ when: manual
+ allow_failure: true
+ - <<: *if-dot-com-gitlab-org-schedule
.review:rules:mr-and-schedule-auto-if-frontend-manual-otherwise:
rules:
- <<: *if-not-ee
when: never
- <<: *if-dot-com-gitlab-org-merge-request
+ changes: *ci-patterns
+ - <<: *if-dot-com-gitlab-org-merge-request
changes: *frontend-patterns
- when: on_success
+ allow_failure: true
- <<: *if-dot-com-gitlab-org-merge-request
changes: *code-qa-patterns
when: manual
allow_failure: true
- <<: *if-dot-com-gitlab-org-schedule
- when: on_success
+ allow_failure: true
-.review:rules:mr-only-auto:
+.review:rules:review-stop-failed-deployment:
rules:
- <<: *if-not-ee
when: never
- <<: *if-dot-com-gitlab-org-merge-request
changes: *code-qa-patterns
- when: on_success
-.review:rules:mr-only-auto-if-frontend-manual-otherwise:
+.review:rules:review-qa-smoke:
rules:
- <<: *if-not-ee
when: never
- <<: *if-dot-com-gitlab-org-merge-request
+ changes: *ci-patterns
+ - <<: *if-dot-com-gitlab-org-merge-request
changes: *frontend-patterns
- when: on_success
+ allow_failure: true
- <<: *if-dot-com-gitlab-org-merge-request
changes: *code-qa-patterns
when: manual
+ allow_failure: true
.review:rules:mr-only-manual:
rules:
@@ -517,6 +553,7 @@
- <<: *if-dot-com-gitlab-org-merge-request
changes: *code-qa-patterns
when: manual
+ allow_failure: true
.review:rules:review-cleanup:
rules:
@@ -525,13 +562,13 @@
- <<: *if-dot-com-gitlab-org-merge-request
changes: *code-qa-patterns
when: manual
+ allow_failure: true
- <<: *if-dot-com-gitlab-org-schedule
- when: on_success
+ allow_failure: true
.review:rules:danger:
rules:
- if: '$DANGER_GITLAB_API_TOKEN && $CI_MERGE_REQUEST_IID'
- when: on_success
###############
# Setup rules #
@@ -547,10 +584,11 @@
.setup:rules:dont-interrupt-me:
rules:
- <<: *if-master-or-tag
- when: on_success
+ allow_failure: true
- <<: *if-auto-deploy-branches
- when: on_success
+ allow_failure: true
- when: manual
+ allow_failure: true
.setup:rules:gitlab_git_test:
rules:
diff --git a/.gitlab/ci/setup.gitlab-ci.yml b/.gitlab/ci/setup.gitlab-ci.yml
index 2d827046538..e34728a725e 100644
--- a/.gitlab/ci/setup.gitlab-ci.yml
+++ b/.gitlab/ci/setup.gitlab-ci.yml
@@ -26,7 +26,6 @@ dont-interrupt-me:
stage: sync
image: alpine:edge
interruptible: false
- allow_failure: true
variables:
GIT_STRATEGY: none
script:
diff --git a/.gitlab/issue_templates/Technical Evaluation.md b/.gitlab/issue_templates/Technical Evaluation.md
index f603d88a764..533a1343820 100644
--- a/.gitlab/issue_templates/Technical Evaluation.md
+++ b/.gitlab/issue_templates/Technical Evaluation.md
@@ -7,7 +7,7 @@
### Tasks to Evaluate
-<!-- Outline the tasks with issues that you need evaluate as a part of the implementation issue -->
+<!-- Outline the tasks with issues that you need to evaluate as a part of the implementation issue -->
- [ ] Determine feasibility of the feature
- [ ] Create issue for implementation or update existing implementation issue description with implementation proposal
@@ -18,7 +18,7 @@
### Risks and Implementation Considerations
-<!-- Idenitfy any risks found in the research, whether this is performance, impacts to other functionality or other bugs -->
+<!-- Identify any risks found in the research, whether this is performance, impacts to other functionality or other bugs -->
### Team
diff --git a/.gitlab/merge_request_templates/Documentation.md b/.gitlab/merge_request_templates/Documentation.md
index 7e9a0b7133a..72bfd2cdec4 100644
--- a/.gitlab/merge_request_templates/Documentation.md
+++ b/.gitlab/merge_request_templates/Documentation.md
@@ -16,12 +16,13 @@
## Author's checklist (required)
- [ ] Follow the [Documentation Guidelines](https://docs.gitlab.com/ee/development/documentation/) and [Style Guide](https://docs.gitlab.com/ee/development/documentation/styleguide.html).
-- [ ] Apply the ~documentation label, plus:
- - The corresponding DevOps stage and group label, if applicable.
- - ~"development guidelines" when changing docs under `doc/development/*`, `CONTRIBUTING.md`, or `README.md`.
- - ~"development guidelines" and ~"Documentation guidelines" when changing docs under `development/documentation/*`.
- - ~"development guidelines" and ~"Description templates (.gitlab/\*)" when creating/updating issue and MR description templates.
-- [ ] Assign the [designated Technical Writer](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments).
+- If you have `developer` access or higher (for example, GitLab team members or [Core Team](https://about.gitlab.com/community/core-team/) members)
+ - [ ] Apply the ~documentation label, plus:
+ - The corresponding DevOps stage and group label, if applicable.
+ - ~"development guidelines" when changing docs under `doc/development/*`, `CONTRIBUTING.md`, or `README.md`.
+ - ~"development guidelines" and ~"Documentation guidelines" when changing docs under `development/documentation/*`.
+ - ~"development guidelines" and ~"Description templates (.gitlab/\*)" when creating/updating issue and MR description templates.
+ - [ ] Assign the [designated Technical Writer](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments).
When applicable:
diff --git a/.markdownlint.json b/.markdownlint.json
index 1ad75f229f4..897e096591c 100644
--- a/.markdownlint.json
+++ b/.markdownlint.json
@@ -59,6 +59,7 @@
"GitLab Shell",
"GitLab Workhorse",
"GitLab",
+ "Gitleaks",
"Gmail",
"Google",
"Grafana",
@@ -114,8 +115,10 @@
"Shibboleth",
"Slack",
"SMTP",
+ "SpotBugs",
"SSH",
"Tiller",
+ "TOML",
"Trello",
"Trello Power-Ups",
"TypeScript",
@@ -124,7 +127,9 @@
"Ultra Auth",
"Unicorn",
"unicorn-worker-killer",
+ "URL",
"WebdriverIO",
+ "YAML",
"YouTrack"
],
"code_blocks": false
diff --git a/.rubocop.yml b/.rubocop.yml
index fbcad46a0c7..92861717cab 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -212,11 +212,13 @@ Gitlab/HTTParty:
- 'ee/spec/**/*'
Gitlab/Json:
- Enabled: false
+ Enabled: true
Exclude:
- 'db/**/*'
- 'qa/**/*'
- 'scripts/**/*'
+ - 'lib/rspec_flaky/**/*'
+ - 'lib/quality/**/*'
GitlabSecurity/PublicSend:
Enabled: true
diff --git a/GITALY_SERVER_VERSION b/GITALY_SERVER_VERSION
index 4de623cfefa..445f2012182 100644
--- a/GITALY_SERVER_VERSION
+++ b/GITALY_SERVER_VERSION
@@ -1 +1 @@
-12.10.0
+83d108e134c5d64396939376d403d65d8f079682
diff --git a/Gemfile b/Gemfile
index cb541c868fe..f505cccb812 100644
--- a/Gemfile
+++ b/Gemfile
@@ -138,7 +138,7 @@ gem 'faraday_middleware-aws-signers-v4'
# Markdown and HTML processing
gem 'html-pipeline', '~> 2.12'
gem 'deckar01-task_list', '2.3.1'
-gem 'gitlab-markup', '~> 1.7.0'
+gem 'gitlab-markup', '~> 1.7.1'
gem 'github-markup', '~> 1.7.0', require: 'github/markup'
gem 'commonmarker', '~> 0.20'
gem 'RedCloth', '~> 4.3.2'
diff --git a/Gemfile.lock b/Gemfile.lock
index 8a65cdc8cc6..caec5566219 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -392,7 +392,7 @@ GEM
redis (> 3.0.0, < 5.0.0)
gitlab-license (1.0.0)
gitlab-mail_room (0.0.4)
- gitlab-markup (1.7.0)
+ gitlab-markup (1.7.1)
gitlab-net-dns (0.9.1)
gitlab-puma (4.3.3.gitlab.2)
nio4r (~> 2.0)
@@ -857,7 +857,7 @@ GEM
re2 (1.2.0)
recaptcha (4.13.1)
json
- recursive-open-struct (1.1.0)
+ recursive-open-struct (1.1.1)
redis (4.1.3)
redis-actionpack (5.2.0)
actionpack (>= 5, < 7)
@@ -1245,7 +1245,7 @@ DEPENDENCIES
gitlab-labkit (= 0.12.0)
gitlab-license (~> 1.0)
gitlab-mail_room (~> 0.0.4)
- gitlab-markup (~> 1.7.0)
+ gitlab-markup (~> 1.7.1)
gitlab-net-dns (~> 0.9.1)
gitlab-puma (~> 4.3.3.gitlab.2)
gitlab-puma_worker_killer (~> 0.1.1.gitlab.1)
diff --git a/Guardfile b/Guardfile
index 21ee2a9d610..baaa52bd204 100644
--- a/Guardfile
+++ b/Guardfile
@@ -2,28 +2,51 @@
# More info at https://github.com/guard/guard#readme
+require "guard/rspec/dsl"
+
cmd = ENV['GUARD_CMD'] || (ENV['SPRING'] ? 'spring rspec' : 'bundle exec rspec')
-guard :rspec, cmd: cmd do
- require "guard/rspec/dsl"
- dsl = Guard::RSpec::Dsl.new(self)
+directories %w(app ee lib spec)
+
+rspec_context_for = proc do |context_path|
+ OpenStruct.new(to_s: "spec").tap do |rspec|
+ rspec.spec_dir = "#{context_path}spec"
+ rspec.spec = ->(m) { Guard::RSpec::Dsl.detect_spec_file_for(rspec, m) }
+ rspec.spec_helper = "#{rspec.spec_dir}/spec_helper.rb"
+ rspec.spec_files = %r{^#{rspec.spec_dir}/.+_spec\.rb$}
+ rspec.spec_support = %r{^#{rspec.spec_dir}/support/(.+)\.rb$}
+ end
+end
+
+rails_context_for = proc do |context_path, exts|
+ OpenStruct.new.tap do |rails|
+ rails.app_files = %r{^#{context_path}app/(.+)\.rb$}
+
+ rails.views = %r{^#{context_path}app/(views/.+/[^/]*\.(?:#{exts}))$}
+ rails.view_dirs = %r{^#{context_path}app/views/(.+)/[^/]*\.(?:#{exts})$}
+ rails.layouts = %r{^#{context_path}app/layouts/(.+)/[^/]*\.(?:#{exts})$}
- directories %w(app ee lib spec)
+ rails.controllers = %r{^#{context_path}app/controllers/(.+)_controller\.rb$}
+ rails.routes = "#{context_path}config/routes.rb"
+ rails.app_controller = "#{context_path}app/controllers/application_controller.rb"
+ rails.spec_helper = "#{context_path}spec/rails_helper.rb"
+ end
+end
+guard_setup = proc do |context_path|
# RSpec files
- rspec = dsl.rspec
+ rspec = rspec_context_for.call(context_path)
watch(rspec.spec_helper) { rspec.spec_dir }
watch(rspec.spec_support) { rspec.spec_dir }
watch(rspec.spec_files)
# Ruby files
- ruby = dsl.ruby
- dsl.watch_spec_files_for(ruby.lib_files)
+ watch(%r{^#{context_path}(lib/.+)\.rb$}) { |m| rspec.spec.call(m[1]) }
# Rails files
- rails = dsl.rails(view_extensions: %w(erb haml slim))
- dsl.watch_spec_files_for(rails.app_files)
- dsl.watch_spec_files_for(rails.views)
+ rails = rails_context_for.call(context_path, %w(erb haml slim))
+ watch(rails.app_files) { |m| rspec.spec.call(m[1]) }
+ watch(rails.views) { |m| rspec.spec.call(m[1]) }
watch(rails.controllers) do |m|
[
@@ -41,3 +64,11 @@ guard :rspec, cmd: cmd do
watch(rails.view_dirs) { |m| rspec.spec.call("features/#{m[1]}") }
watch(rails.layouts) { |m| rspec.spec.call("features/#{m[1]}") }
end
+
+context_paths = ['', 'ee/']
+
+context_paths.each do |context_path|
+ guard :rspec, cmd: cmd, spec_paths: ["#{context_path}spec/"] do
+ guard_setup.call(context_path)
+ end
+end
diff --git a/app/assets/javascripts/alert_management/components/alert_details.vue b/app/assets/javascripts/alert_management/components/alert_details.vue
index 21622d8f750..ef060713d3d 100644
--- a/app/assets/javascripts/alert_management/components/alert_details.vue
+++ b/app/assets/javascripts/alert_management/components/alert_details.vue
@@ -1,6 +1,9 @@
<script>
-import { GlNewDropdown, GlNewDropdownItem, GlTabs, GlTab } from '@gitlab/ui';
+import { GlNewDropdown, GlNewDropdownItem, GlTabs, GlTab, GlButton } from '@gitlab/ui';
import { s__ } from '~/locale';
+import query from '../graphql/queries/details.query.graphql';
+import { fetchPolicies } from '~/lib/graphql';
+import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
export default {
statuses: {
@@ -17,13 +20,61 @@ export default {
GlNewDropdownItem,
GlTab,
GlTabs,
+ GlButton,
+ },
+ mixins: [glFeatureFlagsMixin()],
+ props: {
+ alertId: {
+ type: String,
+ required: true,
+ },
+ projectPath: {
+ type: String,
+ required: true,
+ },
+ newIssuePath: {
+ type: String,
+ required: true,
+ },
+ },
+ apollo: {
+ alert: {
+ fetchPolicy: fetchPolicies.CACHE_AND_NETWORK,
+ query,
+ variables() {
+ return {
+ fullPath: this.projectPath,
+ alertId: this.alertId,
+ };
+ },
+ update(data) {
+ return data?.project?.alertManagementAlerts?.nodes?.[0] ?? null;
+ },
+ },
+ },
+ data() {
+ return { alert: null };
},
};
</script>
<template>
<div>
- <div class="d-flex justify-content-between border-bottom pb-2 pt-1">
- <gl-new-dropdown class="align-self-center" right>
+ <div
+ v-if="alert"
+ class="gl-display-flex justify-content-end gl-border-b-1 gl-border-b-gray-200 gl-border-b-solid gl-p-4"
+ >
+ <gl-button
+ v-if="glFeatures.createIssueFromAlertEnabled"
+ data-testid="createIssueBtn"
+ :href="newIssuePath"
+ category="primary"
+ variant="success"
+ >
+ {{ s__('AlertManagement|Create issue') }}
+ </gl-button>
+ </div>
+ <div class="gl-display-flex justify-content-end">
+ <gl-new-dropdown right>
<gl-new-dropdown-item
v-for="(label, field) in $options.statuses"
:key="field"
@@ -33,23 +84,21 @@ export default {
</gl-new-dropdown-item>
</gl-new-dropdown>
</div>
- <div class="d-flex">
- <gl-tabs>
- <gl-tab data-testid="overviewTab" :title="$options.i18n.overviewTitle">
- <ul class="pl-3">
- <li data-testid="startTimeItem" class="font-weight-bold mb-3 mt-2">
- {{ s__('AlertManagement|Start time:') }}
- </li>
- <li class="font-weight-bold my-3">
- {{ s__('AlertManagement|End time:') }}
- </li>
- <li class="font-weight-bold my-3">
- {{ s__('AlertManagement|Events:') }}
- </li>
- </ul>
- </gl-tab>
- <gl-tab data-testid="fullDetailsTab" :title="$options.i18n.fullAlertDetailsTitle" />
- </gl-tabs>
- </div>
+ <gl-tabs v-if="alert" data-testid="alertDetailsTabs">
+ <gl-tab data-testid="overviewTab" :title="$options.i18n.overviewTitle">
+ <ul class="pl-3">
+ <li data-testid="startTimeItem" class="font-weight-bold mb-3 mt-2">
+ {{ s__('AlertManagement|Start time:') }}
+ </li>
+ <li class="font-weight-bold my-3">
+ {{ s__('AlertManagement|End time:') }}
+ </li>
+ <li class="font-weight-bold my-3">
+ {{ s__('AlertManagement|Events:') }}
+ </li>
+ </ul>
+ </gl-tab>
+ <gl-tab data-testid="fullDetailsTab" :title="$options.i18n.fullAlertDetailsTitle" />
+ </gl-tabs>
</div>
</template>
diff --git a/app/assets/javascripts/alert_management/components/alert_management_list.vue b/app/assets/javascripts/alert_management/components/alert_management_list.vue
index 2c3674b9b96..f1716182e5f 100644
--- a/app/assets/javascripts/alert_management/components/alert_management_list.vue
+++ b/app/assets/javascripts/alert_management/components/alert_management_list.vue
@@ -8,10 +8,17 @@ import {
GlIcon,
GlNewDropdown,
GlNewDropdownItem,
+ GlTabs,
+ GlTab,
+ GlBadge,
} from '@gitlab/ui';
import { s__ } from '~/locale';
import TimeAgo from '~/vue_shared/components/time_ago_tooltip.vue';
import getAlerts from '../graphql/queries/getAlerts.query.graphql';
+import { ALERTS_STATUS, ALERTS_STATUS_TABS } from '../constants';
+import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
+
+const tdClass = 'table-col d-flex d-md-table-cell align-items-center';
export default {
i18n: {
@@ -26,36 +33,42 @@ export default {
{
key: 'severity',
label: s__('AlertManagement|Severity'),
+ tdClass: `${tdClass} rounded-top text-capitalize`,
},
{
key: 'startedAt',
label: s__('AlertManagement|Start time'),
+ tdClass,
},
{
key: 'endedAt',
label: s__('AlertManagement|End time'),
+ tdClass,
},
{
key: 'title',
label: s__('AlertManagement|Alert'),
thClass: 'w-30p',
+ tdClass,
},
{
key: 'eventCount',
label: s__('AlertManagement|Events'),
thClass: 'text-right event-count',
- tdClass: 'text-right event-count',
+ tdClass: `${tdClass} text-md-right event-count`,
},
{
key: 'status',
label: s__('AlertManagement|Status'),
+ tdClass: `${tdClass} rounded-bottom text-capitalize`,
},
],
statuses: {
- triggered: s__('AlertManagement|Triggered'),
- acknowledged: s__('AlertManagement|Acknowledged'),
- resolved: s__('AlertManagement|Resolved'),
+ [ALERTS_STATUS.TRIGGERED]: s__('AlertManagement|Triggered'),
+ [ALERTS_STATUS.ACKNOWLEDGED]: s__('AlertManagement|Acknowledged'),
+ [ALERTS_STATUS.RESOLVED]: s__('AlertManagement|Resolved'),
},
+ statusTabs: ALERTS_STATUS_TABS,
components: {
GlEmptyState,
GlLoadingIcon,
@@ -66,7 +79,11 @@ export default {
GlNewDropdown,
GlNewDropdownItem,
GlIcon,
+ GlTabs,
+ GlTab,
+ GlBadge,
},
+ mixins: [glFeatureFlagsMixin()],
props: {
projectPath: {
type: String,
@@ -95,6 +112,7 @@ export default {
variables() {
return {
projectPath: this.projectPath,
+ status: this.statusFilter,
};
},
update(data) {
@@ -111,6 +129,7 @@ export default {
errored: false,
isAlertDismissed: false,
isErrorAlertDismissed: false,
+ statusFilter: this.$options.statusTabs[0].status,
};
},
computed: {
@@ -124,6 +143,11 @@ export default {
return this.$apollo.queries.alerts.loading;
},
},
+ methods: {
+ filterALertsByStatus(tabIndex) {
+ this.statusFilter = this.$options.statusTabs[tabIndex].status;
+ },
+ },
};
</script>
@@ -137,8 +161,22 @@ export default {
{{ $options.i18n.errorMsg }}
</gl-alert>
+ <gl-tabs v-if="glFeatures.alertListStatusFilteringEnabled" @input="filterALertsByStatus">
+ <gl-tab v-for="tab in $options.statusTabs" :key="tab.status">
+ <template slot="title">
+ <span>{{ tab.title }}</span>
+ <gl-badge v-if="alerts" size="sm" class="gl-tab-counter-badge">
+ {{ alerts.length }}
+ </gl-badge>
+ </template>
+ </gl-tab>
+ </gl-tabs>
+
+ <h4 class="d-block d-md-none my-3">
+ {{ s__('AlertManagement|Alerts') }}
+ </h4>
<gl-table
- class="mt-3"
+ class="alert-management-table mt-3"
:items="alerts"
:fields="$options.fields"
:show-empty="true"
@@ -169,6 +207,7 @@ export default {
<template #cell(title)="{ item }">
<div class="gl-max-w-full text-truncate">{{ item.title }}</div>
</template>
+
<template #cell(status)="{ item }">
<gl-new-dropdown class="w-100" :text="item.status">
<gl-new-dropdown-item v-for="(label, field) in $options.statuses" :key="field">
@@ -188,7 +227,7 @@ export default {
</div>
<gl-empty-state
v-else
- :title="__('AlertManagement|Surface alerts in GitLab')"
+ :title="s__('AlertManagement|Surface alerts in GitLab')"
:svg-path="emptyAlertSvgPath"
>
<template #description>
diff --git a/app/assets/javascripts/alert_management/constants.js b/app/assets/javascripts/alert_management/constants.js
new file mode 100644
index 00000000000..c95a3c29f04
--- /dev/null
+++ b/app/assets/javascripts/alert_management/constants.js
@@ -0,0 +1,32 @@
+import { s__ } from '~/locale';
+
+export const ALERTS_STATUS = {
+ OPEN: 'open',
+ TRIGGERED: 'triggered',
+ ACKNOWLEDGED: 'acknowledged',
+ RESOLVED: 'resolved',
+ ALL: 'all',
+};
+
+export const ALERTS_STATUS_TABS = [
+ {
+ title: s__('AlertManagement|Open'),
+ status: ALERTS_STATUS.OPEN,
+ },
+ {
+ title: s__('AlertManagement|Triggered'),
+ status: ALERTS_STATUS.TRIGGERED,
+ },
+ {
+ title: s__('AlertManagement|Acknowledged'),
+ status: ALERTS_STATUS.ACKNOWLEDGED,
+ },
+ {
+ title: s__('AlertManagement|Resolved'),
+ status: ALERTS_STATUS.RESOLVED,
+ },
+ {
+ title: s__('AlertManagement|All alerts'),
+ status: ALERTS_STATUS.ALL,
+ },
+];
diff --git a/app/assets/javascripts/alert_management/details.js b/app/assets/javascripts/alert_management/details.js
index 23c3b8a742a..06d37dc90dc 100644
--- a/app/assets/javascripts/alert_management/details.js
+++ b/app/assets/javascripts/alert_management/details.js
@@ -1,15 +1,33 @@
import Vue from 'vue';
+import VueApollo from 'vue-apollo';
+import createDefaultClient from '~/lib/graphql';
import AlertDetails from './components/alert_details.vue';
+Vue.use(VueApollo);
+
export default selector => {
+ const domEl = document.querySelector(selector);
+ const { alertId, projectPath, newIssuePath } = domEl.dataset;
+
+ const apolloProvider = new VueApollo({
+ defaultClient: createDefaultClient(),
+ });
+
// eslint-disable-next-line no-new
new Vue({
el: selector,
+ apolloProvider,
components: {
AlertDetails,
},
render(createElement) {
- return createElement('alert-details', {});
+ return createElement('alert-details', {
+ props: {
+ alertId,
+ projectPath,
+ newIssuePath,
+ },
+ });
},
});
};
diff --git a/app/assets/javascripts/alert_management/graphql/queries/details.query.graphql b/app/assets/javascripts/alert_management/graphql/queries/details.query.graphql
new file mode 100644
index 00000000000..81e95500e05
--- /dev/null
+++ b/app/assets/javascripts/alert_management/graphql/queries/details.query.graphql
@@ -0,0 +1,17 @@
+query alertDetails($fullPath: ID!, $alertId: String) {
+ project(fullPath: $fullPath) {
+ alertManagementAlerts(iid: $alertId) {
+ nodes {
+ iid
+ endedAt
+ eventCount
+ monitoringTool
+ service
+ severity
+ startedAt
+ status
+ title
+ }
+ }
+ }
+}
diff --git a/app/assets/javascripts/api.js b/app/assets/javascripts/api.js
index 904bf117dc0..e527659a939 100644
--- a/app/assets/javascripts/api.js
+++ b/app/assets/javascripts/api.js
@@ -23,6 +23,8 @@ const Api = {
projectMergeRequestVersionsPath: '/api/:version/projects/:id/merge_requests/:mrid/versions',
projectRunnersPath: '/api/:version/projects/:id/runners',
projectProtectedBranchesPath: '/api/:version/projects/:id/protected_branches',
+ projectSearchPath: '/api/:version/projects/:id/search',
+ projectMilestonesPath: '/api/:version/projects/:id/milestones',
mergeRequestsPath: '/api/:version/merge_requests',
groupLabelsPath: '/groups/:namespace_path/-/labels',
issuableTemplatePath: '/:namespace_path/:project_path/templates/:type/:key',
@@ -75,13 +77,11 @@ const Api = {
const url = Api.buildUrl(Api.groupsPath);
return axios
.get(url, {
- params: Object.assign(
- {
- search: query,
- per_page: DEFAULT_PER_PAGE,
- },
- options,
- ),
+ params: {
+ search: query,
+ per_page: DEFAULT_PER_PAGE,
+ ...options,
+ },
})
.then(({ data }) => {
callback(data);
@@ -248,6 +248,23 @@ const Api = {
.then(({ data }) => data);
},
+ projectSearch(id, options = {}) {
+ const url = Api.buildUrl(Api.projectSearchPath).replace(':id', encodeURIComponent(id));
+
+ return axios.get(url, {
+ params: {
+ search: options.search,
+ scope: options.scope,
+ },
+ });
+ },
+
+ projectMilestones(id) {
+ const url = Api.buildUrl(Api.projectMilestonesPath).replace(':id', encodeURIComponent(id));
+
+ return axios.get(url);
+ },
+
mergeRequests(params = {}) {
const url = Api.buildUrl(Api.mergeRequestsPath);
@@ -282,7 +299,7 @@ const Api = {
};
return axios
.get(url, {
- params: Object.assign({}, defaults, options),
+ params: { ...defaults, ...options },
})
.then(({ data }) => callback(data))
.catch(() => flash(__('Something went wrong while fetching projects')));
@@ -365,13 +382,11 @@ const Api = {
users(query, options) {
const url = Api.buildUrl(this.usersPath);
return axios.get(url, {
- params: Object.assign(
- {
- search: query,
- per_page: DEFAULT_PER_PAGE,
- },
- options,
- ),
+ params: {
+ search: query,
+ per_page: DEFAULT_PER_PAGE,
+ ...options,
+ },
});
},
@@ -402,7 +417,7 @@ const Api = {
};
return axios
.get(url, {
- params: Object.assign({}, defaults, options),
+ params: { ...defaults, ...options },
})
.then(({ data }) => callback(data))
.catch(() => flash(__('Something went wrong while fetching projects')));
diff --git a/app/assets/javascripts/behaviors/shortcuts/shortcuts_blob.js b/app/assets/javascripts/behaviors/shortcuts/shortcuts_blob.js
index d5d8edd5ac0..c35a073b291 100644
--- a/app/assets/javascripts/behaviors/shortcuts/shortcuts_blob.js
+++ b/app/assets/javascripts/behaviors/shortcuts/shortcuts_blob.js
@@ -22,7 +22,7 @@ function eventHasModifierKeys(event) {
export default class ShortcutsBlob extends Shortcuts {
constructor(opts) {
- const options = Object.assign({}, defaults, opts);
+ const options = { ...defaults, ...opts };
super(options.skipResetBindings);
this.options = options;
diff --git a/app/assets/javascripts/blob/blob_fork_suggestion.js b/app/assets/javascripts/blob/blob_fork_suggestion.js
index 476b9405a9e..44dfbfcfe1c 100644
--- a/app/assets/javascripts/blob/blob_fork_suggestion.js
+++ b/app/assets/javascripts/blob/blob_fork_suggestion.js
@@ -17,7 +17,7 @@ const defaults = {
class BlobForkSuggestion {
constructor(options) {
- this.elementMap = Object.assign({}, defaults, options);
+ this.elementMap = { ...defaults, ...options };
this.onOpenButtonClick = this.onOpenButtonClick.bind(this);
this.onCancelButtonClick = this.onCancelButtonClick.bind(this);
}
diff --git a/app/assets/javascripts/blob/components/blob_header_filepath.vue b/app/assets/javascripts/blob/components/blob_header_filepath.vue
index cdd30e98b26..e9be7fbcf9b 100644
--- a/app/assets/javascripts/blob/components/blob_header_filepath.vue
+++ b/app/assets/javascripts/blob/components/blob_header_filepath.vue
@@ -30,9 +30,11 @@ export default {
<template v-if="blob.path">
<file-icon :file-name="blob.path" :size="18" aria-hidden="true" css-classes="mr-2" />
- <strong class="file-title-name qa-file-title-name mr-1 js-blob-header-filepath">{{
- blob.path
- }}</strong>
+ <strong
+ class="file-title-name mr-1 js-blob-header-filepath"
+ data-qa-selector="file_title_name"
+ >{{ blob.path }}</strong
+ >
</template>
<small class="mr-2">{{ blobSize }}</small>
diff --git a/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue b/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue
index 5023496e2c3..1e9e36feecc 100644
--- a/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue
+++ b/app/assets/javascripts/blob/suggest_gitlab_ci_yml/components/popover.vue
@@ -72,9 +72,6 @@ export default {
dismissCookieName() {
return `${this.trackLabel}_${this.dismissKey}`;
},
- commitCookieName() {
- return `suggest_gitlab_ci_yml_commit_${this.dismissKey}`;
- },
},
mounted() {
if (
diff --git a/app/assets/javascripts/boards/mixins/sortable_default_options.js b/app/assets/javascripts/boards/mixins/sortable_default_options.js
index 68ea28e68d9..fceb8c9d48e 100644
--- a/app/assets/javascripts/boards/mixins/sortable_default_options.js
+++ b/app/assets/javascripts/boards/mixins/sortable_default_options.js
@@ -19,14 +19,15 @@ export function getBoardSortableDefaultOptions(obj) {
const touchEnabled =
'ontouchstart' in window || (window.DocumentTouch && document instanceof DocumentTouch);
- const defaultSortOptions = Object.assign({}, sortableConfig, {
+ const defaultSortOptions = {
+ ...sortableConfig,
filter: '.no-drag',
delay: touchEnabled ? 100 : 0,
scrollSensitivity: touchEnabled ? 60 : 100,
scrollSpeed: 20,
onStart: sortableStart,
onEnd: sortableEnd,
- });
+ };
Object.keys(obj).forEach(key => {
defaultSortOptions[key] = obj[key];
diff --git a/app/assets/javascripts/close_reopen_report_toggle.js b/app/assets/javascripts/close_reopen_report_toggle.js
index 882d20671cc..bcddce6e727 100644
--- a/app/assets/javascripts/close_reopen_report_toggle.js
+++ b/app/assets/javascripts/close_reopen_report_toggle.js
@@ -2,7 +2,7 @@ import DropLab from './droplab/drop_lab';
import ISetter from './droplab/plugins/input_setter';
// Todo: Remove this when fixing issue in input_setter plugin
-const InputSetter = Object.assign({}, ISetter);
+const InputSetter = { ...ISetter };
class CloseReopenReportToggle {
constructor(opts = {}) {
diff --git a/app/assets/javascripts/clusters/clusters_bundle.js b/app/assets/javascripts/clusters/clusters_bundle.js
index d46525def06..3699a3b8b2b 100644
--- a/app/assets/javascripts/clusters/clusters_bundle.js
+++ b/app/assets/javascripts/clusters/clusters_bundle.js
@@ -325,7 +325,7 @@ export default class Clusters {
handleClusterStatusSuccess(data) {
const prevStatus = this.store.state.status;
- const prevApplicationMap = Object.assign({}, this.store.state.applications);
+ const prevApplicationMap = { ...this.store.state.applications };
this.store.updateStateFromServer(data.data);
diff --git a/app/assets/javascripts/code_navigation/store/actions.js b/app/assets/javascripts/code_navigation/store/actions.js
index f5b96145314..7b2669691bd 100644
--- a/app/assets/javascripts/code_navigation/store/actions.js
+++ b/app/assets/javascripts/code_navigation/store/actions.js
@@ -30,7 +30,9 @@ export default {
});
},
showBlobInteractionZones({ state }, path) {
- Object.values(state.data[path]).forEach(d => addInteractionClass(path, d));
+ if (state.data && state.data[path]) {
+ Object.values(state.data[path]).forEach(d => addInteractionClass(path, d));
+ }
},
showDefinition({ commit, state }, { target: el }) {
let definition;
diff --git a/app/assets/javascripts/comment_type_toggle.js b/app/assets/javascripts/comment_type_toggle.js
index a259667bb75..2fcd40a901d 100644
--- a/app/assets/javascripts/comment_type_toggle.js
+++ b/app/assets/javascripts/comment_type_toggle.js
@@ -2,7 +2,7 @@ import DropLab from './droplab/drop_lab';
import ISetter from './droplab/plugins/input_setter';
// Todo: Remove this when fixing issue in input_setter plugin
-const InputSetter = Object.assign({}, ISetter);
+const InputSetter = { ...ISetter };
class CommentTypeToggle {
constructor(opts = {}) {
diff --git a/app/assets/javascripts/create_merge_request_dropdown.js b/app/assets/javascripts/create_merge_request_dropdown.js
index ba585444ba5..801566d2f2f 100644
--- a/app/assets/javascripts/create_merge_request_dropdown.js
+++ b/app/assets/javascripts/create_merge_request_dropdown.js
@@ -13,7 +13,7 @@ import {
import confidentialMergeRequestState from './confidential_merge_request/state';
// Todo: Remove this when fixing issue in input_setter plugin
-const InputSetter = Object.assign({}, ISetter);
+const InputSetter = { ...ISetter };
const CREATE_MERGE_REQUEST = 'create-mr';
const CREATE_BRANCH = 'create-branch';
diff --git a/app/assets/javascripts/cycle_analytics/cycle_analytics_store.js b/app/assets/javascripts/cycle_analytics/cycle_analytics_store.js
index 304a0726597..4f9069f61a5 100644
--- a/app/assets/javascripts/cycle_analytics/cycle_analytics_store.js
+++ b/app/assets/javascripts/cycle_analytics/cycle_analytics_store.js
@@ -84,7 +84,7 @@ export default {
events.forEach(item => {
if (!item) return;
- const eventItem = Object.assign({}, DEFAULT_EVENT_OBJECTS[stage.slug], item);
+ const eventItem = { ...DEFAULT_EVENT_OBJECTS[stage.slug], ...item };
eventItem.totalTime = eventItem.total_time;
diff --git a/app/assets/javascripts/design_management/components/app.vue b/app/assets/javascripts/design_management/components/app.vue
new file mode 100644
index 00000000000..98240aef810
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/app.vue
@@ -0,0 +1,3 @@
+<template>
+ <router-view />
+</template>
diff --git a/app/assets/javascripts/design_management/components/delete_button.vue b/app/assets/javascripts/design_management/components/delete_button.vue
new file mode 100644
index 00000000000..1fd902c9ed7
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/delete_button.vue
@@ -0,0 +1,64 @@
+<script>
+import { GlDeprecatedButton, GlModal, GlModalDirective } from '@gitlab/ui';
+import { uniqueId } from 'lodash';
+
+export default {
+ name: 'DeleteButton',
+ components: {
+ GlDeprecatedButton,
+ GlModal,
+ },
+ directives: {
+ GlModalDirective,
+ },
+ props: {
+ isDeleting: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
+ buttonClass: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ buttonVariant: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ hasSelectedDesigns: {
+ type: Boolean,
+ required: false,
+ default: true,
+ },
+ },
+ data() {
+ return {
+ modalId: uniqueId('design-deletion-confirmation-'),
+ };
+ },
+};
+</script>
+
+<template>
+ <div>
+ <gl-modal
+ :modal-id="modalId"
+ :title="s__('DesignManagement|Delete designs confirmation')"
+ :ok-title="s__('DesignManagement|Delete')"
+ ok-variant="danger"
+ @ok="$emit('deleteSelectedDesigns')"
+ >
+ <p>{{ s__('DesignManagement|Are you sure you want to delete the selected designs?') }}</p>
+ </gl-modal>
+ <gl-deprecated-button
+ v-gl-modal-directive="modalId"
+ :variant="buttonVariant"
+ :disabled="isDeleting || !hasSelectedDesigns"
+ :class="buttonClass"
+ >
+ <slot></slot>
+ </gl-deprecated-button>
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/components/design_destroyer.vue b/app/assets/javascripts/design_management/components/design_destroyer.vue
new file mode 100644
index 00000000000..ad3f2736c4a
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/design_destroyer.vue
@@ -0,0 +1,66 @@
+<script>
+import { ApolloMutation } from 'vue-apollo';
+import getDesignListQuery from '../graphql/queries/get_design_list.query.graphql';
+import destroyDesignMutation from '../graphql/mutations/destroyDesign.mutation.graphql';
+import { updateStoreAfterDesignsDelete } from '../utils/cache_update';
+
+export default {
+ components: {
+ ApolloMutation,
+ },
+ props: {
+ filenames: {
+ type: Array,
+ required: true,
+ },
+ projectPath: {
+ type: String,
+ required: true,
+ },
+ iid: {
+ type: String,
+ required: true,
+ },
+ },
+ computed: {
+ projectQueryBody() {
+ return {
+ query: getDesignListQuery,
+ variables: { fullPath: this.projectPath, iid: this.iid, atVersion: null },
+ };
+ },
+ },
+ methods: {
+ updateStoreAfterDelete(
+ store,
+ {
+ data: { designManagementDelete },
+ },
+ ) {
+ updateStoreAfterDesignsDelete(
+ store,
+ designManagementDelete,
+ this.projectQueryBody,
+ this.filenames,
+ );
+ },
+ },
+ destroyDesignMutation,
+};
+</script>
+
+<template>
+ <apollo-mutation
+ #default="{ mutate, loading, error }"
+ :mutation="$options.destroyDesignMutation"
+ :variables="{
+ filenames,
+ projectPath,
+ iid,
+ }"
+ :update="updateStoreAfterDelete"
+ v-on="$listeners"
+ >
+ <slot v-bind="{ mutate, loading, error }"></slot>
+ </apollo-mutation>
+</template>
diff --git a/app/assets/javascripts/design_management/components/design_note_pin.vue b/app/assets/javascripts/design_management/components/design_note_pin.vue
new file mode 100644
index 00000000000..50ea69d52ce
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/design_note_pin.vue
@@ -0,0 +1,61 @@
+<script>
+import { __, sprintf } from '~/locale';
+import Icon from '~/vue_shared/components/icon.vue';
+
+export default {
+ name: 'DesignNotePin',
+ components: {
+ Icon,
+ },
+ props: {
+ position: {
+ type: Object,
+ required: true,
+ },
+ label: {
+ type: String,
+ required: false,
+ default: null,
+ },
+ repositioning: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
+ },
+ computed: {
+ isNewNote() {
+ return this.label === null;
+ },
+ pinStyle() {
+ return this.repositioning ? { ...this.position, cursor: 'move' } : this.position;
+ },
+ pinLabel() {
+ return this.isNewNote
+ ? __('Comment form position')
+ : sprintf(__("Comment '%{label}' position"), { label: this.label });
+ },
+ },
+};
+</script>
+
+<template>
+ <button
+ :style="pinStyle"
+ :aria-label="pinLabel"
+ :class="{
+ 'btn-transparent comment-indicator': isNewNote,
+ 'js-image-badge badge badge-pill': !isNewNote,
+ }"
+ class="position-absolute"
+ type="button"
+ @mousedown="$emit('mousedown', $event)"
+ @mouseup="$emit('mouseup', $event)"
+ @click="$emit('click', $event)"
+ >
+ <icon v-if="isNewNote" name="image-comment-dark" />
+ <template v-else>
+ {{ label }}
+ </template>
+ </button>
+</template>
diff --git a/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue b/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue
new file mode 100644
index 00000000000..024957abe46
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/design_notes/design_discussion.vue
@@ -0,0 +1,142 @@
+<script>
+import { ApolloMutation } from 'vue-apollo';
+import ReplyPlaceholder from '~/notes/components/discussion_reply_placeholder.vue';
+import allVersionsMixin from '../../mixins/all_versions';
+import createNoteMutation from '../../graphql/mutations/createNote.mutation.graphql';
+import getDesignQuery from '../../graphql/queries/getDesign.query.graphql';
+import DesignNote from './design_note.vue';
+import DesignReplyForm from './design_reply_form.vue';
+import { updateStoreAfterAddDiscussionComment } from '../../utils/cache_update';
+
+export default {
+ components: {
+ ApolloMutation,
+ DesignNote,
+ ReplyPlaceholder,
+ DesignReplyForm,
+ },
+ mixins: [allVersionsMixin],
+ props: {
+ discussion: {
+ type: Object,
+ required: true,
+ },
+ noteableId: {
+ type: String,
+ required: true,
+ },
+ designId: {
+ type: String,
+ required: true,
+ },
+ discussionIndex: {
+ type: Number,
+ required: true,
+ },
+ markdownPreviewPath: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ },
+ data() {
+ return {
+ discussionComment: '',
+ isFormRendered: false,
+ };
+ },
+ computed: {
+ mutationPayload() {
+ return {
+ noteableId: this.noteableId,
+ body: this.discussionComment,
+ discussionId: this.discussion.id,
+ };
+ },
+ designVariables() {
+ return {
+ fullPath: this.projectPath,
+ iid: this.issueIid,
+ filenames: [this.$route.params.id],
+ atVersion: this.designsVersion,
+ };
+ },
+ },
+ methods: {
+ addDiscussionComment(
+ store,
+ {
+ data: { createNote },
+ },
+ ) {
+ updateStoreAfterAddDiscussionComment(
+ store,
+ createNote,
+ getDesignQuery,
+ this.designVariables,
+ this.discussion.id,
+ );
+ },
+ onDone() {
+ this.discussionComment = '';
+ this.hideForm();
+ },
+ onError(err) {
+ this.$emit('error', err);
+ },
+ hideForm() {
+ this.isFormRendered = false;
+ this.discussionComment = '';
+ },
+ showForm() {
+ this.isFormRendered = true;
+ },
+ },
+ createNoteMutation,
+};
+</script>
+
+<template>
+ <div class="design-discussion-wrapper">
+ <div class="badge badge-pill" type="button">{{ discussionIndex }}</div>
+ <div
+ class="design-discussion bordered-box position-relative"
+ data-qa-selector="design_discussion_content"
+ >
+ <design-note
+ v-for="note in discussion.notes"
+ :key="note.id"
+ :note="note"
+ :markdown-preview-path="markdownPreviewPath"
+ @error="$emit('updateNoteError', $event)"
+ />
+ <div class="reply-wrapper">
+ <reply-placeholder
+ v-if="!isFormRendered"
+ class="qa-discussion-reply"
+ :button-text="__('Reply...')"
+ @onClick="showForm"
+ />
+ <apollo-mutation
+ v-else
+ #default="{ mutate, loading }"
+ :mutation="$options.createNoteMutation"
+ :variables="{
+ input: mutationPayload,
+ }"
+ :update="addDiscussionComment"
+ @done="onDone"
+ @error="onError"
+ >
+ <design-reply-form
+ v-model="discussionComment"
+ :is-saving="loading"
+ :markdown-preview-path="markdownPreviewPath"
+ @submitForm="mutate"
+ @cancelForm="hideForm"
+ />
+ </apollo-mutation>
+ </div>
+ </div>
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/components/design_notes/design_note.vue b/app/assets/javascripts/design_management/components/design_notes/design_note.vue
new file mode 100644
index 00000000000..f87140b23c9
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/design_notes/design_note.vue
@@ -0,0 +1,148 @@
+<script>
+import { ApolloMutation } from 'vue-apollo';
+import { GlTooltipDirective, GlIcon } from '@gitlab/ui';
+import updateNoteMutation from '../../graphql/mutations/update_note.mutation.graphql';
+import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';
+import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item.vue';
+import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
+import DesignReplyForm from './design_reply_form.vue';
+import { findNoteId } from '../../utils/design_management_utils';
+import { hasErrors } from '../../utils/cache_update';
+
+export default {
+ components: {
+ UserAvatarLink,
+ TimelineEntryItem,
+ TimeAgoTooltip,
+ DesignReplyForm,
+ ApolloMutation,
+ GlIcon,
+ },
+ directives: {
+ GlTooltip: GlTooltipDirective,
+ },
+ props: {
+ note: {
+ type: Object,
+ required: true,
+ },
+ markdownPreviewPath: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ },
+ data() {
+ return {
+ noteText: this.note.body,
+ isEditing: false,
+ };
+ },
+ computed: {
+ author() {
+ return this.note.author;
+ },
+ noteAnchorId() {
+ return findNoteId(this.note.id);
+ },
+ isNoteLinked() {
+ return this.$route.hash === `#note_${this.noteAnchorId}`;
+ },
+ mutationPayload() {
+ return {
+ id: this.note.id,
+ body: this.noteText,
+ };
+ },
+ },
+ mounted() {
+ if (this.isNoteLinked) {
+ this.$refs.anchor.$el.scrollIntoView({ behavior: 'smooth', inline: 'start' });
+ }
+ },
+ methods: {
+ hideForm() {
+ this.isEditing = false;
+ this.noteText = this.note.body;
+ },
+ onDone({ data }) {
+ this.hideForm();
+ if (hasErrors(data.updateNote)) {
+ this.$emit('error', data.errors[0]);
+ }
+ },
+ },
+ updateNoteMutation,
+};
+</script>
+
+<template>
+ <timeline-entry-item :id="`note_${noteAnchorId}`" ref="anchor" class="design-note note-form">
+ <user-avatar-link
+ :link-href="author.webUrl"
+ :img-src="author.avatarUrl"
+ :img-alt="author.username"
+ :img-size="40"
+ />
+ <div class="d-flex justify-content-between">
+ <div>
+ <a
+ v-once
+ :href="author.webUrl"
+ class="js-user-link"
+ :data-user-id="author.id"
+ :data-username="author.username"
+ >
+ <span class="note-header-author-name bold">{{ author.name }}</span>
+ <span v-if="author.status_tooltip_html" v-html="author.status_tooltip_html"></span>
+ <span class="note-headline-light">@{{ author.username }}</span>
+ </a>
+ <span class="note-headline-light note-headline-meta">
+ <span class="system-note-message"> <slot></slot> </span>
+ <template v-if="note.createdAt">
+ <span class="system-note-separator"></span>
+ <a class="note-timestamp system-note-separator" :href="`#note_${noteAnchorId}`">
+ <time-ago-tooltip :time="note.createdAt" tooltip-placement="bottom" />
+ </a>
+ </template>
+ </span>
+ </div>
+ <button
+ v-if="!isEditing"
+ v-gl-tooltip
+ type="button"
+ title="Edit comment"
+ class="note-action-button js-note-edit btn btn-transparent qa-note-edit-button"
+ @click="isEditing = true"
+ >
+ <gl-icon name="pencil" class="link-highlight" />
+ </button>
+ </div>
+ <div
+ v-if="!isEditing"
+ class="note-text js-note-text md"
+ data-qa-selector="note_content"
+ v-html="note.bodyHtml"
+ ></div>
+ <apollo-mutation
+ v-else
+ #default="{ mutate, loading }"
+ :mutation="$options.updateNoteMutation"
+ :variables="{
+ input: mutationPayload,
+ }"
+ @error="$emit('error', $event)"
+ @done="onDone"
+ >
+ <design-reply-form
+ v-model="noteText"
+ :is-saving="loading"
+ :markdown-preview-path="markdownPreviewPath"
+ :is-new-comment="false"
+ class="mt-5"
+ @submitForm="mutate"
+ @cancelForm="hideForm"
+ />
+ </apollo-mutation>
+ </timeline-entry-item>
+</template>
diff --git a/app/assets/javascripts/design_management/components/design_notes/design_reply_form.vue b/app/assets/javascripts/design_management/components/design_notes/design_reply_form.vue
new file mode 100644
index 00000000000..40be9867fee
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/design_notes/design_reply_form.vue
@@ -0,0 +1,137 @@
+<script>
+import { GlDeprecatedButton, GlModal } from '@gitlab/ui';
+import MarkdownField from '~/vue_shared/components/markdown/field.vue';
+import { s__ } from '~/locale';
+
+export default {
+ name: 'DesignReplyForm',
+ components: {
+ MarkdownField,
+ GlDeprecatedButton,
+ GlModal,
+ },
+ props: {
+ markdownPreviewPath: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ value: {
+ type: String,
+ required: true,
+ },
+ isSaving: {
+ type: Boolean,
+ required: true,
+ },
+ isNewComment: {
+ type: Boolean,
+ required: false,
+ default: true,
+ },
+ },
+ data() {
+ return {
+ formText: this.value,
+ };
+ },
+ computed: {
+ hasValue() {
+ return this.value.trim().length > 0;
+ },
+ modalSettings() {
+ if (this.isNewComment) {
+ return {
+ title: s__('DesignManagement|Cancel comment confirmation'),
+ okTitle: s__('DesignManagement|Discard comment'),
+ cancelTitle: s__('DesignManagement|Keep comment'),
+ content: s__('DesignManagement|Are you sure you want to cancel creating this comment?'),
+ };
+ }
+ return {
+ title: s__('DesignManagement|Cancel comment update confirmation'),
+ okTitle: s__('DesignManagement|Cancel changes'),
+ cancelTitle: s__('DesignManagement|Keep changes'),
+ content: s__('DesignManagement|Are you sure you want to cancel changes to this comment?'),
+ };
+ },
+ buttonText() {
+ return this.isNewComment
+ ? s__('DesignManagement|Comment')
+ : s__('DesignManagement|Save comment');
+ },
+ },
+ mounted() {
+ this.$refs.textarea.focus();
+ },
+ methods: {
+ submitForm() {
+ if (this.hasValue) this.$emit('submitForm');
+ },
+ cancelComment() {
+ if (this.hasValue && this.formText !== this.value) {
+ this.$refs.cancelCommentModal.show();
+ } else {
+ this.$emit('cancelForm');
+ }
+ },
+ },
+};
+</script>
+
+<template>
+ <form class="new-note common-note-form" @submit.prevent>
+ <markdown-field
+ :markdown-preview-path="markdownPreviewPath"
+ :can-attach-file="false"
+ :enable-autocomplete="true"
+ :textarea-value="value"
+ markdown-docs-path="/help/user/markdown"
+ class="bordered-box"
+ >
+ <template #textarea>
+ <textarea
+ ref="textarea"
+ :value="value"
+ class="note-textarea js-gfm-input js-autosize markdown-area"
+ dir="auto"
+ data-supports-quick-actions="false"
+ data-qa-selector="note_textarea"
+ :aria-label="__('Description')"
+ :placeholder="__('Write a comment…')"
+ @input="$emit('input', $event.target.value)"
+ @keydown.meta.enter="submitForm"
+ @keydown.ctrl.enter="submitForm"
+ @keyup.esc.stop="cancelComment"
+ >
+ </textarea>
+ </template>
+ </markdown-field>
+ <div class="note-form-actions d-flex justify-content-between">
+ <gl-deprecated-button
+ ref="submitButton"
+ :disabled="!hasValue || isSaving"
+ variant="success"
+ type="submit"
+ data-track-event="click_button"
+ data-qa-selector="save_comment_button"
+ @click="$emit('submitForm')"
+ >
+ {{ buttonText }}
+ </gl-deprecated-button>
+ <gl-deprecated-button ref="cancelButton" @click="cancelComment">{{
+ __('Cancel')
+ }}</gl-deprecated-button>
+ </div>
+ <gl-modal
+ ref="cancelCommentModal"
+ ok-variant="danger"
+ :title="modalSettings.title"
+ :ok-title="modalSettings.okTitle"
+ :cancel-title="modalSettings.cancelTitle"
+ modal-id="cancel-comment-modal"
+ @ok="$emit('cancelForm')"
+ >{{ modalSettings.content }}
+ </gl-modal>
+ </form>
+</template>
diff --git a/app/assets/javascripts/design_management/components/design_overlay.vue b/app/assets/javascripts/design_management/components/design_overlay.vue
new file mode 100644
index 00000000000..06b0d877236
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/design_overlay.vue
@@ -0,0 +1,250 @@
+<script>
+import DesignNotePin from './design_note_pin.vue';
+
+export default {
+ name: 'DesignOverlay',
+ components: {
+ DesignNotePin,
+ },
+ props: {
+ dimensions: {
+ type: Object,
+ required: true,
+ },
+ position: {
+ type: Object,
+ required: true,
+ },
+ notes: {
+ type: Array,
+ required: false,
+ default: () => [],
+ },
+ currentCommentForm: {
+ type: Object,
+ required: false,
+ default: null,
+ },
+ disableCommenting: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
+ },
+ data() {
+ return {
+ movingNoteNewPosition: null,
+ movingNoteStartPosition: null,
+ };
+ },
+ computed: {
+ overlayStyle() {
+ const cursor = this.disableCommenting ? 'unset' : undefined;
+
+ return {
+ cursor,
+ width: `${this.dimensions.width}px`,
+ height: `${this.dimensions.height}px`,
+ ...this.position,
+ };
+ },
+ isMovingCurrentComment() {
+ return Boolean(this.movingNoteStartPosition && !this.movingNoteStartPosition.noteId);
+ },
+ currentCommentPositionStyle() {
+ return this.isMovingCurrentComment && this.movingNoteNewPosition
+ ? this.getNotePositionStyle(this.movingNoteNewPosition)
+ : this.getNotePositionStyle(this.currentCommentForm);
+ },
+ },
+ methods: {
+ setNewNoteCoordinates({ x, y }) {
+ this.$emit('openCommentForm', { x, y });
+ },
+ getNoteRelativePosition(position) {
+ const { x, y, width, height } = position;
+ const widthRatio = this.dimensions.width / width;
+ const heightRatio = this.dimensions.height / height;
+ return {
+ left: Math.round(x * widthRatio),
+ top: Math.round(y * heightRatio),
+ };
+ },
+ getNotePositionStyle(position) {
+ const { left, top } = this.getNoteRelativePosition(position);
+ return {
+ left: `${left}px`,
+ top: `${top}px`,
+ };
+ },
+ getMovingNotePositionDelta(e) {
+ let deltaX = 0;
+ let deltaY = 0;
+
+ if (this.movingNoteStartPosition) {
+ const { clientX, clientY } = this.movingNoteStartPosition;
+ deltaX = e.clientX - clientX;
+ deltaY = e.clientY - clientY;
+ }
+
+ return {
+ deltaX,
+ deltaY,
+ };
+ },
+ isMovingNote(noteId) {
+ const movingNoteId = this.movingNoteStartPosition?.noteId;
+ return Boolean(movingNoteId && movingNoteId === noteId);
+ },
+ canMoveNote(note) {
+ const { userPermissions } = note;
+ const { adminNote } = userPermissions || {};
+
+ return Boolean(adminNote);
+ },
+ isPositionInOverlay(position) {
+ const { top, left } = this.getNoteRelativePosition(position);
+ const { height, width } = this.dimensions;
+
+ return top >= 0 && top <= height && left >= 0 && left <= width;
+ },
+ onNewNoteMove(e) {
+ if (!this.isMovingCurrentComment) return;
+
+ const { deltaX, deltaY } = this.getMovingNotePositionDelta(e);
+ const x = this.currentCommentForm.x + deltaX;
+ const y = this.currentCommentForm.y + deltaY;
+
+ const movingNoteNewPosition = {
+ x,
+ y,
+ width: this.dimensions.width,
+ height: this.dimensions.height,
+ };
+
+ if (!this.isPositionInOverlay(movingNoteNewPosition)) {
+ this.onNewNoteMouseup();
+ return;
+ }
+
+ this.movingNoteNewPosition = movingNoteNewPosition;
+ },
+ onExistingNoteMove(e) {
+ const note = this.notes.find(({ id }) => id === this.movingNoteStartPosition.noteId);
+ if (!note) return;
+
+ const { position } = note;
+ const { width, height } = position;
+ const widthRatio = this.dimensions.width / width;
+ const heightRatio = this.dimensions.height / height;
+
+ const { deltaX, deltaY } = this.getMovingNotePositionDelta(e);
+ const x = position.x * widthRatio + deltaX;
+ const y = position.y * heightRatio + deltaY;
+
+ const movingNoteNewPosition = {
+ x,
+ y,
+ width: this.dimensions.width,
+ height: this.dimensions.height,
+ };
+
+ if (!this.isPositionInOverlay(movingNoteNewPosition)) {
+ this.onExistingNoteMouseup();
+ return;
+ }
+
+ this.movingNoteNewPosition = movingNoteNewPosition;
+ },
+ onNewNoteMouseup() {
+ if (!this.movingNoteNewPosition) return;
+
+ const { x, y } = this.movingNoteNewPosition;
+ this.setNewNoteCoordinates({ x, y });
+ },
+ onExistingNoteMouseup() {
+ if (!this.movingNoteStartPosition || !this.movingNoteNewPosition) return;
+
+ const { x, y } = this.movingNoteNewPosition;
+ this.$emit('moveNote', {
+ noteId: this.movingNoteStartPosition.noteId,
+ discussionId: this.movingNoteStartPosition.discussionId,
+ coordinates: { x, y },
+ });
+ },
+ onNoteMousedown({ clientX, clientY }, note) {
+ if (note && !this.canMoveNote(note)) return;
+
+ this.movingNoteStartPosition = {
+ noteId: note?.id,
+ discussionId: note?.discussion.id,
+ clientX,
+ clientY,
+ };
+ },
+ onOverlayMousemove(e) {
+ if (!this.movingNoteStartPosition) return;
+
+ if (this.isMovingCurrentComment) {
+ this.onNewNoteMove(e);
+ } else {
+ this.onExistingNoteMove(e);
+ }
+ },
+ onNoteMouseup() {
+ if (!this.movingNoteStartPosition) return;
+
+ if (this.isMovingCurrentComment) {
+ this.onNewNoteMouseup();
+ } else {
+ this.onExistingNoteMouseup();
+ }
+
+ this.movingNoteStartPosition = null;
+ this.movingNoteNewPosition = null;
+ },
+ onAddCommentMouseup({ offsetX, offsetY }) {
+ if (this.disableCommenting) return;
+
+ this.setNewNoteCoordinates({ x: offsetX, y: offsetY });
+ },
+ },
+};
+</script>
+
+<template>
+ <div
+ class="position-absolute image-diff-overlay frame"
+ :style="overlayStyle"
+ @mousemove="onOverlayMousemove"
+ @mouseleave="onNoteMouseup"
+ >
+ <button
+ v-show="!disableCommenting"
+ type="button"
+ class="btn-transparent position-absolute image-diff-overlay-add-comment w-100 h-100 js-add-image-diff-note-button"
+ data-qa-selector="design_image_button"
+ @mouseup="onAddCommentMouseup"
+ ></button>
+ <design-note-pin
+ v-for="(note, index) in notes"
+ :key="note.id"
+ :label="`${index + 1}`"
+ :repositioning="isMovingNote(note.id)"
+ :position="
+ isMovingNote(note.id) && movingNoteNewPosition
+ ? getNotePositionStyle(movingNoteNewPosition)
+ : getNotePositionStyle(note.position)
+ "
+ @mousedown.stop="onNoteMousedown($event, note)"
+ @mouseup.stop="onNoteMouseup"
+ />
+ <design-note-pin
+ v-if="currentCommentForm"
+ :position="currentCommentPositionStyle"
+ :repositioning="isMovingCurrentComment"
+ @mousedown.stop="onNoteMousedown"
+ @mouseup.stop="onNoteMouseup"
+ />
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/components/design_presentation.vue b/app/assets/javascripts/design_management/components/design_presentation.vue
new file mode 100644
index 00000000000..4046bb17534
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/design_presentation.vue
@@ -0,0 +1,309 @@
+<script>
+import { throttle } from 'lodash';
+import DesignImage from './image.vue';
+import DesignOverlay from './design_overlay.vue';
+
+const CLICK_DRAG_BUFFER_PX = 2;
+
+export default {
+ components: {
+ DesignImage,
+ DesignOverlay,
+ },
+ props: {
+ image: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ imageName: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ discussions: {
+ type: Array,
+ required: true,
+ },
+ isAnnotating: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
+ scale: {
+ type: Number,
+ required: false,
+ default: 1,
+ },
+ },
+ data() {
+ return {
+ overlayDimensions: null,
+ overlayPosition: null,
+ currentAnnotationPosition: null,
+ zoomFocalPoint: {
+ x: 0,
+ y: 0,
+ width: 0,
+ height: 0,
+ },
+ initialLoad: true,
+ lastDragPosition: null,
+ isDraggingDesign: false,
+ };
+ },
+ computed: {
+ discussionStartingNotes() {
+ return this.discussions.map(discussion => discussion.notes[0]);
+ },
+ currentCommentForm() {
+ return (this.isAnnotating && this.currentAnnotationPosition) || null;
+ },
+ presentationStyle() {
+ return {
+ cursor: this.isDraggingDesign ? 'grabbing' : undefined,
+ };
+ },
+ },
+ beforeDestroy() {
+ const { presentationViewport } = this.$refs;
+ if (!presentationViewport) return;
+
+ presentationViewport.removeEventListener('scroll', this.scrollThrottled, false);
+ },
+ mounted() {
+ const { presentationViewport } = this.$refs;
+ if (!presentationViewport) return;
+
+ this.scrollThrottled = throttle(() => {
+ this.shiftZoomFocalPoint();
+ }, 400);
+
+ presentationViewport.addEventListener('scroll', this.scrollThrottled, false);
+ },
+ methods: {
+ syncCurrentAnnotationPosition() {
+ if (!this.currentAnnotationPosition) return;
+
+ const widthRatio = this.overlayDimensions.width / this.currentAnnotationPosition.width;
+ const heightRatio = this.overlayDimensions.height / this.currentAnnotationPosition.height;
+ const x = this.currentAnnotationPosition.x * widthRatio;
+ const y = this.currentAnnotationPosition.y * heightRatio;
+
+ this.currentAnnotationPosition = this.getAnnotationPositon({ x, y });
+ },
+ setOverlayDimensions(overlayDimensions) {
+ this.overlayDimensions = overlayDimensions;
+
+ // every time we set overlay dimensions, we need to
+ // update the current annotation as well
+ this.syncCurrentAnnotationPosition();
+ },
+ setOverlayPosition() {
+ if (!this.overlayDimensions) {
+ this.overlayPosition = {};
+ }
+
+ const { presentationViewport } = this.$refs;
+ if (!presentationViewport) return;
+
+ // default to center
+ this.overlayPosition = {
+ left: `calc(50% - ${this.overlayDimensions.width / 2}px)`,
+ top: `calc(50% - ${this.overlayDimensions.height / 2}px)`,
+ };
+
+ // if the overlay overflows, then don't center
+ if (this.overlayDimensions.width > presentationViewport.offsetWidth) {
+ this.overlayPosition.left = '0';
+ }
+ if (this.overlayDimensions.height > presentationViewport.offsetHeight) {
+ this.overlayPosition.top = '0';
+ }
+ },
+ /**
+ * Return a point that represents the center of an
+ * overflowing child element w.r.t it's parent
+ */
+ getViewportCenter() {
+ const { presentationViewport } = this.$refs;
+ if (!presentationViewport) return {};
+
+ // get height of scroll bars (i.e. the max values for scrollTop, scrollLeft)
+ const scrollBarWidth = presentationViewport.scrollWidth - presentationViewport.offsetWidth;
+ const scrollBarHeight = presentationViewport.scrollHeight - presentationViewport.offsetHeight;
+
+ // determine how many child pixels have been scrolled
+ const xScrollRatio =
+ presentationViewport.scrollLeft > 0 ? presentationViewport.scrollLeft / scrollBarWidth : 0;
+ const yScrollRatio =
+ presentationViewport.scrollTop > 0 ? presentationViewport.scrollTop / scrollBarHeight : 0;
+ const xScrollOffset =
+ (presentationViewport.scrollWidth - presentationViewport.offsetWidth - 0) * xScrollRatio;
+ const yScrollOffset =
+ (presentationViewport.scrollHeight - presentationViewport.offsetHeight - 0) * yScrollRatio;
+
+ const viewportCenterX = presentationViewport.offsetWidth / 2;
+ const viewportCenterY = presentationViewport.offsetHeight / 2;
+ const focalPointX = viewportCenterX + xScrollOffset;
+ const focalPointY = viewportCenterY + yScrollOffset;
+
+ return {
+ x: focalPointX,
+ y: focalPointY,
+ };
+ },
+ /**
+ * Scroll the viewport such that the focal point is positioned centrally
+ */
+ scrollToFocalPoint() {
+ const { presentationViewport } = this.$refs;
+ if (!presentationViewport) return;
+
+ const scrollX = this.zoomFocalPoint.x - presentationViewport.offsetWidth / 2;
+ const scrollY = this.zoomFocalPoint.y - presentationViewport.offsetHeight / 2;
+
+ presentationViewport.scrollTo(scrollX, scrollY);
+ },
+ scaleZoomFocalPoint() {
+ const { x, y, width, height } = this.zoomFocalPoint;
+ const widthRatio = this.overlayDimensions.width / width;
+ const heightRatio = this.overlayDimensions.height / height;
+
+ this.zoomFocalPoint = {
+ x: Math.round(x * widthRatio * 100) / 100,
+ y: Math.round(y * heightRatio * 100) / 100,
+ ...this.overlayDimensions,
+ };
+ },
+ shiftZoomFocalPoint() {
+ this.zoomFocalPoint = {
+ ...this.getViewportCenter(),
+ ...this.overlayDimensions,
+ };
+ },
+ onImageResize(imageDimensions) {
+ this.setOverlayDimensions(imageDimensions);
+ this.setOverlayPosition();
+
+ this.$nextTick(() => {
+ if (this.initialLoad) {
+ // set focal point on initial load
+ this.shiftZoomFocalPoint();
+ this.initialLoad = false;
+ } else {
+ this.scaleZoomFocalPoint();
+ this.scrollToFocalPoint();
+ }
+ });
+ },
+ getAnnotationPositon(coordinates) {
+ const { x, y } = coordinates;
+ const { width, height } = this.overlayDimensions;
+ return {
+ x: Math.round(x),
+ y: Math.round(y),
+ width: Math.round(width),
+ height: Math.round(height),
+ };
+ },
+ openCommentForm(coordinates) {
+ this.currentAnnotationPosition = this.getAnnotationPositon(coordinates);
+ this.$emit('openCommentForm', this.currentAnnotationPosition);
+ },
+ moveNote({ noteId, discussionId, coordinates }) {
+ const position = this.getAnnotationPositon(coordinates);
+ this.$emit('moveNote', { noteId, discussionId, position });
+ },
+ onPresentationMousedown({ clientX, clientY }) {
+ if (!this.isDesignOverflowing()) return;
+
+ this.lastDragPosition = {
+ x: clientX,
+ y: clientY,
+ };
+ },
+ getDragDelta(clientX, clientY) {
+ return {
+ deltaX: this.lastDragPosition.x - clientX,
+ deltaY: this.lastDragPosition.y - clientY,
+ };
+ },
+ exceedsDragThreshold(clientX, clientY) {
+ const { deltaX, deltaY } = this.getDragDelta(clientX, clientY);
+
+ return Math.abs(deltaX) > CLICK_DRAG_BUFFER_PX || Math.abs(deltaY) > CLICK_DRAG_BUFFER_PX;
+ },
+ shouldDragDesign(clientX, clientY) {
+ return (
+ this.lastDragPosition &&
+ (this.isDraggingDesign || this.exceedsDragThreshold(clientX, clientY))
+ );
+ },
+ onPresentationMousemove({ clientX, clientY }) {
+ const { presentationViewport } = this.$refs;
+ if (!presentationViewport || !this.shouldDragDesign(clientX, clientY)) return;
+
+ this.isDraggingDesign = true;
+
+ const { scrollLeft, scrollTop } = presentationViewport;
+ const { deltaX, deltaY } = this.getDragDelta(clientX, clientY);
+ presentationViewport.scrollTo(scrollLeft + deltaX, scrollTop + deltaY);
+
+ this.lastDragPosition = {
+ x: clientX,
+ y: clientY,
+ };
+ },
+ onPresentationMouseup() {
+ this.lastDragPosition = null;
+ this.isDraggingDesign = false;
+ },
+ isDesignOverflowing() {
+ const { presentationViewport } = this.$refs;
+ if (!presentationViewport) return false;
+
+ return (
+ presentationViewport.scrollWidth > presentationViewport.offsetWidth ||
+ presentationViewport.scrollHeight > presentationViewport.offsetHeight
+ );
+ },
+ },
+};
+</script>
+
+<template>
+ <div
+ ref="presentationViewport"
+ class="h-100 w-100 p-3 overflow-auto position-relative"
+ :style="presentationStyle"
+ @mousedown="onPresentationMousedown"
+ @mousemove="onPresentationMousemove"
+ @mouseup="onPresentationMouseup"
+ @mouseleave="onPresentationMouseup"
+ @touchstart="onPresentationMousedown"
+ @touchmove="onPresentationMousemove"
+ @touchend="onPresentationMouseup"
+ @touchcancel="onPresentationMouseup"
+ >
+ <div class="h-100 w-100 d-flex align-items-center position-relative">
+ <design-image
+ v-if="image"
+ :image="image"
+ :name="imageName"
+ :scale="scale"
+ @resize="onImageResize"
+ />
+ <design-overlay
+ v-if="overlayDimensions && overlayPosition"
+ :dimensions="overlayDimensions"
+ :position="overlayPosition"
+ :notes="discussionStartingNotes"
+ :current-comment-form="currentCommentForm"
+ :disable-commenting="isDraggingDesign"
+ @openCommentForm="openCommentForm"
+ @moveNote="moveNote"
+ />
+ </div>
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/components/design_scaler.vue b/app/assets/javascripts/design_management/components/design_scaler.vue
new file mode 100644
index 00000000000..55dee74bef5
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/design_scaler.vue
@@ -0,0 +1,65 @@
+<script>
+import { GlIcon } from '@gitlab/ui';
+
+const SCALE_STEP_SIZE = 0.2;
+const DEFAULT_SCALE = 1;
+const MIN_SCALE = 1;
+const MAX_SCALE = 2;
+
+export default {
+ components: {
+ GlIcon,
+ },
+ data() {
+ return {
+ scale: DEFAULT_SCALE,
+ };
+ },
+ computed: {
+ disableReset() {
+ return this.scale <= MIN_SCALE;
+ },
+ disableDecrease() {
+ return this.scale === DEFAULT_SCALE;
+ },
+ disableIncrease() {
+ return this.scale >= MAX_SCALE;
+ },
+ },
+ methods: {
+ setScale(scale) {
+ if (scale < MIN_SCALE) {
+ return;
+ }
+
+ this.scale = Math.round(scale * 100) / 100;
+ this.$emit('scale', this.scale);
+ },
+ incrementScale() {
+ this.setScale(this.scale + SCALE_STEP_SIZE);
+ },
+ decrementScale() {
+ this.setScale(this.scale - SCALE_STEP_SIZE);
+ },
+ resetScale() {
+ this.setScale(DEFAULT_SCALE);
+ },
+ },
+};
+</script>
+
+<template>
+ <div class="design-scaler btn-group" role="group">
+ <button class="btn" :disabled="disableDecrease" @click="decrementScale">
+ <span class="d-flex-center gl-icon s16">
+ –
+ </span>
+ </button>
+ <button class="btn" :disabled="disableReset" @click="resetScale">
+ <gl-icon name="redo" />
+ </button>
+ <button class="btn" :disabled="disableIncrease" @click="incrementScale">
+ <gl-icon name="plus" />
+ </button>
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/components/image.vue b/app/assets/javascripts/design_management/components/image.vue
new file mode 100644
index 00000000000..91b7b576e0c
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/image.vue
@@ -0,0 +1,110 @@
+<script>
+import { throttle } from 'lodash';
+import { GlIcon } from '@gitlab/ui';
+
+export default {
+ components: {
+ GlIcon,
+ },
+ props: {
+ image: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ name: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ scale: {
+ type: Number,
+ required: false,
+ default: 1,
+ },
+ },
+ data() {
+ return {
+ baseImageSize: null,
+ imageStyle: null,
+ imageError: false,
+ };
+ },
+ watch: {
+ scale(val) {
+ this.zoom(val);
+ },
+ },
+ beforeDestroy() {
+ window.removeEventListener('resize', this.resizeThrottled, false);
+ },
+ mounted() {
+ this.onImgLoad();
+
+ this.resizeThrottled = throttle(() => {
+ // NOTE: if imageStyle is set, then baseImageSize
+ // won't change due to resize. We must still emit a
+ // `resize` event so that the parent can handle
+ // resizes appropriately (e.g. for design_overlay)
+ this.setBaseImageSize();
+ }, 400);
+ window.addEventListener('resize', this.resizeThrottled, false);
+ },
+ methods: {
+ onImgLoad() {
+ requestIdleCallback(this.setBaseImageSize, { timeout: 1000 });
+ },
+ onImgError() {
+ this.imageError = true;
+ },
+ setBaseImageSize() {
+ const { contentImg } = this.$refs;
+ if (!contentImg || contentImg.offsetHeight === 0 || contentImg.offsetWidth === 0) return;
+
+ this.baseImageSize = {
+ height: contentImg.offsetHeight,
+ width: contentImg.offsetWidth,
+ };
+ this.onResize({ width: this.baseImageSize.width, height: this.baseImageSize.height });
+ },
+ onResize({ width, height }) {
+ this.$emit('resize', { width, height });
+ },
+ zoom(amount) {
+ if (amount === 1) {
+ this.imageStyle = null;
+ this.$nextTick(() => {
+ this.setBaseImageSize();
+ });
+ return;
+ }
+ const width = this.baseImageSize.width * amount;
+ const height = this.baseImageSize.height * amount;
+
+ this.imageStyle = {
+ width: `${width}px`,
+ height: `${height}px`,
+ };
+
+ this.onResize({ width, height });
+ },
+ },
+};
+</script>
+
+<template>
+ <div class="m-auto js-design-image">
+ <gl-icon v-if="imageError" class="text-secondary-100" name="media-broken" :size="48" />
+ <img
+ v-show="!imageError"
+ ref="contentImg"
+ class="mh-100"
+ :src="image"
+ :alt="name"
+ :style="imageStyle"
+ :class="{ 'img-fluid': !imageStyle }"
+ @error="onImgError"
+ @load="onImgLoad"
+ />
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/components/list/item.vue b/app/assets/javascripts/design_management/components/list/item.vue
new file mode 100644
index 00000000000..eaa641d85d6
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/list/item.vue
@@ -0,0 +1,174 @@
+<script>
+import { GlLoadingIcon, GlIcon, GlIntersectionObserver } from '@gitlab/ui';
+import Icon from '~/vue_shared/components/icon.vue';
+import Timeago from '~/vue_shared/components/time_ago_tooltip.vue';
+import { n__, __ } from '~/locale';
+import { DESIGN_ROUTE_NAME } from '../../router/constants';
+
+export default {
+ components: {
+ GlLoadingIcon,
+ GlIntersectionObserver,
+ GlIcon,
+ Icon,
+ Timeago,
+ },
+ props: {
+ id: {
+ type: [Number, String],
+ required: true,
+ },
+ event: {
+ type: String,
+ required: true,
+ },
+ notesCount: {
+ type: Number,
+ required: true,
+ },
+ image: {
+ type: String,
+ required: true,
+ },
+ filename: {
+ type: String,
+ required: true,
+ },
+ updatedAt: {
+ type: String,
+ required: false,
+ default: null,
+ },
+ isUploading: {
+ type: Boolean,
+ required: false,
+ default: true,
+ },
+ imageV432x230: {
+ type: String,
+ required: false,
+ default: null,
+ },
+ },
+ data() {
+ return {
+ imageLoading: true,
+ imageError: false,
+ wasInView: false,
+ };
+ },
+ computed: {
+ icon() {
+ const normalizedEvent = this.event.toLowerCase();
+ const icons = {
+ creation: {
+ name: 'file-addition-solid',
+ classes: 'text-success-500',
+ tooltip: __('Added in this version'),
+ },
+ modification: {
+ name: 'file-modified-solid',
+ classes: 'text-primary-500',
+ tooltip: __('Modified in this version'),
+ },
+ deletion: {
+ name: 'file-deletion-solid',
+ classes: 'text-danger-500',
+ tooltip: __('Deleted in this version'),
+ },
+ };
+
+ return icons[normalizedEvent] ? icons[normalizedEvent] : {};
+ },
+ notesLabel() {
+ return n__('%d comment', '%d comments', this.notesCount);
+ },
+ imageLink() {
+ return this.wasInView ? this.imageV432x230 || this.image : '';
+ },
+ showLoadingSpinner() {
+ return this.imageLoading || this.isUploading;
+ },
+ showImageErrorIcon() {
+ return this.wasInView && this.imageError;
+ },
+ showImage() {
+ return !this.showLoadingSpinner && !this.showImageErrorIcon;
+ },
+ },
+ methods: {
+ onImageLoad() {
+ this.imageLoading = false;
+ this.imageError = false;
+ },
+ onImageError() {
+ this.imageLoading = false;
+ this.imageError = true;
+ },
+ onAppear() {
+ // do nothing if image has previously
+ // been in view
+ if (this.wasInView) {
+ return;
+ }
+
+ this.wasInView = true;
+ this.imageLoading = true;
+ },
+ },
+ DESIGN_ROUTE_NAME,
+};
+</script>
+
+<template>
+ <router-link
+ :to="{
+ name: $options.DESIGN_ROUTE_NAME,
+ params: { id: filename },
+ query: $route.query,
+ }"
+ class="card cursor-pointer text-plain js-design-list-item design-list-item"
+ >
+ <div class="card-body p-0 d-flex-center overflow-hidden position-relative">
+ <div v-if="icon.name" class="design-event position-absolute">
+ <span :title="icon.tooltip" :aria-label="icon.tooltip">
+ <icon :name="icon.name" :size="18" :class="icon.classes" />
+ </span>
+ </div>
+ <gl-intersection-observer @appear="onAppear">
+ <gl-loading-icon v-if="showLoadingSpinner" size="md" />
+ <gl-icon
+ v-else-if="showImageErrorIcon"
+ name="media-broken"
+ class="text-secondary"
+ :size="32"
+ />
+ <img
+ v-show="showImage"
+ :src="imageLink"
+ :alt="filename"
+ class="block mx-auto mw-100 mh-100 design-img"
+ data-qa-selector="design_image"
+ @load="onImageLoad"
+ @error="onImageError"
+ />
+ </gl-intersection-observer>
+ </div>
+ <div class="card-footer d-flex w-100">
+ <div class="d-flex flex-column str-truncated-100">
+ <span class="bold str-truncated-100" data-qa-selector="design_file_name">{{
+ filename
+ }}</span>
+ <span v-if="updatedAt" class="str-truncated-100">
+ {{ __('Updated') }} <timeago :time="updatedAt" tooltip-placement="bottom" />
+ </span>
+ </div>
+ <div v-if="notesCount" class="ml-auto d-flex align-items-center text-secondary">
+ <icon name="comments" class="ml-1" />
+ <span :aria-label="notesLabel" class="ml-1">
+ {{ notesCount }}
+ </span>
+ </div>
+ </div>
+ </router-link>
+</template>
diff --git a/app/assets/javascripts/design_management/components/toolbar/index.vue b/app/assets/javascripts/design_management/components/toolbar/index.vue
new file mode 100644
index 00000000000..816ad1780dc
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/toolbar/index.vue
@@ -0,0 +1,126 @@
+<script>
+import { GlDeprecatedButton } from '@gitlab/ui';
+import { __, sprintf } from '~/locale';
+import Icon from '~/vue_shared/components/icon.vue';
+import timeagoMixin from '~/vue_shared/mixins/timeago';
+import Pagination from './pagination.vue';
+import DeleteButton from '../delete_button.vue';
+import permissionsQuery from '../../graphql/queries/permissions.query.graphql';
+import appDataQuery from '../../graphql/queries/appData.query.graphql';
+import { DESIGNS_ROUTE_NAME } from '../../router/constants';
+
+export default {
+ components: {
+ Icon,
+ Pagination,
+ DeleteButton,
+ GlDeprecatedButton,
+ },
+ mixins: [timeagoMixin],
+ props: {
+ id: {
+ type: String,
+ required: true,
+ },
+ isDeleting: {
+ type: Boolean,
+ required: true,
+ },
+ filename: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ updatedAt: {
+ type: String,
+ required: false,
+ default: null,
+ },
+ updatedBy: {
+ type: Object,
+ required: false,
+ default: () => ({}),
+ },
+ isLatestVersion: {
+ type: Boolean,
+ required: true,
+ },
+ image: {
+ type: String,
+ required: true,
+ },
+ },
+ data() {
+ return {
+ permissions: {
+ createDesign: false,
+ },
+ projectPath: '',
+ issueIid: null,
+ };
+ },
+ apollo: {
+ appData: {
+ query: appDataQuery,
+ manual: true,
+ result({ data: { projectPath, issueIid } }) {
+ this.projectPath = projectPath;
+ this.issueIid = issueIid;
+ },
+ },
+ permissions: {
+ query: permissionsQuery,
+ variables() {
+ return {
+ fullPath: this.projectPath,
+ iid: this.issueIid,
+ };
+ },
+ update: data => data.project.issue.userPermissions,
+ },
+ },
+ computed: {
+ updatedText() {
+ return sprintf(__('Updated %{updated_at} by %{updated_by}'), {
+ updated_at: this.timeFormatted(this.updatedAt),
+ updated_by: this.updatedBy.name,
+ });
+ },
+ canDeleteDesign() {
+ return this.permissions.createDesign;
+ },
+ },
+ DESIGNS_ROUTE_NAME,
+};
+</script>
+
+<template>
+ <header class="d-flex p-2 bg-white align-items-center js-design-header">
+ <router-link
+ :to="{
+ name: $options.DESIGNS_ROUTE_NAME,
+ query: $route.query,
+ }"
+ :aria-label="s__('DesignManagement|Go back to designs')"
+ class="mr-3 text-plain d-flex justify-content-center align-items-center"
+ >
+ <icon :size="18" name="close" />
+ </router-link>
+ <div class="overflow-hidden d-flex align-items-center">
+ <h2 class="m-0 str-truncated-100 gl-font-base">{{ filename }}</h2>
+ <small v-if="updatedAt" class="text-secondary">{{ updatedText }}</small>
+ </div>
+ <pagination :id="id" class="ml-auto flex-shrink-0" />
+ <gl-deprecated-button :href="image" class="mr-2">
+ <icon :size="18" name="download" />
+ </gl-deprecated-button>
+ <delete-button
+ v-if="isLatestVersion && canDeleteDesign"
+ :is-deleting="isDeleting"
+ button-variant="danger"
+ @deleteSelectedDesigns="$emit('delete')"
+ >
+ <icon :size="18" name="remove" />
+ </delete-button>
+ </header>
+</template>
diff --git a/app/assets/javascripts/design_management/components/toolbar/pagination.vue b/app/assets/javascripts/design_management/components/toolbar/pagination.vue
new file mode 100644
index 00000000000..bf62a8f66a6
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/toolbar/pagination.vue
@@ -0,0 +1,83 @@
+<script>
+/* global Mousetrap */
+import 'mousetrap';
+import { s__, sprintf } from '~/locale';
+import PaginationButton from './pagination_button.vue';
+import allDesignsMixin from '../../mixins/all_designs';
+import { DESIGN_ROUTE_NAME } from '../../router/constants';
+
+export default {
+ components: {
+ PaginationButton,
+ },
+ mixins: [allDesignsMixin],
+ props: {
+ id: {
+ type: String,
+ required: true,
+ },
+ },
+ computed: {
+ designsCount() {
+ return this.designs.length;
+ },
+ currentIndex() {
+ return this.designs.findIndex(design => design.filename === this.id);
+ },
+ paginationText() {
+ return sprintf(s__('DesignManagement|%{current_design} of %{designs_count}'), {
+ current_design: this.currentIndex + 1,
+ designs_count: this.designsCount,
+ });
+ },
+ previousDesign() {
+ if (!this.designsCount) return null;
+
+ return this.designs[this.currentIndex - 1];
+ },
+ nextDesign() {
+ if (!this.designsCount) return null;
+
+ return this.designs[this.currentIndex + 1];
+ },
+ },
+ mounted() {
+ Mousetrap.bind('left', () => this.navigateToDesign(this.previousDesign));
+ Mousetrap.bind('right', () => this.navigateToDesign(this.nextDesign));
+ },
+ beforeDestroy() {
+ Mousetrap.unbind(['left', 'right'], this.navigateToDesign);
+ },
+ methods: {
+ navigateToDesign(design) {
+ if (design) {
+ this.$router.push({
+ name: DESIGN_ROUTE_NAME,
+ params: { id: design.filename },
+ query: this.$route.query,
+ });
+ }
+ },
+ },
+};
+</script>
+
+<template>
+ <div v-if="designsCount" class="d-flex align-items-center">
+ {{ paginationText }}
+ <div class="btn-group ml-3 mr-3">
+ <pagination-button
+ :design="previousDesign"
+ :title="s__('DesignManagement|Go to previous design')"
+ icon-name="angle-left"
+ class="js-previous-design"
+ />
+ <pagination-button
+ :design="nextDesign"
+ :title="s__('DesignManagement|Go to next design')"
+ icon-name="angle-right"
+ class="js-next-design"
+ />
+ </div>
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/components/toolbar/pagination_button.vue b/app/assets/javascripts/design_management/components/toolbar/pagination_button.vue
new file mode 100644
index 00000000000..f00ecefca01
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/toolbar/pagination_button.vue
@@ -0,0 +1,48 @@
+<script>
+import Icon from '~/vue_shared/components/icon.vue';
+import { DESIGN_ROUTE_NAME } from '../../router/constants';
+
+export default {
+ components: {
+ Icon,
+ },
+ props: {
+ design: {
+ type: Object,
+ required: false,
+ default: null,
+ },
+ title: {
+ type: String,
+ required: true,
+ },
+ iconName: {
+ type: String,
+ required: true,
+ },
+ },
+ computed: {
+ designLink() {
+ if (!this.design) return {};
+
+ return {
+ name: DESIGN_ROUTE_NAME,
+ params: { id: this.design.filename },
+ query: this.$route.query,
+ };
+ },
+ },
+};
+</script>
+
+<template>
+ <router-link
+ :to="designLink"
+ :disabled="!design"
+ :class="{ disabled: !design }"
+ :aria-label="title"
+ class="btn btn-default"
+ >
+ <icon :name="iconName" />
+ </router-link>
+</template>
diff --git a/app/assets/javascripts/design_management/components/upload/button.vue b/app/assets/javascripts/design_management/components/upload/button.vue
new file mode 100644
index 00000000000..e3c5e369170
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/upload/button.vue
@@ -0,0 +1,58 @@
+<script>
+import { GlDeprecatedButton, GlLoadingIcon, GlTooltipDirective } from '@gitlab/ui';
+import { VALID_DESIGN_FILE_MIMETYPE } from '../../constants';
+
+export default {
+ components: {
+ GlDeprecatedButton,
+ GlLoadingIcon,
+ },
+ directives: {
+ GlTooltip: GlTooltipDirective,
+ },
+ props: {
+ isSaving: {
+ type: Boolean,
+ required: true,
+ },
+ },
+ methods: {
+ openFileUpload() {
+ this.$refs.fileUpload.click();
+ },
+ onFileUploadChange(e) {
+ this.$emit('upload', e.target.files);
+ },
+ },
+ VALID_DESIGN_FILE_MIMETYPE,
+};
+</script>
+
+<template>
+ <div>
+ <gl-deprecated-button
+ v-gl-tooltip.hover
+ :title="
+ s__(
+ 'DesignManagement|Adding a design with the same filename replaces the file in a new version.',
+ )
+ "
+ :disabled="isSaving"
+ variant="success"
+ @click="openFileUpload"
+ >
+ {{ s__('DesignManagement|Add designs') }}
+ <gl-loading-icon v-if="isSaving" inline class="ml-1" />
+ </gl-deprecated-button>
+
+ <input
+ ref="fileUpload"
+ type="file"
+ name="design_file"
+ :accept="$options.VALID_DESIGN_FILE_MIMETYPE.mimetype"
+ class="hide"
+ multiple
+ @change="onFileUploadChange"
+ />
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/components/upload/design_dropzone.vue b/app/assets/javascripts/design_management/components/upload/design_dropzone.vue
new file mode 100644
index 00000000000..e2e1fc8bfad
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/upload/design_dropzone.vue
@@ -0,0 +1,134 @@
+<script>
+import { GlIcon, GlLink, GlSprintf } from '@gitlab/ui';
+import createFlash from '~/flash';
+import uploadDesignMutation from '../../graphql/mutations/uploadDesign.mutation.graphql';
+import { UPLOAD_DESIGN_INVALID_FILETYPE_ERROR } from '../../utils/error_messages';
+import { isValidDesignFile } from '../../utils/design_management_utils';
+import { VALID_DATA_TRANSFER_TYPE, VALID_DESIGN_FILE_MIMETYPE } from '../../constants';
+
+export default {
+ components: {
+ GlIcon,
+ GlLink,
+ GlSprintf,
+ },
+ data() {
+ return {
+ dragCounter: 0,
+ isDragDataValid: false,
+ };
+ },
+ computed: {
+ dragging() {
+ return this.dragCounter !== 0;
+ },
+ },
+ methods: {
+ isValidUpload(files) {
+ return files.every(isValidDesignFile);
+ },
+ isValidDragDataType({ dataTransfer }) {
+ return Boolean(dataTransfer && dataTransfer.types.some(t => t === VALID_DATA_TRANSFER_TYPE));
+ },
+ ondrop({ dataTransfer = {} }) {
+ this.dragCounter = 0;
+ // User already had feedback when dropzone was active, so bail here
+ if (!this.isDragDataValid) {
+ return;
+ }
+
+ const { files } = dataTransfer;
+ if (!this.isValidUpload(Array.from(files))) {
+ createFlash(UPLOAD_DESIGN_INVALID_FILETYPE_ERROR);
+ return;
+ }
+
+ this.$emit('change', files);
+ },
+ ondragenter(e) {
+ this.dragCounter += 1;
+ this.isDragDataValid = this.isValidDragDataType(e);
+ },
+ ondragleave() {
+ this.dragCounter -= 1;
+ },
+ openFileUpload() {
+ this.$refs.fileUpload.click();
+ },
+ onDesignInputChange(e) {
+ this.$emit('change', e.target.files);
+ },
+ },
+ uploadDesignMutation,
+ VALID_DESIGN_FILE_MIMETYPE,
+};
+</script>
+
+<template>
+ <div
+ class="w-100 position-relative"
+ @dragstart.prevent.stop
+ @dragend.prevent.stop
+ @dragover.prevent.stop
+ @dragenter.prevent.stop="ondragenter"
+ @dragleave.prevent.stop="ondragleave"
+ @drop.prevent.stop="ondrop"
+ >
+ <slot>
+ <button
+ class="card design-dropzone-card design-dropzone-border w-100 h-100 d-flex-center p-3"
+ @click="openFileUpload"
+ >
+ <div class="d-flex-center flex-column text-center">
+ <gl-icon name="doc-new" :size="48" class="mb-4" />
+ <p>
+ <gl-sprintf
+ :message="
+ __(
+ '%{lineOneStart}Drag and drop to upload your designs%{lineOneEnd} or %{linkStart}click to upload%{linkEnd}.',
+ )
+ "
+ >
+ <template #lineOne="{ content }"
+ ><span class="d-block">{{ content }}</span>
+ </template>
+
+ <template #link="{ content }">
+ <gl-link class="h-100 w-100" @click.stop="openFileUpload">{{ content }}</gl-link>
+ </template>
+ </gl-sprintf>
+ </p>
+ </div>
+ </button>
+
+ <input
+ ref="fileUpload"
+ type="file"
+ name="design_file"
+ :accept="$options.VALID_DESIGN_FILE_MIMETYPE.mimetype"
+ class="hide"
+ multiple
+ @change="onDesignInputChange"
+ />
+ </slot>
+ <transition name="design-dropzone-fade">
+ <div
+ v-show="dragging"
+ class="card design-dropzone-border design-dropzone-overlay w-100 h-100 position-absolute d-flex-center p-3 bg-white"
+ >
+ <div v-show="!isDragDataValid" class="mw-50 text-center">
+ <h3>{{ __('Oh no!') }}</h3>
+ <span>{{
+ __(
+ 'You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.',
+ )
+ }}</span>
+ </div>
+ <div v-show="isDragDataValid" class="mw-50 text-center">
+ <h3>{{ __('Incoming!') }}</h3>
+ <span>{{ __('Drop your designs to start your upload.') }}</span>
+ </div>
+ </div>
+ </transition>
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue b/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue
new file mode 100644
index 00000000000..993eac6f37f
--- /dev/null
+++ b/app/assets/javascripts/design_management/components/upload/design_version_dropdown.vue
@@ -0,0 +1,76 @@
+<script>
+import { GlDropdown, GlDropdownItem } from '@gitlab/ui';
+import { __, sprintf } from '~/locale';
+import allVersionsMixin from '../../mixins/all_versions';
+import { findVersionId } from '../../utils/design_management_utils';
+
+export default {
+ components: {
+ GlDropdown,
+ GlDropdownItem,
+ },
+ mixins: [allVersionsMixin],
+ computed: {
+ queryVersion() {
+ return this.$route.query.version;
+ },
+ currentVersionIdx() {
+ if (!this.queryVersion) return 0;
+
+ const idx = this.allVersions.findIndex(
+ version => this.findVersionId(version.node.id) === this.queryVersion,
+ );
+
+ // if the currentVersionId isn't a valid version (i.e. not in allVersions)
+ // then return the latest version (index 0)
+ return idx !== -1 ? idx : 0;
+ },
+ currentVersionId() {
+ if (this.queryVersion) return this.queryVersion;
+
+ const currentVersion = this.allVersions[this.currentVersionIdx];
+ return this.findVersionId(currentVersion.node.id);
+ },
+ dropdownText() {
+ if (this.isLatestVersion) {
+ return __('Showing Latest Version');
+ }
+ // allVersions is sorted in reverse chronological order (latest first)
+ const currentVersionNumber = this.allVersions.length - this.currentVersionIdx;
+
+ return sprintf(__('Showing Version #%{versionNumber}'), {
+ versionNumber: currentVersionNumber,
+ });
+ },
+ },
+ methods: {
+ findVersionId,
+ },
+};
+</script>
+
+<template>
+ <gl-dropdown :text="dropdownText" variant="link" class="design-version-dropdown">
+ <gl-dropdown-item v-for="(version, index) in allVersions" :key="version.node.id">
+ <router-link
+ class="d-flex js-version-link"
+ :to="{ path: $route.path, query: { version: findVersionId(version.node.id) } }"
+ >
+ <div class="flex-grow-1 ml-2">
+ <div>
+ <strong
+ >{{ __('Version') }} {{ allVersions.length - index }}
+ <span v-if="findVersionId(version.node.id) === latestVersionId"
+ >({{ __('latest') }})</span
+ >
+ </strong>
+ </div>
+ </div>
+ <i
+ v-if="findVersionId(version.node.id) === currentVersionId"
+ class="fa fa-check pull-right"
+ ></i>
+ </router-link>
+ </gl-dropdown-item>
+ </gl-dropdown>
+</template>
diff --git a/app/assets/javascripts/design_management/constants.js b/app/assets/javascripts/design_management/constants.js
new file mode 100644
index 00000000000..af71e40bdd8
--- /dev/null
+++ b/app/assets/javascripts/design_management/constants.js
@@ -0,0 +1,9 @@
+// WARNING: replace this with something
+// more sensical as per https://gitlab.com/gitlab-org/gitlab/issues/118611
+export const VALID_DESIGN_FILE_MIMETYPE = {
+ mimetype: 'image/*',
+ regex: /image\/.+/,
+};
+
+// https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types
+export const VALID_DATA_TRANSFER_TYPE = 'Files';
diff --git a/app/assets/javascripts/design_management/graphql.js b/app/assets/javascripts/design_management/graphql.js
new file mode 100644
index 00000000000..74824a02840
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql.js
@@ -0,0 +1,28 @@
+import Vue from 'vue';
+import VueApollo from 'vue-apollo';
+import { uniqueId } from 'lodash';
+import { defaultDataIdFromObject } from 'apollo-cache-inmemory';
+import createDefaultClient from '~/lib/graphql';
+
+Vue.use(VueApollo);
+
+const defaultClient = createDefaultClient(
+ {},
+ // This config is added temporarily to resolve an issue with duplicate design IDs.
+ // Should be removed as soon as https://gitlab.com/gitlab-org/gitlab/issues/13495 is resolved
+ {
+ cacheConfig: {
+ dataIdFromObject: object => {
+ // eslint-disable-next-line no-underscore-dangle, @gitlab/require-i18n-strings
+ if (object.__typename === 'Design') {
+ return object.id && object.image ? `${object.id}-${object.image}` : uniqueId();
+ }
+ return defaultDataIdFromObject(object);
+ },
+ },
+ },
+);
+
+export default new VueApollo({
+ defaultClient,
+});
diff --git a/app/assets/javascripts/design_management/graphql/fragments/design.fragment.graphql b/app/assets/javascripts/design_management/graphql/fragments/design.fragment.graphql
new file mode 100644
index 00000000000..ca5b5a52c71
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/fragments/design.fragment.graphql
@@ -0,0 +1,22 @@
+#import "./designNote.fragment.graphql"
+#import "./designList.fragment.graphql"
+#import "./diffRefs.fragment.graphql"
+
+fragment DesignItem on Design {
+ ...DesignListItem
+ fullPath
+ diffRefs {
+ ...DesignDiffRefs
+ }
+ discussions {
+ nodes {
+ id
+ replyId
+ notes {
+ nodes {
+ ...DesignNote
+ }
+ }
+ }
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/fragments/designList.fragment.graphql b/app/assets/javascripts/design_management/graphql/fragments/designList.fragment.graphql
new file mode 100644
index 00000000000..bc3132f9b42
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/fragments/designList.fragment.graphql
@@ -0,0 +1,8 @@
+fragment DesignListItem on Design {
+ id
+ event
+ filename
+ notesCount
+ image
+ imageV432x230
+}
diff --git a/app/assets/javascripts/design_management/graphql/fragments/designNote.fragment.graphql b/app/assets/javascripts/design_management/graphql/fragments/designNote.fragment.graphql
new file mode 100644
index 00000000000..821b96e7115
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/fragments/designNote.fragment.graphql
@@ -0,0 +1,28 @@
+#import "./diffRefs.fragment.graphql"
+#import "~/graphql_shared/fragments/author.fragment.graphql"
+#import "./notePermissions.fragment.graphql"
+
+fragment DesignNote on Note {
+ id
+ author {
+ ...Author
+ }
+ body
+ bodyHtml
+ createdAt
+ position {
+ diffRefs {
+ ...DesignDiffRefs
+ }
+ x
+ y
+ height
+ width
+ }
+ userPermissions {
+ ...DesignNotePermissions
+ }
+ discussion {
+ id
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/fragments/diffRefs.fragment.graphql b/app/assets/javascripts/design_management/graphql/fragments/diffRefs.fragment.graphql
new file mode 100644
index 00000000000..984a55814b0
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/fragments/diffRefs.fragment.graphql
@@ -0,0 +1,5 @@
+fragment DesignDiffRefs on DiffRefs {
+ baseSha
+ startSha
+ headSha
+}
diff --git a/app/assets/javascripts/design_management/graphql/fragments/notePermissions.fragment.graphql b/app/assets/javascripts/design_management/graphql/fragments/notePermissions.fragment.graphql
new file mode 100644
index 00000000000..07a1ab5ec54
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/fragments/notePermissions.fragment.graphql
@@ -0,0 +1,3 @@
+fragment DesignNotePermissions on NotePermissions {
+ adminNote
+} \ No newline at end of file
diff --git a/app/assets/javascripts/design_management/graphql/fragments/version.fragment.graphql b/app/assets/javascripts/design_management/graphql/fragments/version.fragment.graphql
new file mode 100644
index 00000000000..7eb40b12f51
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/fragments/version.fragment.graphql
@@ -0,0 +1,4 @@
+fragment VersionListItem on DesignVersion {
+ id
+ sha
+}
diff --git a/app/assets/javascripts/design_management/graphql/mutations/createImageDiffNote.mutation.graphql b/app/assets/javascripts/design_management/graphql/mutations/createImageDiffNote.mutation.graphql
new file mode 100644
index 00000000000..9e2931b23f2
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/mutations/createImageDiffNote.mutation.graphql
@@ -0,0 +1,21 @@
+#import "../fragments/designNote.fragment.graphql"
+
+mutation createImageDiffNote($input: CreateImageDiffNoteInput!) {
+ createImageDiffNote(input: $input) {
+ note {
+ ...DesignNote
+ discussion {
+ id
+ replyId
+ notes {
+ edges {
+ node {
+ ...DesignNote
+ }
+ }
+ }
+ }
+ }
+ errors
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/mutations/createNote.mutation.graphql b/app/assets/javascripts/design_management/graphql/mutations/createNote.mutation.graphql
new file mode 100644
index 00000000000..3ae478d658e
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/mutations/createNote.mutation.graphql
@@ -0,0 +1,10 @@
+#import "../fragments/designNote.fragment.graphql"
+
+mutation createNote($input: CreateNoteInput!) {
+ createNote(input: $input) {
+ note {
+ ...DesignNote
+ }
+ errors
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/mutations/destroyDesign.mutation.graphql b/app/assets/javascripts/design_management/graphql/mutations/destroyDesign.mutation.graphql
new file mode 100644
index 00000000000..0b3cf636cdb
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/mutations/destroyDesign.mutation.graphql
@@ -0,0 +1,10 @@
+#import "../fragments/version.fragment.graphql"
+
+mutation destroyDesign($filenames: [String!]!, $projectPath: ID!, $iid: ID!) {
+ designManagementDelete(input: { projectPath: $projectPath, iid: $iid, filenames: $filenames }) {
+ version {
+ ...VersionListItem
+ }
+ errors
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/mutations/updateImageDiffNote.mutation.graphql b/app/assets/javascripts/design_management/graphql/mutations/updateImageDiffNote.mutation.graphql
new file mode 100644
index 00000000000..cdb2264d233
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/mutations/updateImageDiffNote.mutation.graphql
@@ -0,0 +1,10 @@
+#import "../fragments/designNote.fragment.graphql"
+
+mutation updateImageDiffNote($input: UpdateImageDiffNoteInput!) {
+ updateImageDiffNote(input: $input) {
+ errors
+ note {
+ ...DesignNote
+ }
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/mutations/update_note.mutation.graphql b/app/assets/javascripts/design_management/graphql/mutations/update_note.mutation.graphql
new file mode 100644
index 00000000000..d96b2f3934a
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/mutations/update_note.mutation.graphql
@@ -0,0 +1,10 @@
+#import "../fragments/designNote.fragment.graphql"
+
+mutation updateNote($input: UpdateNoteInput!) {
+ updateNote(input: $input) {
+ note {
+ ...DesignNote
+ }
+ errors
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/mutations/uploadDesign.mutation.graphql b/app/assets/javascripts/design_management/graphql/mutations/uploadDesign.mutation.graphql
new file mode 100644
index 00000000000..904acef599b
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/mutations/uploadDesign.mutation.graphql
@@ -0,0 +1,21 @@
+#import "../fragments/design.fragment.graphql"
+
+mutation uploadDesign($files: [Upload!]!, $projectPath: ID!, $iid: ID!) {
+ designManagementUpload(input: { projectPath: $projectPath, iid: $iid, files: $files }) {
+ designs {
+ ...DesignItem
+ versions {
+ edges {
+ node {
+ id
+ sha
+ }
+ }
+ },
+ }
+ skippedDesigns {
+ filename
+ }
+ errors
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/queries/appData.query.graphql b/app/assets/javascripts/design_management/graphql/queries/appData.query.graphql
new file mode 100644
index 00000000000..e1269761206
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/queries/appData.query.graphql
@@ -0,0 +1,4 @@
+query projectFullPath {
+ projectPath @client
+ issueIid @client
+}
diff --git a/app/assets/javascripts/design_management/graphql/queries/getDesign.query.graphql b/app/assets/javascripts/design_management/graphql/queries/getDesign.query.graphql
new file mode 100644
index 00000000000..07a9af55787
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/queries/getDesign.query.graphql
@@ -0,0 +1,31 @@
+#import "../fragments/design.fragment.graphql"
+#import "~/graphql_shared/fragments/author.fragment.graphql"
+
+query getDesign($fullPath: ID!, $iid: String!, $atVersion: ID, $filenames: [String!]) {
+ project(fullPath: $fullPath) {
+ id
+ issue(iid: $iid) {
+ designCollection {
+ designs(atVersion: $atVersion, filenames: $filenames) {
+ edges {
+ node {
+ ...DesignItem
+ issue {
+ title
+ webPath
+ webUrl
+ participants {
+ edges {
+ node {
+ ...Author
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/queries/get_design_list.query.graphql b/app/assets/javascripts/design_management/graphql/queries/get_design_list.query.graphql
new file mode 100644
index 00000000000..857f205ab07
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/queries/get_design_list.query.graphql
@@ -0,0 +1,26 @@
+#import "../fragments/designList.fragment.graphql"
+#import "../fragments/version.fragment.graphql"
+
+query getDesignList($fullPath: ID!, $iid: String!, $atVersion: ID) {
+ project(fullPath: $fullPath) {
+ id
+ issue(iid: $iid) {
+ designCollection {
+ designs(atVersion: $atVersion) {
+ edges {
+ node {
+ ...DesignListItem
+ }
+ }
+ }
+ versions {
+ edges {
+ node {
+ ...VersionListItem
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/app/assets/javascripts/design_management/graphql/queries/permissions.query.graphql b/app/assets/javascripts/design_management/graphql/queries/permissions.query.graphql
new file mode 100644
index 00000000000..a87b256dc95
--- /dev/null
+++ b/app/assets/javascripts/design_management/graphql/queries/permissions.query.graphql
@@ -0,0 +1,10 @@
+query permissions($fullPath: ID!, $iid: String!) {
+ project(fullPath: $fullPath) {
+ id
+ issue(iid: $iid) {
+ userPermissions {
+ createDesign
+ }
+ }
+ }
+}
diff --git a/app/assets/javascripts/design_management/index.js b/app/assets/javascripts/design_management/index.js
new file mode 100644
index 00000000000..63e59f816d7
--- /dev/null
+++ b/app/assets/javascripts/design_management/index.js
@@ -0,0 +1,53 @@
+import $ from 'jquery';
+import Vue from 'vue';
+import createRouter from './router';
+import App from './components/app.vue';
+import apolloProvider from './graphql';
+import getDesignListQuery from './graphql/queries/get_design_list.query.graphql';
+import { DESIGNS_ROUTE_NAME, ROOT_ROUTE_NAME } from './router/constants';
+
+export default () => {
+ const el = document.getElementById('js-design-management');
+ const badge = document.querySelector('.js-designs-count');
+ const { issueIid, projectPath, issuePath } = el.dataset;
+ const router = createRouter(issuePath);
+
+ $('.js-issue-tabs').on('shown.bs.tab', ({ target: { id } }) => {
+ if (id === 'designs' && router.currentRoute.name === ROOT_ROUTE_NAME) {
+ router.push({ name: DESIGNS_ROUTE_NAME });
+ } else if (id === 'discussion') {
+ router.push({ name: ROOT_ROUTE_NAME });
+ }
+ });
+
+ apolloProvider.clients.defaultClient.cache.writeData({
+ data: {
+ projectPath,
+ issueIid,
+ },
+ });
+
+ apolloProvider.clients.defaultClient
+ .watchQuery({
+ query: getDesignListQuery,
+ variables: {
+ fullPath: projectPath,
+ iid: issueIid,
+ atVersion: null,
+ },
+ })
+ .subscribe(({ data }) => {
+ if (badge) {
+ badge.textContent = data.project.issue.designCollection.designs.edges.length;
+ }
+ });
+
+ return new Vue({
+ el,
+ router,
+ apolloProvider,
+ render(createElement) {
+ return createElement(App);
+ },
+ });
+};
diff --git a/app/assets/javascripts/design_management/mixins/all_designs.js b/app/assets/javascripts/design_management/mixins/all_designs.js
new file mode 100644
index 00000000000..f7d6551c46c
--- /dev/null
+++ b/app/assets/javascripts/design_management/mixins/all_designs.js
@@ -0,0 +1,49 @@
+import { propertyOf } from 'lodash';
+import createFlash from '~/flash';
+import { s__ } from '~/locale';
+import getDesignListQuery from '../graphql/queries/get_design_list.query.graphql';
+import { extractNodes } from '../utils/design_management_utils';
+import allVersionsMixin from './all_versions';
+import { DESIGNS_ROUTE_NAME } from '../router/constants';
+
+export default {
+ mixins: [allVersionsMixin],
+ apollo: {
+ designs: {
+ query: getDesignListQuery,
+ variables() {
+ return {
+ fullPath: this.projectPath,
+ iid: this.issueIid,
+ atVersion: this.designsVersion,
+ };
+ },
+ update: data => {
+ const designEdges = propertyOf(data)(['project', 'issue', 'designCollection', 'designs']);
+ if (designEdges) {
+ return extractNodes(designEdges);
+ }
+ return [];
+ },
+ error() {
+ this.error = true;
+ },
+ result() {
+ if (this.$route.query.version && !this.hasValidVersion) {
+ createFlash(
+ s__(
+ 'DesignManagement|Requested design version does not exist. Showing latest version instead',
+ ),
+ );
+ this.$router.replace({ name: DESIGNS_ROUTE_NAME, query: { version: undefined } });
+ }
+ },
+ },
+ },
+ data() {
+ return {
+ designs: [],
+ error: false,
+ };
+ },
+};
diff --git a/app/assets/javascripts/design_management/mixins/all_versions.js b/app/assets/javascripts/design_management/mixins/all_versions.js
new file mode 100644
index 00000000000..41c93064c26
--- /dev/null
+++ b/app/assets/javascripts/design_management/mixins/all_versions.js
@@ -0,0 +1,62 @@
+import getDesignListQuery from '../graphql/queries/get_design_list.query.graphql';
+import appDataQuery from '../graphql/queries/appData.query.graphql';
+import { findVersionId } from '../utils/design_management_utils';
+
+export default {
+ apollo: {
+ appData: {
+ query: appDataQuery,
+ manual: true,
+ result({ data: { projectPath, issueIid } }) {
+ this.projectPath = projectPath;
+ this.issueIid = issueIid;
+ },
+ },
+ allVersions: {
+ query: getDesignListQuery,
+ variables() {
+ return {
+ fullPath: this.projectPath,
+ iid: this.issueIid,
+ atVersion: null,
+ };
+ },
+ update: data => data.project.issue.designCollection.versions.edges,
+ },
+ },
+ computed: {
+ hasValidVersion() {
+ return (
+ this.$route.query.version &&
+ this.allVersions &&
+ this.allVersions.some(version => version.node.id.endsWith(this.$route.query.version))
+ );
+ },
+ designsVersion() {
+ return this.hasValidVersion
+ ? `gid://gitlab/DesignManagement::Version/${this.$route.query.version}`
+ : null;
+ },
+ latestVersionId() {
+ const latestVersion = this.allVersions[0];
+ return latestVersion && findVersionId(latestVersion.node.id);
+ },
+ isLatestVersion() {
+ if (this.allVersions.length > 0) {
+ return (
+ !this.$route.query.version ||
+ !this.latestVersionId ||
+ this.$route.query.version === this.latestVersionId
+ );
+ }
+ return true;
+ },
+ },
+ data() {
+ return {
+ allVersions: [],
+ projectPath: '',
+ issueIid: null,
+ };
+ },
+};
diff --git a/app/assets/javascripts/design_management/pages/design/index.vue b/app/assets/javascripts/design_management/pages/design/index.vue
new file mode 100644
index 00000000000..3e56379dc47
--- /dev/null
+++ b/app/assets/javascripts/design_management/pages/design/index.vue
@@ -0,0 +1,378 @@
+<script>
+import { ApolloMutation } from 'vue-apollo';
+import Mousetrap from 'mousetrap';
+import { GlLoadingIcon, GlAlert } from '@gitlab/ui';
+import createFlash from '~/flash';
+import { fetchPolicies } from '~/lib/graphql';
+import allVersionsMixin from '../../mixins/all_versions';
+import Toolbar from '../../components/toolbar/index.vue';
+import DesignDiscussion from '../../components/design_notes/design_discussion.vue';
+import DesignReplyForm from '../../components/design_notes/design_reply_form.vue';
+import DesignDestroyer from '../../components/design_destroyer.vue';
+import DesignScaler from '../../components/design_scaler.vue';
+import Participants from '~/sidebar/components/participants/participants.vue';
+import DesignPresentation from '../../components/design_presentation.vue';
+import getDesignQuery from '../../graphql/queries/getDesign.query.graphql';
+import appDataQuery from '../../graphql/queries/appData.query.graphql';
+import createImageDiffNoteMutation from '../../graphql/mutations/createImageDiffNote.mutation.graphql';
+import updateImageDiffNoteMutation from '../../graphql/mutations/updateImageDiffNote.mutation.graphql';
+import {
+ extractDiscussions,
+ extractDesign,
+ extractParticipants,
+ updateImageDiffNoteOptimisticResponse,
+} from '../../utils/design_management_utils';
+import {
+ updateStoreAfterAddImageDiffNote,
+ updateStoreAfterUpdateImageDiffNote,
+} from '../../utils/cache_update';
+import {
+ ADD_DISCUSSION_COMMENT_ERROR,
+ ADD_IMAGE_DIFF_NOTE_ERROR,
+ UPDATE_IMAGE_DIFF_NOTE_ERROR,
+ DESIGN_NOT_FOUND_ERROR,
+ DESIGN_VERSION_NOT_EXIST_ERROR,
+ UPDATE_NOTE_ERROR,
+ designDeletionError,
+} from '../../utils/error_messages';
+import { trackDesignDetailView } from '../../utils/tracking';
+import { DESIGNS_ROUTE_NAME } from '../../router/constants';
+
+export default {
+ components: {
+ ApolloMutation,
+ DesignPresentation,
+ DesignDiscussion,
+ DesignScaler,
+ DesignDestroyer,
+ Toolbar,
+ DesignReplyForm,
+ GlLoadingIcon,
+ GlAlert,
+ Participants,
+ },
+ mixins: [allVersionsMixin],
+ props: {
+ id: {
+ type: String,
+ required: true,
+ },
+ },
+ data() {
+ return {
+ design: {},
+ comment: '',
+ annotationCoordinates: null,
+ projectPath: '',
+ errorMessage: '',
+ issueIid: '',
+ scale: 1,
+ };
+ },
+ apollo: {
+ appData: {
+ query: appDataQuery,
+ manual: true,
+ result({ data: { projectPath, issueIid } }) {
+ this.projectPath = projectPath;
+ this.issueIid = issueIid;
+ },
+ },
+ design: {
+ query: getDesignQuery,
+ // We want to see cached design version if we have one, and fetch newer version on the background to update discussions
+ fetchPolicy: fetchPolicies.CACHE_AND_NETWORK,
+ variables() {
+ return this.designVariables;
+ },
+ update: data => extractDesign(data),
+ result(res) {
+ this.onDesignQueryResult(res);
+ },
+ error() {
+ this.onQueryError(DESIGN_NOT_FOUND_ERROR);
+ },
+ },
+ },
+ computed: {
+ isFirstLoading() {
+ // We only want to show spinner on initial design load (when opened from a deep link to design)
+ // If we already have cached a design, loading shouldn't be indicated to user
+ return this.$apollo.queries.design.loading && !this.design.filename;
+ },
+ discussions() {
+ return extractDiscussions(this.design.discussions);
+ },
+ discussionParticipants() {
+ return extractParticipants(this.design.issue.participants);
+ },
+ markdownPreviewPath() {
+ return `/${this.projectPath}/preview_markdown?target_type=Issue`;
+ },
+ isSubmitButtonDisabled() {
+ return this.comment.trim().length === 0;
+ },
+ renderDiscussions() {
+ return this.discussions.length || this.annotationCoordinates;
+ },
+ designVariables() {
+ return {
+ fullPath: this.projectPath,
+ iid: this.issueIid,
+ filenames: [this.$route.params.id],
+ atVersion: this.designsVersion,
+ };
+ },
+ mutationPayload() {
+ const { x, y, width, height } = this.annotationCoordinates;
+ return {
+ noteableId: this.design.id,
+ body: this.comment,
+ position: {
+ headSha: this.design.diffRefs.headSha,
+ baseSha: this.design.diffRefs.baseSha,
+ startSha: this.design.diffRefs.startSha,
+ x,
+ y,
+ width,
+ height,
+ paths: {
+ newPath: this.design.fullPath,
+ },
+ },
+ };
+ },
+ issue() {
+ return {
+ ...this.design.issue,
+ webPath: this.design.issue.webPath.substr(1),
+ };
+ },
+ isAnnotating() {
+ return Boolean(this.annotationCoordinates);
+ },
+ },
+ mounted() {
+ Mousetrap.bind('esc', this.closeDesign);
+ },
+ beforeDestroy() {
+ Mousetrap.unbind('esc', this.closeDesign);
+ },
+ methods: {
+ addImageDiffNoteToStore(
+ store,
+ {
+ data: { createImageDiffNote },
+ },
+ ) {
+ updateStoreAfterAddImageDiffNote(
+ store,
+ createImageDiffNote,
+ getDesignQuery,
+ this.designVariables,
+ );
+ },
+ updateImageDiffNoteInStore(
+ store,
+ {
+ data: { updateImageDiffNote },
+ },
+ ) {
+ return updateStoreAfterUpdateImageDiffNote(
+ store,
+ updateImageDiffNote,
+ getDesignQuery,
+ this.designVariables,
+ );
+ },
+ onMoveNote({ noteId, discussionId, position }) {
+ const discussion = this.discussions.find(({ id }) => id === discussionId);
+ const note = discussion.notes.find(
+ ({ discussion: noteDiscussion }) => noteDiscussion.id === discussionId,
+ );
+
+ const mutationPayload = {
+ optimisticResponse: updateImageDiffNoteOptimisticResponse(note, {
+ position,
+ }),
+ variables: {
+ input: {
+ id: noteId,
+ position,
+ },
+ },
+ mutation: updateImageDiffNoteMutation,
+ update: this.updateImageDiffNoteInStore,
+ };
+
+ return this.$apollo.mutate(mutationPayload).catch(e => this.onUpdateImageDiffNoteError(e));
+ },
+ onDesignQueryResult({ data, loading }) {
+ // On the initial load with cache-and-network policy data is undefined while loading is true
+ // To prevent throwing an error, we don't perform any logic until loading is false
+ if (loading) {
+ return;
+ }
+
+ if (!data || !extractDesign(data)) {
+ this.onQueryError(DESIGN_NOT_FOUND_ERROR);
+ } else if (this.$route.query.version && !this.hasValidVersion) {
+ this.onQueryError(DESIGN_VERSION_NOT_EXIST_ERROR);
+ }
+ },
+ onQueryError(message) {
+ // because we redirect user to /designs (the issue page),
+ // we want to create these flashes on the issue page
+ createFlash(message);
+ this.$router.push({ name: this.$options.DESIGNS_ROUTE_NAME });
+ },
+ onError(message, e) {
+ this.errorMessage = message;
+ throw e;
+ },
+ onCreateImageDiffNoteError(e) {
+ this.onError(ADD_IMAGE_DIFF_NOTE_ERROR, e);
+ },
+ onUpdateNoteError(e) {
+ this.onError(UPDATE_NOTE_ERROR, e);
+ },
+ onDesignDiscussionError(e) {
+ this.onError(ADD_DISCUSSION_COMMENT_ERROR, e);
+ },
+ onUpdateImageDiffNoteError(e) {
+ this.onError(UPDATE_IMAGE_DIFF_NOTE_ERROR, e);
+ },
+ onDesignDeleteError(e) {
+ this.onError(designDeletionError({ singular: true }), e);
+ },
+ openCommentForm(annotationCoordinates) {
+ this.annotationCoordinates = annotationCoordinates;
+ },
+ closeCommentForm() {
+ this.comment = '';
+ this.annotationCoordinates = null;
+ },
+ closeDesign() {
+ this.$router.push({
+ name: this.$options.DESIGNS_ROUTE_NAME,
+ query: this.$route.query,
+ });
+ },
+ trackEvent() {
+ trackDesignDetailView(
+ 'issue-design-collection',
+ this.$route.query.version || this.latestVersionId,
+ this.isLatestVersion,
+ );
+ },
+ },
+ beforeRouteEnter(to, from, next) {
+ next(vm => {
+ vm.trackEvent();
+ });
+ },
+ beforeRouteUpdate(to, from, next) {
+ this.trackEvent();
+ this.closeCommentForm();
+ next();
+ },
+ createImageDiffNoteMutation,
+ DESIGNS_ROUTE_NAME,
+};
+</script>
+
+<template>
+ <div
+ class="design-detail js-design-detail fixed-top w-100 position-bottom-0 d-flex justify-content-center flex-column flex-lg-row"
+ >
+ <gl-loading-icon v-if="isFirstLoading" size="xl" class="align-self-center" />
+ <template v-else>
+ <div class="d-flex overflow-hidden flex-grow-1 flex-column position-relative">
+ <design-destroyer
+ :filenames="[design.filename]"
+ :project-path="projectPath"
+ :iid="issueIid"
+ @done="$router.push({ name: $options.DESIGNS_ROUTE_NAME })"
+ @error="onDesignDeleteError"
+ >
+ <template #default="{ mutate, loading }">
+ <toolbar
+ :id="id"
+ :is-deleting="loading"
+ :is-latest-version="isLatestVersion"
+ v-bind="design"
+ @delete="mutate()"
+ />
+ </template>
+ </design-destroyer>
+
+ <div v-if="errorMessage" class="p-3">
+ <gl-alert variant="danger" @dismiss="errorMessage = null">
+ {{ errorMessage }}
+ </gl-alert>
+ </div>
+ <design-presentation
+ :image="design.image"
+ :image-name="design.filename"
+ :discussions="discussions"
+ :is-annotating="isAnnotating"
+ :scale="scale"
+ @openCommentForm="openCommentForm"
+ @moveNote="onMoveNote"
+ />
+
+ <div class="design-scaler-wrapper position-absolute mb-4 d-flex-center">
+ <design-scaler @scale="scale = $event" />
+ </div>
+ </div>
+ <div class="image-notes">
+ <h2 class="gl-font-size-20-deprecated-no-really-do-not-use-me font-weight-bold mt-0">
+ {{ issue.title }}
+ </h2>
+ <a class="text-tertiary text-decoration-none mb-3 d-block" :href="issue.webUrl">{{
+ issue.webPath
+ }}</a>
+ <participants
+ :participants="discussionParticipants"
+ :show-participant-label="false"
+ class="mb-4"
+ />
+ <template v-if="renderDiscussions">
+ <design-discussion
+ v-for="(discussion, index) in discussions"
+ :key="discussion.id"
+ :discussion="discussion"
+ :design-id="id"
+ :noteable-id="design.id"
+ :discussion-index="index + 1"
+ :markdown-preview-path="markdownPreviewPath"
+ @error="onDesignDiscussionError"
+ @updateNoteError="onUpdateNoteError"
+ />
+ <apollo-mutation
+ v-if="annotationCoordinates"
+ #default="{ mutate, loading }"
+ :mutation="$options.createImageDiffNoteMutation"
+ :variables="{
+ input: mutationPayload,
+ }"
+ :update="addImageDiffNoteToStore"
+ @done="closeCommentForm"
+ @error="onCreateImageDiffNoteError"
+ >
+ <design-reply-form
+ v-model="comment"
+ :is-saving="loading"
+ :markdown-preview-path="markdownPreviewPath"
+ @submitForm="mutate"
+ @cancelForm="closeCommentForm"
+ />
+ </apollo-mutation>
+ </template>
+ <h2 v-else class="new-discussion-disclaimer gl-font-base m-0">
+ {{ __("Click the image where you'd like to start a new discussion") }}
+ </h2>
+ </div>
+ </template>
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/pages/index.vue b/app/assets/javascripts/design_management/pages/index.vue
new file mode 100644
index 00000000000..75502b5b96e
--- /dev/null
+++ b/app/assets/javascripts/design_management/pages/index.vue
@@ -0,0 +1,323 @@
+<script>
+import { GlLoadingIcon, GlDeprecatedButton, GlAlert } from '@gitlab/ui';
+import createFlash from '~/flash';
+import { s__, sprintf } from '~/locale';
+import UploadButton from '../components/upload/button.vue';
+import DeleteButton from '../components/delete_button.vue';
+import Design from '../components/list/item.vue';
+import DesignDestroyer from '../components/design_destroyer.vue';
+import DesignVersionDropdown from '../components/upload/design_version_dropdown.vue';
+import DesignDropzone from '../components/upload/design_dropzone.vue';
+import uploadDesignMutation from '../graphql/mutations/uploadDesign.mutation.graphql';
+import permissionsQuery from '../graphql/queries/permissions.query.graphql';
+import getDesignListQuery from '../graphql/queries/get_design_list.query.graphql';
+import allDesignsMixin from '../mixins/all_designs';
+import {
+ UPLOAD_DESIGN_ERROR,
+ EXISTING_DESIGN_DROP_MANY_FILES_MESSAGE,
+ EXISTING_DESIGN_DROP_INVALID_FILENAME_MESSAGE,
+ designUploadSkippedWarning,
+ designDeletionError,
+} from '../utils/error_messages';
+import { updateStoreAfterUploadDesign } from '../utils/cache_update';
+import {
+ designUploadOptimisticResponse,
+ isValidDesignFile,
+} from '../utils/design_management_utils';
+import { getFilename } from '~/lib/utils/file_upload';
+import { DESIGNS_ROUTE_NAME } from '../router/constants';
+
+const MAXIMUM_FILE_UPLOAD_LIMIT = 10;
+
+export default {
+ components: {
+ GlLoadingIcon,
+ GlAlert,
+ GlDeprecatedButton,
+ UploadButton,
+ Design,
+ DesignDestroyer,
+ DesignVersionDropdown,
+ DeleteButton,
+ DesignDropzone,
+ },
+ mixins: [allDesignsMixin],
+ apollo: {
+ permissions: {
+ query: permissionsQuery,
+ variables() {
+ return {
+ fullPath: this.projectPath,
+ iid: this.issueIid,
+ };
+ },
+ update: data => data.project.issue.userPermissions,
+ },
+ },
+ data() {
+ return {
+ permissions: {
+ createDesign: false,
+ },
+ filesToBeSaved: [],
+ selectedDesigns: [],
+ };
+ },
+ computed: {
+ isLoading() {
+ return this.$apollo.queries.designs.loading || this.$apollo.queries.permissions.loading;
+ },
+ isSaving() {
+ return this.filesToBeSaved.length > 0;
+ },
+ canCreateDesign() {
+ return this.permissions.createDesign;
+ },
+ showToolbar() {
+ return this.canCreateDesign && this.allVersions.length > 0;
+ },
+ hasDesigns() {
+ return this.designs.length > 0;
+ },
+ hasSelectedDesigns() {
+ return this.selectedDesigns.length > 0;
+ },
+ canDeleteDesigns() {
+ return this.isLatestVersion && this.hasSelectedDesigns;
+ },
+ projectQueryBody() {
+ return {
+ query: getDesignListQuery,
+ variables: { fullPath: this.projectPath, iid: this.issueIid, atVersion: null },
+ };
+ },
+ selectAllButtonText() {
+ return this.hasSelectedDesigns
+ ? s__('DesignManagement|Deselect all')
+ : s__('DesignManagement|Select all');
+ },
+ },
+ mounted() {
+ this.toggleOnPasteListener(this.$route.name);
+ },
+ methods: {
+ resetFilesToBeSaved() {
+ this.filesToBeSaved = [];
+ },
+ /**
+ * Determine if a design upload is valid, given [files]
+ * @param {Array<File>} files
+ */
+ isValidDesignUpload(files) {
+ if (!this.canCreateDesign) return false;
+
+ if (files.length > MAXIMUM_FILE_UPLOAD_LIMIT) {
+ createFlash(
+ sprintf(
+ s__(
+ 'DesignManagement|The maximum number of designs allowed to be uploaded is %{upload_limit}. Please try again.',
+ ),
+ {
+ upload_limit: MAXIMUM_FILE_UPLOAD_LIMIT,
+ },
+ ),
+ );
+
+ return false;
+ }
+ return true;
+ },
+ onUploadDesign(files) {
+ // convert to Array so that we have Array methods (.map, .some, etc.)
+ this.filesToBeSaved = Array.from(files);
+ if (!this.isValidDesignUpload(this.filesToBeSaved)) return null;
+
+ const mutationPayload = {
+ optimisticResponse: designUploadOptimisticResponse(this.filesToBeSaved),
+ variables: {
+ files: this.filesToBeSaved,
+ projectPath: this.projectPath,
+ iid: this.issueIid,
+ },
+ context: {
+ hasUpload: true,
+ },
+ mutation: uploadDesignMutation,
+ update: this.afterUploadDesign,
+ };
+
+ return this.$apollo
+ .mutate(mutationPayload)
+ .then(res => this.onUploadDesignDone(res))
+ .catch(() => this.onUploadDesignError());
+ },
+ afterUploadDesign(
+ store,
+ {
+ data: { designManagementUpload },
+ },
+ ) {
+ updateStoreAfterUploadDesign(store, designManagementUpload, this.projectQueryBody);
+ },
+ onUploadDesignDone(res) {
+ const skippedFiles = res?.data?.designManagementUpload?.skippedDesigns || [];
+ const skippedWarningMessage = designUploadSkippedWarning(this.filesToBeSaved, skippedFiles);
+ if (skippedWarningMessage) {
+ createFlash(skippedWarningMessage, 'warning');
+ }
+
+ // if this upload resulted in a new version being created, redirect user to the latest version
+ if (!this.isLatestVersion) {
+ this.$router.push({ name: DESIGNS_ROUTE_NAME });
+ }
+ this.resetFilesToBeSaved();
+ },
+ onUploadDesignError() {
+ this.resetFilesToBeSaved();
+ createFlash(UPLOAD_DESIGN_ERROR);
+ },
+ changeSelectedDesigns(filename) {
+ if (this.isDesignSelected(filename)) {
+ this.selectedDesigns = this.selectedDesigns.filter(design => design !== filename);
+ } else {
+ this.selectedDesigns.push(filename);
+ }
+ },
+ toggleDesignsSelection() {
+ if (this.hasSelectedDesigns) {
+ this.selectedDesigns = [];
+ } else {
+ this.selectedDesigns = this.designs.map(design => design.filename);
+ }
+ },
+ isDesignSelected(filename) {
+ return this.selectedDesigns.includes(filename);
+ },
+ isDesignToBeSaved(filename) {
+ return this.filesToBeSaved.some(file => file.name === filename);
+ },
+ canSelectDesign(filename) {
+ return this.isLatestVersion && this.canCreateDesign && !this.isDesignToBeSaved(filename);
+ },
+ onDesignDelete() {
+ this.selectedDesigns = [];
+ if (this.$route.query.version) this.$router.push({ name: DESIGNS_ROUTE_NAME });
+ },
+ onDesignDeleteError() {
+ const errorMessage = designDeletionError({ singular: this.selectedDesigns.length === 1 });
+ createFlash(errorMessage);
+ },
+ onExistingDesignDropzoneChange(files, existingDesignFilename) {
+ const filesArr = Array.from(files);
+
+ if (filesArr.length > 1) {
+ createFlash(EXISTING_DESIGN_DROP_MANY_FILES_MESSAGE);
+ return;
+ }
+
+ if (!filesArr.some(({ name }) => existingDesignFilename === name)) {
+ createFlash(EXISTING_DESIGN_DROP_INVALID_FILENAME_MESSAGE);
+ return;
+ }
+
+ this.onUploadDesign(files);
+ },
+ onDesignPaste(event) {
+ const { clipboardData } = event;
+ const files = Array.from(clipboardData.files);
+ if (clipboardData && files.length > 0) {
+ if (!files.some(isValidDesignFile)) {
+ return;
+ }
+ event.preventDefault();
+ let filename = getFilename(event);
+ if (!filename || filename === 'image.png') {
+ filename = `design_${Date.now()}.png`;
+ }
+ const newFile = new File([files[0]], filename);
+ this.onUploadDesign([newFile]);
+ }
+ },
+ toggleOnPasteListener(route) {
+ if (route === DESIGNS_ROUTE_NAME) {
+ document.addEventListener('paste', this.onDesignPaste);
+ } else {
+ document.removeEventListener('paste', this.onDesignPaste);
+ }
+ },
+ },
+ beforeRouteUpdate(to, from, next) {
+ this.toggleOnPasteListener(to.name);
+ this.selectedDesigns = [];
+ next();
+ },
+ beforeRouteLeave(to, from, next) {
+ this.toggleOnPasteListener(to.name);
+ next();
+ },
+};
+</script>
+
+<template>
+ <div>
+ <header v-if="showToolbar" class="row-content-block border-top-0 p-2 d-flex">
+ <div class="d-flex justify-content-between align-items-center w-100">
+ <design-version-dropdown />
+ <div :class="['qa-selector-toolbar', { 'd-flex': hasDesigns, 'd-none': !hasDesigns }]">
+ <gl-deprecated-button
+ v-if="isLatestVersion"
+ variant="link"
+ class="mr-2 js-select-all"
+ @click="toggleDesignsSelection"
+ >{{ selectAllButtonText }}</gl-deprecated-button
+ >
+ <design-destroyer
+ #default="{ mutate, loading }"
+ :filenames="selectedDesigns"
+ :project-path="projectPath"
+ :iid="issueIid"
+ @done="onDesignDelete"
+ @error="onDesignDeleteError"
+ >
+ <delete-button
+ v-if="isLatestVersion"
+ :is-deleting="loading"
+ button-class="btn-danger btn-inverted mr-2"
+ :has-selected-designs="hasSelectedDesigns"
+ @deleteSelectedDesigns="mutate()"
+ >
+ {{ s__('DesignManagement|Delete selected') }}
+ <gl-loading-icon v-if="loading" inline class="ml-1" />
+ </delete-button>
+ </design-destroyer>
+ <upload-button v-if="canCreateDesign" :is-saving="isSaving" @upload="onUploadDesign" />
+ </div>
+ </div>
+ </header>
+ <div class="mt-4">
+ <gl-loading-icon v-if="isLoading" size="md" />
+ <gl-alert v-else-if="error" variant="danger" :dismissible="false">
+ {{ __('An error occurred while loading designs. Please try again.') }}
+ </gl-alert>
+ <ol v-else class="list-unstyled row">
+ <li class="col-md-6 col-lg-4 mb-3">
+ <design-dropzone class="design-list-item" @change="onUploadDesign" />
+ </li>
+ <li v-for="design in designs" :key="design.id" class="col-md-6 col-lg-4 mb-3">
+ <design-dropzone @change="onExistingDesignDropzoneChange($event, design.filename)"
+ ><design v-bind="design" :is-uploading="isDesignToBeSaved(design.filename)"
+ /></design-dropzone>
+
+ <input
+ v-if="canSelectDesign(design.filename)"
+ :checked="isDesignSelected(design.filename)"
+ type="checkbox"
+ class="design-checkbox"
+ @change="changeSelectedDesigns(design.filename)"
+ />
+ </li>
+ </ol>
+ </div>
+ <router-view />
+ </div>
+</template>
diff --git a/app/assets/javascripts/design_management/router/constants.js b/app/assets/javascripts/design_management/router/constants.js
new file mode 100644
index 00000000000..abeef520e33
--- /dev/null
+++ b/app/assets/javascripts/design_management/router/constants.js
@@ -0,0 +1,3 @@
+export const ROOT_ROUTE_NAME = 'root';
+export const DESIGNS_ROUTE_NAME = 'designs';
+export const DESIGN_ROUTE_NAME = 'design';
diff --git a/app/assets/javascripts/design_management/router/index.js b/app/assets/javascripts/design_management/router/index.js
new file mode 100644
index 00000000000..7dc92f55d47
--- /dev/null
+++ b/app/assets/javascripts/design_management/router/index.js
@@ -0,0 +1,22 @@
+import $ from 'jquery';
+import Vue from 'vue';
+import VueRouter from 'vue-router';
+import routes from './routes';
+
+Vue.use(VueRouter);
+
+export default function createRouter(base) {
+ const router = new VueRouter({
+ base,
+ mode: 'history',
+ routes,
+ });
+
+ router.beforeEach(({ meta: { el } }, from, next) => {
+ $(`#${el}`).tab('show');
+
+ next();
+ });
+
+ return router;
+}
diff --git a/app/assets/javascripts/design_management/router/routes.js b/app/assets/javascripts/design_management/router/routes.js
new file mode 100644
index 00000000000..788910e5514
--- /dev/null
+++ b/app/assets/javascripts/design_management/router/routes.js
@@ -0,0 +1,44 @@
+import Home from '../pages/index.vue';
+import DesignDetail from '../pages/design/index.vue';
+import { ROOT_ROUTE_NAME, DESIGNS_ROUTE_NAME, DESIGN_ROUTE_NAME } from './constants';
+
+export default [
+ {
+ name: ROOT_ROUTE_NAME,
+ path: '/',
+ component: Home,
+ meta: {
+ el: 'discussion',
+ },
+ },
+ {
+ name: DESIGNS_ROUTE_NAME,
+ path: '/designs',
+ component: Home,
+ meta: {
+ el: 'designs',
+ },
+ children: [
+ {
+ name: DESIGN_ROUTE_NAME,
+ path: ':id',
+ component: DesignDetail,
+ meta: {
+ el: 'designs',
+ },
+ beforeEnter(
+ {
+ params: { id },
+ },
+ from,
+ next,
+ ) {
+ if (typeof id === 'string') {
+ next();
+ }
+ },
+ props: ({ params: { id } }) => ({ id }),
+ },
+ ],
+ },
+];
diff --git a/app/assets/javascripts/design_management/utils/cache_update.js b/app/assets/javascripts/design_management/utils/cache_update.js
new file mode 100644
index 00000000000..01c073bddc2
--- /dev/null
+++ b/app/assets/javascripts/design_management/utils/cache_update.js
@@ -0,0 +1,272 @@
+/* eslint-disable @gitlab/require-i18n-strings */
+
+import createFlash from '~/flash';
+import { extractCurrentDiscussion, extractDesign } from './design_management_utils';
+import {
+ ADD_IMAGE_DIFF_NOTE_ERROR,
+ UPDATE_IMAGE_DIFF_NOTE_ERROR,
+ ADD_DISCUSSION_COMMENT_ERROR,
+ designDeletionError,
+} from './error_messages';
+
+const deleteDesignsFromStore = (store, query, selectedDesigns) => {
+ const data = store.readQuery(query);
+
+ const changedDesigns = data.project.issue.designCollection.designs.edges.filter(
+ ({ node }) => !selectedDesigns.includes(node.filename),
+ );
+ data.project.issue.designCollection.designs.edges = [...changedDesigns];
+
+ store.writeQuery({
+ ...query,
+ data,
+ });
+};
+
+/**
+ * Adds a new version of designs to store
+ *
+ * @param {Object} store
+ * @param {Object} query
+ * @param {Object} version
+ */
+const addNewVersionToStore = (store, query, version) => {
+ if (!version) return;
+
+ const data = store.readQuery(query);
+ const newEdge = { node: version, __typename: 'DesignVersionEdge' };
+
+ data.project.issue.designCollection.versions.edges = [
+ newEdge,
+ ...data.project.issue.designCollection.versions.edges,
+ ];
+
+ store.writeQuery({
+ ...query,
+ data,
+ });
+};
+
+const addDiscussionCommentToStore = (store, createNote, query, queryVariables, discussionId) => {
+ const data = store.readQuery({
+ query,
+ variables: queryVariables,
+ });
+
+ const design = extractDesign(data);
+ const currentDiscussion = extractCurrentDiscussion(design.discussions, discussionId);
+ currentDiscussion.notes.nodes = [...currentDiscussion.notes.nodes, createNote.note];
+
+ design.notesCount += 1;
+ if (
+ !design.issue.participants.edges.some(
+ participant => participant.node.username === createNote.note.author.username,
+ )
+ ) {
+ design.issue.participants.edges = [
+ ...design.issue.participants.edges,
+ {
+ __typename: 'UserEdge',
+ node: {
+ __typename: 'User',
+ ...createNote.note.author,
+ },
+ },
+ ];
+ }
+ store.writeQuery({
+ query,
+ variables: queryVariables,
+ data: {
+ ...data,
+ design: {
+ ...design,
+ },
+ },
+ });
+};
+
+const addImageDiffNoteToStore = (store, createImageDiffNote, query, variables) => {
+ const data = store.readQuery({
+ query,
+ variables,
+ });
+ const newDiscussion = {
+ __typename: 'Discussion',
+ id: createImageDiffNote.note.discussion.id,
+ replyId: createImageDiffNote.note.discussion.replyId,
+ notes: {
+ __typename: 'NoteConnection',
+ nodes: [createImageDiffNote.note],
+ },
+ };
+ const design = extractDesign(data);
+ const notesCount = design.notesCount + 1;
+ design.discussions.nodes = [...design.discussions.nodes, newDiscussion];
+ if (
+ !design.issue.participants.edges.some(
+ participant => participant.node.username === createImageDiffNote.note.author.username,
+ )
+ ) {
+ design.issue.participants.edges = [
+ ...design.issue.participants.edges,
+ {
+ __typename: 'UserEdge',
+ node: {
+ __typename: 'User',
+ ...createImageDiffNote.note.author,
+ },
+ },
+ ];
+ }
+ store.writeQuery({
+ query,
+ variables,
+ data: {
+ ...data,
+ design: {
+ ...design,
+ notesCount,
+ },
+ },
+ });
+};
+
+const updateImageDiffNoteInStore = (store, updateImageDiffNote, query, variables) => {
+ const data = store.readQuery({
+ query,
+ variables,
+ });
+
+ const design = extractDesign(data);
+ const discussion = extractCurrentDiscussion(
+ design.discussions,
+ updateImageDiffNote.note.discussion.id,
+ );
+
+ discussion.notes = {
+ ...discussion.notes,
+ nodes: [updateImageDiffNote.note, ...discussion.notes.nodes.slice(1)],
+ };
+
+ store.writeQuery({
+ query,
+ variables,
+ data: {
+ ...data,
+ design,
+ },
+ });
+};
+
+const addNewDesignToStore = (store, designManagementUpload, query) => {
+ const data = store.readQuery(query);
+
+ const newDesigns = data.project.issue.designCollection.designs.edges.reduce((acc, design) => {
+ if (!acc.find(d => d.filename === design.node.filename)) {
+ acc.push(design.node);
+ }
+
+ return acc;
+ }, designManagementUpload.designs);
+
+ let newVersionNode;
+ const findNewVersions = designManagementUpload.designs.find(design => design.versions);
+
+ if (findNewVersions) {
+ const findNewVersionsEdges = findNewVersions.versions.edges;
+
+ if (findNewVersionsEdges && findNewVersionsEdges.length) {
+ newVersionNode = [findNewVersionsEdges[0]];
+ }
+ }
+
+ const newVersions = [
+ ...(newVersionNode || []),
+ ...data.project.issue.designCollection.versions.edges,
+ ];
+
+ const updatedDesigns = {
+ __typename: 'DesignCollection',
+ designs: {
+ __typename: 'DesignConnection',
+ edges: newDesigns.map(design => ({
+ __typename: 'DesignEdge',
+ node: design,
+ })),
+ },
+ versions: {
+ __typename: 'DesignVersionConnection',
+ edges: newVersions,
+ },
+ };
+
+ data.project.issue.designCollection = updatedDesigns;
+
+ store.writeQuery({
+ ...query,
+ data,
+ });
+};
+
+const onError = (data, message) => {
+ createFlash(message);
+ throw new Error(data.errors);
+};
+
+export const hasErrors = ({ errors = [] }) => errors?.length;
+
+/**
+ * Updates a store after design deletion
+ *
+ * @param {Object} store
+ * @param {Object} data
+ * @param {Object} query
+ * @param {Array} designs
+ */
+export const updateStoreAfterDesignsDelete = (store, data, query, designs) => {
+ if (hasErrors(data)) {
+ onError(data, designDeletionError({ singular: designs.length === 1 }));
+ } else {
+ deleteDesignsFromStore(store, query, designs);
+ addNewVersionToStore(store, query, data.version);
+ }
+};
+
+export const updateStoreAfterAddDiscussionComment = (
+ store,
+ data,
+ query,
+ queryVariables,
+ discussionId,
+) => {
+ if (hasErrors(data)) {
+ onError(data, ADD_DISCUSSION_COMMENT_ERROR);
+ } else {
+ addDiscussionCommentToStore(store, data, query, queryVariables, discussionId);
+ }
+};
+
+export const updateStoreAfterAddImageDiffNote = (store, data, query, queryVariables) => {
+ if (hasErrors(data)) {
+ onError(data, ADD_IMAGE_DIFF_NOTE_ERROR);
+ } else {
+ addImageDiffNoteToStore(store, data, query, queryVariables);
+ }
+};
+
+export const updateStoreAfterUpdateImageDiffNote = (store, data, query, queryVariables) => {
+ if (hasErrors(data)) {
+ onError(data, UPDATE_IMAGE_DIFF_NOTE_ERROR);
+ } else {
+ updateImageDiffNoteInStore(store, data, query, queryVariables);
+ }
+};
+
+export const updateStoreAfterUploadDesign = (store, data, query) => {
+ if (hasErrors(data)) {
+ onError(data, data.errors[0]);
+ } else {
+ addNewDesignToStore(store, data, query);
+ }
+};
diff --git a/app/assets/javascripts/design_management/utils/design_management_utils.js b/app/assets/javascripts/design_management/utils/design_management_utils.js
new file mode 100644
index 00000000000..e6d8796ffa4
--- /dev/null
+++ b/app/assets/javascripts/design_management/utils/design_management_utils.js
@@ -0,0 +1,125 @@
+import { uniqueId } from 'lodash';
+import { VALID_DESIGN_FILE_MIMETYPE } from '../constants';
+
+export const isValidDesignFile = ({ type }) =>
+ (type.match(VALID_DESIGN_FILE_MIMETYPE.regex) || []).length > 0;
+
+/**
+ * Returns formatted array that doesn't contain
+ * `edges`->`node` nesting
+ *
+ * @param {Array} elements
+ */
+
+export const extractNodes = elements => elements.edges.map(({ node }) => node);
+
+/**
+ * Returns formatted array of discussions that doesn't contain
+ * `edges`->`node` nesting for child notes
+ *
+ * @param {Array} discussions
+ */
+
+export const extractDiscussions = discussions =>
+ discussions.nodes.map(discussion => ({
+ ...discussion,
+ notes: discussion.notes.nodes,
+ }));
+
+/**
+ * Returns a discussion with the given id from discussions array
+ *
+ * @param {Array} discussions
+ */
+
+export const extractCurrentDiscussion = (discussions, id) =>
+ discussions.nodes.find(discussion => discussion.id === id);
+
+export const findVersionId = id => (id.match('::Version/(.+$)') || [])[1];
+
+export const findNoteId = id => (id.match('DiffNote/(.+$)') || [])[1];
+
+export const extractDesigns = data => data.project.issue.designCollection.designs.edges;
+
+export const extractDesign = data => (extractDesigns(data) || [])[0]?.node;
+
+/**
+ * Generates optimistic response for a design upload mutation
+ * @param {Array<File>} files
+ */
+export const designUploadOptimisticResponse = files => {
+ const designs = files.map(file => ({
+ // False positive i18n lint: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/26
+ // eslint-disable-next-line @gitlab/require-i18n-strings
+ __typename: 'Design',
+ id: -uniqueId(),
+ image: '',
+ imageV432x230: '',
+ filename: file.name,
+ fullPath: '',
+ notesCount: 0,
+ event: 'NONE',
+ diffRefs: {
+ __typename: 'DiffRefs',
+ baseSha: '',
+ startSha: '',
+ headSha: '',
+ },
+ discussions: {
+ __typename: 'DesignDiscussion',
+ nodes: [],
+ },
+ versions: {
+ __typename: 'DesignVersionConnection',
+ edges: {
+ __typename: 'DesignVersionEdge',
+ node: {
+ __typename: 'DesignVersion',
+ id: -uniqueId(),
+ sha: -uniqueId(),
+ },
+ },
+ },
+ }));
+
+ return {
+ // False positive i18n lint: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/26
+ // eslint-disable-next-line @gitlab/require-i18n-strings
+ __typename: 'Mutation',
+ designManagementUpload: {
+ __typename: 'DesignManagementUploadPayload',
+ designs,
+ skippedDesigns: [],
+ errors: [],
+ },
+ };
+};
+
+/**
+ * Generates optimistic response for a design upload mutation
+ * @param {Array<File>} files
+ */
+export const updateImageDiffNoteOptimisticResponse = (note, { position }) => ({
+ // False positive i18n lint: https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/26
+ // eslint-disable-next-line @gitlab/require-i18n-strings
+ __typename: 'Mutation',
+ updateImageDiffNote: {
+ __typename: 'UpdateImageDiffNotePayload',
+ note: {
+ ...note,
+ position: {
+ ...note.position,
+ ...position,
+ },
+ },
+ errors: [],
+ },
+});
+
+const normalizeAuthor = author => ({
+ ...author,
+ web_url: author.webUrl,
+ avatar_url: author.avatarUrl,
+});
+
+export const extractParticipants = users => users.edges.map(({ node }) => normalizeAuthor(node));
diff --git a/app/assets/javascripts/design_management/utils/error_messages.js b/app/assets/javascripts/design_management/utils/error_messages.js
new file mode 100644
index 00000000000..7666c726c2f
--- /dev/null
+++ b/app/assets/javascripts/design_management/utils/error_messages.js
@@ -0,0 +1,95 @@
+import { __, s__, n__, sprintf } from '~/locale';
+
+export const ADD_DISCUSSION_COMMENT_ERROR = s__(
+ 'DesignManagement|Could not add a new comment. Please try again.',
+);
+
+export const ADD_IMAGE_DIFF_NOTE_ERROR = s__(
+ 'DesignManagement|Could not create new discussion. Please try again.',
+);
+
+export const UPDATE_IMAGE_DIFF_NOTE_ERROR = s__(
+ 'DesignManagement|Could not update discussion. Please try again.',
+);
+
+export const UPDATE_NOTE_ERROR = s__('DesignManagement|Could not update note. Please try again.');
+
+export const UPLOAD_DESIGN_ERROR = s__(
+ 'DesignManagement|Error uploading a new design. Please try again.',
+);
+
+export const UPLOAD_DESIGN_INVALID_FILETYPE_ERROR = __(
+ 'Could not upload your designs as one or more files uploaded are not supported.',
+);
+
+export const DESIGN_NOT_FOUND_ERROR = __('Could not find design.');
+
+export const DESIGN_VERSION_NOT_EXIST_ERROR = __('Requested design version does not exist.');
+
+const DESIGN_UPLOAD_SKIPPED_MESSAGE = s__('DesignManagement|Upload skipped.');
+
+const ALL_DESIGNS_SKIPPED_MESSAGE = `${DESIGN_UPLOAD_SKIPPED_MESSAGE} ${s__(
+ 'The designs you tried uploading did not change.',
+)}`;
+
+export const EXISTING_DESIGN_DROP_MANY_FILES_MESSAGE = __(
+ 'You can only upload one design when dropping onto an existing design.',
+);
+
+export const EXISTING_DESIGN_DROP_INVALID_FILENAME_MESSAGE = __(
+ 'You must upload a file with the same file name when dropping onto an existing design.',
+);
+
+const MAX_SKIPPED_FILES_LISTINGS = 5;
+
+const oneDesignSkippedMessage = filename =>
+ `${DESIGN_UPLOAD_SKIPPED_MESSAGE} ${sprintf(s__('DesignManagement|%{filename} did not change.'), {
+ filename,
+ })}`;
+
+/**
+ * Return warning message indicating that some (but not all) uploaded
+ * files were skipped.
+ * @param {Array<{ filename }>} skippedFiles
+ */
+const someDesignsSkippedMessage = skippedFiles => {
+ const designsSkippedMessage = `${DESIGN_UPLOAD_SKIPPED_MESSAGE} ${s__(
+ 'Some of the designs you tried uploading did not change:',
+ )}`;
+
+ const moreText = sprintf(s__(`DesignManagement|and %{moreCount} more.`), {
+ moreCount: skippedFiles.length - MAX_SKIPPED_FILES_LISTINGS,
+ });
+
+ return `${designsSkippedMessage} ${skippedFiles
+ .slice(0, MAX_SKIPPED_FILES_LISTINGS)
+ .map(({ filename }) => filename)
+ .join(', ')}${skippedFiles.length > MAX_SKIPPED_FILES_LISTINGS ? `, ${moreText}` : '.'}`;
+};
+
+export const designDeletionError = ({ singular = true } = {}) => {
+ const design = singular ? __('a design') : __('designs');
+ return sprintf(s__('Could not delete %{design}. Please try again.'), {
+ design,
+ });
+};
+
+/**
+ * Return warning message, if applicable, that one, some or all uploaded
+ * files were skipped.
+ * @param {Array<{ filename }>} uploadedDesigns
+ * @param {Array<{ filename }>} skippedFiles
+ */
+export const designUploadSkippedWarning = (uploadedDesigns, skippedFiles) => {
+ if (skippedFiles.length === 0) {
+ return null;
+ }
+
+ if (skippedFiles.length === uploadedDesigns.length) {
+ const { filename } = skippedFiles[0];
+
+ return n__(oneDesignSkippedMessage(filename), ALL_DESIGNS_SKIPPED_MESSAGE, skippedFiles.length);
+ }
+
+ return someDesignsSkippedMessage(skippedFiles);
+};
diff --git a/app/assets/javascripts/design_management/utils/tracking.js b/app/assets/javascripts/design_management/utils/tracking.js
new file mode 100644
index 00000000000..c94aa83ecc0
--- /dev/null
+++ b/app/assets/javascripts/design_management/utils/tracking.js
@@ -0,0 +1,22 @@
+import Tracking from '~/tracking';
+
+function assembleDesignPayload(payloadArr) {
+ return {
+ value: {
+ 'internal-object-refrerer': payloadArr[0],
+ 'version-number': payloadArr[1],
+ 'current-version': payloadArr[2],
+ },
+ };
+}
+
+// Tracking Constants
+const DESIGN_TRACKING_PAGE_NAME = 'projects:issues:design';
+
+// eslint-disable-next-line import/prefer-default-export
+export function trackDesignDetailView(refrerer = '', designVersion = 1, latestVersion = false) {
+ Tracking.event(DESIGN_TRACKING_PAGE_NAME, 'design_viewed', {
+ label: 'design_viewed',
+ ...assembleDesignPayload([refrerer, designVersion, latestVersion]),
+ });
+}
diff --git a/app/assets/javascripts/diffs/store/utils.js b/app/assets/javascripts/diffs/store/utils.js
index b46b8d95d5f..eb4c6683035 100644
--- a/app/assets/javascripts/diffs/store/utils.js
+++ b/app/assets/javascripts/diffs/store/utils.js
@@ -233,7 +233,7 @@ export function trimFirstCharOfLineContent(line = {}) {
// eslint-disable-next-line no-param-reassign
delete line.text;
- const parsedLine = Object.assign({}, line);
+ const parsedLine = { ...line };
if (line.rich_text) {
const firstChar = parsedLine.rich_text.charAt(0);
diff --git a/app/assets/javascripts/editor/editor_lite.js b/app/assets/javascripts/editor/editor_lite.js
index 663d14bcfcb..020ed6dc867 100644
--- a/app/assets/javascripts/editor/editor_lite.js
+++ b/app/assets/javascripts/editor/editor_lite.js
@@ -1,6 +1,8 @@
import { editor as monacoEditor, languages as monacoLanguages, Uri } from 'monaco-editor';
import { DEFAULT_THEME, themes } from '~/ide/lib/themes';
+import languages from '~/ide/lib/languages';
import { defaultEditorOptions } from '~/ide/lib/editor_options';
+import { registerLanguages } from '~/ide/utils';
import { clearDomElement } from './utils';
export default class Editor {
@@ -17,6 +19,8 @@ export default class Editor {
};
Editor.setupMonacoTheme();
+
+ registerLanguages(...languages);
}
static setupMonacoTheme() {
diff --git a/app/assets/javascripts/environments/stores/environments_store.js b/app/assets/javascripts/environments/stores/environments_store.js
index e07ec693948..1992e753255 100644
--- a/app/assets/javascripts/environments/stores/environments_store.js
+++ b/app/assets/javascripts/environments/stores/environments_store.js
@@ -58,13 +58,14 @@ export default class EnvironmentsStore {
let filtered = {};
if (env.size > 1) {
- filtered = Object.assign({}, env, {
+ filtered = {
+ ...env,
isFolder: true,
isLoadingFolderContent: oldEnvironmentState.isLoading || false,
folderName: env.name,
isOpen: oldEnvironmentState.isOpen || false,
children: oldEnvironmentState.children || [],
- });
+ };
}
if (env.latest) {
@@ -166,7 +167,7 @@ export default class EnvironmentsStore {
let updated = env;
if (env.latest) {
- updated = Object.assign({}, env, env.latest);
+ updated = { ...env, ...env.latest };
delete updated.latest;
} else {
updated = env;
@@ -192,7 +193,7 @@ export default class EnvironmentsStore {
const { environments } = this.state;
const updatedEnvironments = environments.map(env => {
- const updateEnv = Object.assign({}, env);
+ const updateEnv = { ...env };
if (env.id === environment.id) {
updateEnv[prop] = newValue;
}
diff --git a/app/assets/javascripts/filtered_search/constants.js b/app/assets/javascripts/filtered_search/constants.js
index d7264e96b13..7e7a2588951 100644
--- a/app/assets/javascripts/filtered_search/constants.js
+++ b/app/assets/javascripts/filtered_search/constants.js
@@ -4,3 +4,8 @@ export const DROPDOWN_TYPE = {
hint: 'hint',
operator: 'operator',
};
+
+export const FILTER_TYPE = {
+ none: 'none',
+ any: 'any',
+};
diff --git a/app/assets/javascripts/filtered_search/dropdown_operator.js b/app/assets/javascripts/filtered_search/dropdown_operator.js
index 0c8c8140ee9..1bbd33b6258 100644
--- a/app/assets/javascripts/filtered_search/dropdown_operator.js
+++ b/app/assets/javascripts/filtered_search/dropdown_operator.js
@@ -47,13 +47,17 @@ export default class DropdownOperator extends FilteredSearchDropdown {
title: '=',
help: __('is'),
},
- {
+ ];
+
+ if (gon.features?.notIssuableQueries) {
+ dropdownData.push({
tag: 'not-equal',
type: 'string',
title: '!=',
help: __('is not'),
- },
- ];
+ });
+ }
+
this.droplab.changeHookList(this.hookId, this.dropdown, [Filter], this.config);
this.droplab.setData(this.hookId, dropdownData);
super.renderContent(forceShowList);
diff --git a/app/assets/javascripts/filtered_search/filtered_search_dropdown.js b/app/assets/javascripts/filtered_search/filtered_search_dropdown.js
index 2b6e1f25dc6..f7ce2ea01e0 100644
--- a/app/assets/javascripts/filtered_search/filtered_search_dropdown.js
+++ b/app/assets/javascripts/filtered_search/filtered_search_dropdown.js
@@ -1,6 +1,7 @@
import DropdownUtils from './dropdown_utils';
import FilteredSearchDropdownManager from './filtered_search_dropdown_manager';
import FilteredSearchVisualTokens from './filtered_search_visual_tokens';
+import { FILTER_TYPE } from './constants';
const DATA_DROPDOWN_TRIGGER = 'data-dropdown-trigger';
@@ -74,6 +75,9 @@ export default class FilteredSearchDropdown {
renderContent(forceShowList = false) {
const currentHook = this.getCurrentHook();
+
+ FilteredSearchDropdown.hideDropdownItemsforNotOperator(currentHook);
+
if (forceShowList && currentHook && currentHook.list.hidden) {
currentHook.list.show();
}
@@ -138,4 +142,41 @@ export default class FilteredSearchDropdown {
hook.list.render(results);
}
}
+
+ /**
+ * Hide None & Any options from the current dropdown.
+ * Hiding happens only for NOT operator.
+ */
+ static hideDropdownItemsforNotOperator(currentHook) {
+ const lastOperator = FilteredSearchVisualTokens.getLastTokenOperator();
+
+ if (lastOperator === '!=') {
+ const { list: dropdownEl } = currentHook.list;
+
+ let shouldHideDivider = true;
+
+ // Iterate over all the static dropdown values,
+ // then hide `None` and `Any` items.
+ Array.from(dropdownEl.querySelectorAll('li[data-value]')).forEach(itemEl => {
+ const {
+ dataset: { value },
+ } = itemEl;
+
+ if (value.toLowerCase() === FILTER_TYPE.none || value.toLowerCase() === FILTER_TYPE.any) {
+ itemEl.classList.add('hidden');
+ } else {
+ // If we encountered any element other than None/Any, then
+ // we shouldn't hide the divider
+ shouldHideDivider = false;
+ }
+ });
+
+ if (shouldHideDivider) {
+ const divider = dropdownEl.querySelector('li.divider');
+ if (divider) {
+ divider.classList.add('hidden');
+ }
+ }
+ }
+ }
}
diff --git a/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js b/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js
index d051b60814e..161a65c511d 100644
--- a/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js
+++ b/app/assets/javascripts/filtered_search/filtered_search_dropdown_manager.js
@@ -120,7 +120,7 @@ export default class FilteredSearchDropdownManager {
filter: key,
};
const extraArguments = mappingKey.extraArguments || {};
- const glArguments = Object.assign({}, defaultArguments, extraArguments);
+ const glArguments = { ...defaultArguments, ...extraArguments };
// Passing glArguments to `new glClass(<arguments>)`
mappingKey.reference = new (Function.prototype.bind.apply(glClass, [null, glArguments]))();
diff --git a/app/assets/javascripts/filtered_search/stores/recent_searches_store.js b/app/assets/javascripts/filtered_search/stores/recent_searches_store.js
index b3eb0475d6f..cdbc9ec84bd 100644
--- a/app/assets/javascripts/filtered_search/stores/recent_searches_store.js
+++ b/app/assets/javascripts/filtered_search/stores/recent_searches_store.js
@@ -2,14 +2,12 @@ import { uniq } from 'lodash';
class RecentSearchesStore {
constructor(initialState = {}, allowedKeys) {
- this.state = Object.assign(
- {
- isLocalStorageAvailable: true,
- recentSearches: [],
- allowedKeys,
- },
- initialState,
- );
+ this.state = {
+ isLocalStorageAvailable: true,
+ recentSearches: [],
+ allowedKeys,
+ ...initialState,
+ };
}
addRecentSearch(newSearch) {
diff --git a/app/assets/javascripts/gl_dropdown.js b/app/assets/javascripts/gl_dropdown.js
index 1490498c511..be4b4b5f87d 100644
--- a/app/assets/javascripts/gl_dropdown.js
+++ b/app/assets/javascripts/gl_dropdown.js
@@ -595,13 +595,14 @@ class GitLabDropdown {
return renderItem({
instance: this,
- options: Object.assign({}, this.options, {
+ options: {
+ ...this.options,
icon: this.icon,
highlight: this.highlight,
highlightText: text => this.highlightTextMatches(text, this.filterInput.val()),
highlightTemplate: this.highlightTemplate.bind(this),
parent,
- }),
+ },
data,
group,
index,
diff --git a/app/assets/javascripts/gl_form.js b/app/assets/javascripts/gl_form.js
index ced10fff129..0b7735a7db9 100644
--- a/app/assets/javascripts/gl_form.js
+++ b/app/assets/javascripts/gl_form.js
@@ -8,7 +8,7 @@ export default class GLForm {
constructor(form, enableGFM = {}) {
this.form = form;
this.textarea = this.form.find('textarea.js-gfm-input');
- this.enableGFM = Object.assign({}, defaultAutocompleteConfig, enableGFM);
+ this.enableGFM = { ...defaultAutocompleteConfig, ...enableGFM };
// Disable autocomplete for keywords which do not have dataSources available
const dataSources = (gl.GfmAutoComplete && gl.GfmAutoComplete.dataSources) || {};
Object.keys(this.enableGFM).forEach(item => {
diff --git a/app/assets/javascripts/groups/new_group_child.js b/app/assets/javascripts/groups/new_group_child.js
index 012177479c6..bb2aea3ea76 100644
--- a/app/assets/javascripts/groups/new_group_child.js
+++ b/app/assets/javascripts/groups/new_group_child.js
@@ -2,7 +2,7 @@ import { visitUrl } from '../lib/utils/url_utility';
import DropLab from '../droplab/drop_lab';
import ISetter from '../droplab/plugins/input_setter';
-const InputSetter = Object.assign({}, ISetter);
+const InputSetter = { ...ISetter };
const NEW_PROJECT = 'new-project';
const NEW_SUBGROUP = 'new-subgroup';
diff --git a/app/assets/javascripts/helpers/event_hub_factory.js b/app/assets/javascripts/helpers/event_hub_factory.js
new file mode 100644
index 00000000000..4bd390c3535
--- /dev/null
+++ b/app/assets/javascripts/helpers/event_hub_factory.js
@@ -0,0 +1,11 @@
+import mitt from 'mitt';
+
+export default () => {
+ const emitter = mitt();
+
+ emitter.$on = emitter.on;
+ emitter.$off = emitter.off;
+ emitter.$emit = emitter.emit;
+
+ return emitter;
+};
diff --git a/app/assets/javascripts/ide/components/commit_sidebar/list.vue b/app/assets/javascripts/ide/components/commit_sidebar/list.vue
index a15e22d4742..e6a1a1ba73c 100644
--- a/app/assets/javascripts/ide/components/commit_sidebar/list.vue
+++ b/app/assets/javascripts/ide/components/commit_sidebar/list.vue
@@ -1,9 +1,8 @@
<script>
-import $ from 'jquery';
import { mapActions } from 'vuex';
import { __, sprintf } from '~/locale';
+import { GlModal } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
-import DeprecatedModal2 from '~/vue_shared/components/deprecated_modal_2.vue';
import tooltip from '~/vue_shared/directives/tooltip';
import ListItem from './list_item.vue';
@@ -11,7 +10,7 @@ export default {
components: {
Icon,
ListItem,
- GlModal: DeprecatedModal2,
+ GlModal,
},
directives: {
tooltip,
@@ -58,7 +57,7 @@ export default {
methods: {
...mapActions(['stageAllChanges', 'unstageAllChanges', 'discardAllChanges']),
openDiscardModal() {
- $('#discard-all-changes').modal('show');
+ this.$refs.discardAllModal.show();
},
unstageAndDiscardAllChanges() {
this.unstageAllChanges();
@@ -114,11 +113,12 @@ export default {
</p>
<gl-modal
v-if="!stagedList"
- id="discard-all-changes"
- :footer-primary-button-text="__('Discard all changes')"
- :header-title-text="__('Discard all changes?')"
- footer-primary-button-variant="danger"
- @submit="unstageAndDiscardAllChanges"
+ ref="discardAllModal"
+ ok-variant="danger"
+ modal-id="discard-all-changes"
+ :ok-title="__('Discard all changes')"
+ :title="__('Discard all changes?')"
+ @ok="unstageAndDiscardAllChanges"
>
{{ $options.discardModalText }}
</gl-modal>
diff --git a/app/assets/javascripts/ide/components/ide.vue b/app/assets/javascripts/ide/components/ide.vue
index 998d3f2d8ea..36c8b18e205 100644
--- a/app/assets/javascripts/ide/components/ide.vue
+++ b/app/assets/javascripts/ide/components/ide.vue
@@ -3,6 +3,7 @@ import Vue from 'vue';
import { mapActions, mapGetters, mapState } from 'vuex';
import { GlDeprecatedButton, GlLoadingIcon } from '@gitlab/ui';
import { __ } from '~/locale';
+import { modalTypes } from '../constants';
import FindFile from '~/vue_shared/components/file_finder/index.vue';
import NewModal from './new_dropdown/modal.vue';
import IdeSidebar from './ide_side_bar.vue';
@@ -67,7 +68,7 @@ export default {
document.querySelector('.navbar-gitlab').classList.add(`theme-${this.themeName}`);
},
methods: {
- ...mapActions(['toggleFileFinder', 'openNewEntryModal']),
+ ...mapActions(['toggleFileFinder']),
onBeforeUnload(e = {}) {
const returnValue = __('Are you sure you want to lose unsaved changes?');
@@ -81,6 +82,9 @@ export default {
openFile(file) {
this.$router.push(`/project${file.url}`);
},
+ createNewFile() {
+ this.$refs.newModal.open(modalTypes.blob);
+ },
},
};
</script>
@@ -137,7 +141,7 @@ export default {
variant="success"
:title="__('New file')"
:aria-label="__('New file')"
- @click="openNewEntryModal({ type: 'blob' })"
+ @click="createNewFile()"
>
{{ __('New file') }}
</gl-deprecated-button>
@@ -159,6 +163,6 @@ export default {
<component :is="rightPaneComponent" v-if="currentProjectId" />
</div>
<ide-status-bar />
- <new-modal />
+ <new-modal ref="newModal" />
</article>
</template>
diff --git a/app/assets/javascripts/ide/components/ide_tree.vue b/app/assets/javascripts/ide/components/ide_tree.vue
index 598f3a1dac6..d78cddc0953 100644
--- a/app/assets/javascripts/ide/components/ide_tree.vue
+++ b/app/assets/javascripts/ide/components/ide_tree.vue
@@ -1,14 +1,17 @@
<script>
import { mapState, mapGetters, mapActions } from 'vuex';
+import { modalTypes } from '../constants';
import IdeTreeList from './ide_tree_list.vue';
import Upload from './new_dropdown/upload.vue';
import NewEntryButton from './new_dropdown/button.vue';
+import NewModal from './new_dropdown/modal.vue';
export default {
components: {
Upload,
IdeTreeList,
NewEntryButton,
+ NewModal,
},
computed: {
...mapState(['currentBranchId']),
@@ -26,7 +29,13 @@ export default {
}
},
methods: {
- ...mapActions(['updateViewer', 'openNewEntryModal', 'createTempEntry', 'resetOpenFiles']),
+ ...mapActions(['updateViewer', 'createTempEntry', 'resetOpenFiles']),
+ createNewFile() {
+ this.$refs.newModal.open(modalTypes.blob);
+ },
+ createNewFolder() {
+ this.$refs.newModal.open(modalTypes.tree);
+ },
},
};
</script>
@@ -41,7 +50,7 @@ export default {
:show-label="false"
class="d-flex border-0 p-0 mr-3 qa-new-file"
icon="doc-new"
- @click="openNewEntryModal({ type: 'blob' })"
+ @click="createNewFile()"
/>
<upload
:show-label="false"
@@ -54,9 +63,10 @@ export default {
:show-label="false"
class="d-flex border-0 p-0"
icon="folder-new"
- @click="openNewEntryModal({ type: 'tree' })"
+ @click="createNewFolder()"
/>
</div>
+ <new-modal ref="newModal" />
</template>
</ide-tree-list>
</template>
diff --git a/app/assets/javascripts/ide/components/nav_form.vue b/app/assets/javascripts/ide/components/nav_form.vue
index 195504a6861..70a92b8d3ab 100644
--- a/app/assets/javascripts/ide/components/nav_form.vue
+++ b/app/assets/javascripts/ide/components/nav_form.vue
@@ -25,13 +25,13 @@ export default {
<div class="ide-nav-form p-0">
<tabs v-if="showMergeRequests" stop-propagation>
<tab active>
- <template slot="title">
+ <template #title>
{{ __('Branches') }}
</template>
<branches-search-list />
</tab>
<tab>
- <template slot="title">
+ <template #title>
{{ __('Merge Requests') }}
</template>
<merge-request-search-list />
diff --git a/app/assets/javascripts/ide/components/new_dropdown/index.vue b/app/assets/javascripts/ide/components/new_dropdown/index.vue
index 9961c0df52e..9ad17d73716 100644
--- a/app/assets/javascripts/ide/components/new_dropdown/index.vue
+++ b/app/assets/javascripts/ide/components/new_dropdown/index.vue
@@ -4,12 +4,14 @@ import icon from '~/vue_shared/components/icon.vue';
import upload from './upload.vue';
import ItemButton from './button.vue';
import { modalTypes } from '../../constants';
+import NewModal from '../new_dropdown/modal.vue';
export default {
components: {
icon,
upload,
ItemButton,
+ NewModal,
},
props: {
type: {
@@ -37,9 +39,9 @@ export default {
},
},
methods: {
- ...mapActions(['createTempEntry', 'openNewEntryModal', 'deleteEntry']),
+ ...mapActions(['createTempEntry', 'deleteEntry']),
createNewItem(type) {
- this.openNewEntryModal({ type, path: this.path });
+ this.$refs.newModal.open(type, this.path);
this.$emit('toggle', false);
},
openDropdown() {
@@ -109,5 +111,6 @@ export default {
</li>
</ul>
</div>
+ <new-modal ref="newModal" />
</div>
</template>
diff --git a/app/assets/javascripts/ide/components/new_dropdown/modal.vue b/app/assets/javascripts/ide/components/new_dropdown/modal.vue
index bf3d736ddf3..f9a27d77498 100644
--- a/app/assets/javascripts/ide/components/new_dropdown/modal.vue
+++ b/app/assets/javascripts/ide/components/new_dropdown/modal.vue
@@ -1,61 +1,60 @@
<script>
-import $ from 'jquery';
import { mapActions, mapState, mapGetters } from 'vuex';
import flash from '~/flash';
import { __, sprintf, s__ } from '~/locale';
-import DeprecatedModal2 from '~/vue_shared/components/deprecated_modal_2.vue';
+import { GlModal } from '@gitlab/ui';
import { modalTypes } from '../../constants';
export default {
components: {
- GlModal: DeprecatedModal2,
+ GlModal,
},
data() {
return {
name: '',
+ type: modalTypes.blob,
+ path: '',
};
},
computed: {
- ...mapState(['entries', 'entryModal']),
+ ...mapState(['entries']),
...mapGetters('fileTemplates', ['templateTypes']),
entryName: {
get() {
- const entryPath = this.entryModal.entry.path;
-
- if (this.entryModal.type === modalTypes.rename) {
- return this.name || entryPath;
+ if (this.type === modalTypes.rename) {
+ return this.name || this.path;
}
- return this.name || (entryPath ? `${entryPath}/` : '');
+ return this.name || (this.path ? `${this.path}/` : '');
},
set(val) {
this.name = val.trim();
},
},
modalTitle() {
- if (this.entryModal.type === modalTypes.tree) {
+ const entry = this.entries[this.path];
+
+ if (this.type === modalTypes.tree) {
return __('Create new directory');
- } else if (this.entryModal.type === modalTypes.rename) {
- return this.entryModal.entry.type === modalTypes.tree
- ? __('Rename folder')
- : __('Rename file');
+ } else if (this.type === modalTypes.rename) {
+ return entry.type === modalTypes.tree ? __('Rename folder') : __('Rename file');
}
return __('Create new file');
},
buttonLabel() {
- if (this.entryModal.type === modalTypes.tree) {
+ const entry = this.entries[this.path];
+
+ if (this.type === modalTypes.tree) {
return __('Create directory');
- } else if (this.entryModal.type === modalTypes.rename) {
- return this.entryModal.entry.type === modalTypes.tree
- ? __('Rename folder')
- : __('Rename file');
+ } else if (this.type === modalTypes.rename) {
+ return entry.type === modalTypes.tree ? __('Rename folder') : __('Rename file');
}
return __('Create file');
},
isCreatingNewFile() {
- return this.entryModal.type === 'blob';
+ return this.type === modalTypes.blob;
},
placeholder() {
return this.isCreatingNewFile ? 'dir/file_name' : 'dir/';
@@ -64,7 +63,7 @@ export default {
methods: {
...mapActions(['createTempEntry', 'renameEntry']),
submitForm() {
- if (this.entryModal.type === modalTypes.rename) {
+ if (this.type === modalTypes.rename) {
if (this.entries[this.entryName] && !this.entries[this.entryName].deleted) {
flash(
sprintf(s__('The name "%{name}" is already taken in this directory.'), {
@@ -82,7 +81,7 @@ export default {
parentPath = parentPath.join('/');
this.renameEntry({
- path: this.entryModal.entry.path,
+ path: this.path,
name: entryName,
parentPath,
});
@@ -90,17 +89,17 @@ export default {
} else {
this.createTempEntry({
name: this.name,
- type: this.entryModal.type,
+ type: this.type,
});
}
},
createFromTemplate(template) {
this.createTempEntry({
name: template.name,
- type: this.entryModal.type,
+ type: this.type,
});
- $('#ide-new-entry').modal('toggle');
+ this.$refs.modal.toggle();
},
focusInput() {
const name = this.entries[this.entryName] ? this.entries[this.entryName].name : null;
@@ -112,8 +111,23 @@ export default {
this.$refs.fieldName.setSelectionRange(inputValue.indexOf(name), inputValue.length);
}
},
- closedModal() {
+ resetData() {
this.name = '';
+ this.path = '';
+ this.type = modalTypes.blob;
+ },
+ open(type = modalTypes.blob, path = '') {
+ this.type = type;
+ this.path = path;
+ this.$refs.modal.show();
+
+ // wait for modal to show first
+ this.$nextTick(() => {
+ this.focusInput();
+ });
+ },
+ close() {
+ this.$refs.modal.hide();
},
},
};
@@ -121,15 +135,15 @@ export default {
<template>
<gl-modal
- id="ide-new-entry"
- class="qa-new-file-modal"
- :header-title-text="modalTitle"
- :footer-primary-button-text="buttonLabel"
- footer-primary-button-variant="success"
- modal-size="lg"
- @submit="submitForm"
- @open="focusInput"
- @closed="closedModal"
+ ref="modal"
+ modal-id="ide-new-entry"
+ modal-class="qa-new-file-modal"
+ :title="modalTitle"
+ :ok-title="buttonLabel"
+ ok-variant="success"
+ size="lg"
+ @ok="submitForm"
+ @hide="resetData"
>
<div class="form-group row">
<label class="label-bold col-form-label col-sm-2"> {{ __('Name') }} </label>
diff --git a/app/assets/javascripts/ide/constants.js b/app/assets/javascripts/ide/constants.js
index fa2672aaece..ae8550cba76 100644
--- a/app/assets/javascripts/ide/constants.js
+++ b/app/assets/javascripts/ide/constants.js
@@ -78,6 +78,7 @@ export const commitItemIconMap = {
export const modalTypes = {
rename: 'rename',
tree: 'tree',
+ blob: 'blob',
};
export const commitActionTypes = {
diff --git a/app/assets/javascripts/ide/eventhub.js b/app/assets/javascripts/ide/eventhub.js
index 0948c2e5352..e31806ad199 100644
--- a/app/assets/javascripts/ide/eventhub.js
+++ b/app/assets/javascripts/ide/eventhub.js
@@ -1,3 +1,3 @@
-import Vue from 'vue';
+import createEventHub from '~/helpers/event_hub_factory';
-export default new Vue();
+export default createEventHub();
diff --git a/app/assets/javascripts/ide/lib/diff/diff.js b/app/assets/javascripts/ide/lib/diff/diff.js
index 9b7ed68b893..29e29d7fcd3 100644
--- a/app/assets/javascripts/ide/lib/diff/diff.js
+++ b/app/assets/javascripts/ide/lib/diff/diff.js
@@ -14,13 +14,12 @@ export const computeDiff = (originalContent, newContent) => {
endLineNumber: lineNumber + change.count - 1,
});
} else if ('added' in change || 'removed' in change) {
- acc.push(
- Object.assign({}, change, {
- lineNumber,
- modified: undefined,
- endLineNumber: lineNumber + change.count - 1,
- }),
- );
+ acc.push({
+ ...change,
+ lineNumber,
+ modified: undefined,
+ endLineNumber: lineNumber + change.count - 1,
+ });
}
if (!change.removed) {
diff --git a/app/assets/javascripts/ide/lib/editor.js b/app/assets/javascripts/ide/lib/editor.js
index 3aff4d30d81..25224abd77c 100644
--- a/app/assets/javascripts/ide/lib/editor.js
+++ b/app/assets/javascripts/ide/lib/editor.js
@@ -7,8 +7,10 @@ import Disposable from './common/disposable';
import ModelManager from './common/model_manager';
import editorOptions, { defaultEditorOptions } from './editor_options';
import { themes } from './themes';
+import languages from './languages';
import keymap from './keymap.json';
import { clearDomElement } from '~/editor/utils';
+import { registerLanguages } from '../utils';
function setupThemes() {
themes.forEach(theme => {
@@ -37,6 +39,7 @@ export default class Editor {
};
setupThemes();
+ registerLanguages(...languages);
this.debouncedUpdate = debounce(() => {
this.updateDimensions();
diff --git a/app/assets/javascripts/ide/lib/languages/index.js b/app/assets/javascripts/ide/lib/languages/index.js
new file mode 100644
index 00000000000..0c85a1104fc
--- /dev/null
+++ b/app/assets/javascripts/ide/lib/languages/index.js
@@ -0,0 +1,5 @@
+import vue from './vue';
+
+const languages = [vue];
+
+export default languages;
diff --git a/app/assets/javascripts/ide/lib/languages/vue.js b/app/assets/javascripts/ide/lib/languages/vue.js
new file mode 100644
index 00000000000..b9ff5c5d776
--- /dev/null
+++ b/app/assets/javascripts/ide/lib/languages/vue.js
@@ -0,0 +1,306 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See https://github.com/microsoft/monaco-languages/blob/master/LICENSE.md
+ *--------------------------------------------------------------------------------------------*/
+
+// Based on handlebars template in https://github.com/microsoft/monaco-languages/blob/master/src/handlebars/handlebars.ts
+// Look for "vuejs template attributes" in this file for Vue specific syntax.
+
+import { languages } from 'monaco-editor';
+
+/* eslint-disable no-useless-escape */
+/* eslint-disable @gitlab/require-i18n-strings */
+
+const EMPTY_ELEMENTS = [
+ 'area',
+ 'base',
+ 'br',
+ 'col',
+ 'embed',
+ 'hr',
+ 'img',
+ 'input',
+ 'keygen',
+ 'link',
+ 'menuitem',
+ 'meta',
+ 'param',
+ 'source',
+ 'track',
+ 'wbr',
+];
+
+const conf = {
+ wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
+
+ comments: {
+ blockComment: ['{{!--', '--}}'],
+ },
+
+ brackets: [['<!--', '-->'], ['<', '>'], ['{{', '}}'], ['{', '}'], ['(', ')']],
+
+ autoClosingPairs: [
+ { open: '{', close: '}' },
+ { open: '[', close: ']' },
+ { open: '(', close: ')' },
+ { open: '"', close: '"' },
+ { open: "'", close: "'" },
+ ],
+
+ surroundingPairs: [
+ { open: '<', close: '>' },
+ { open: '"', close: '"' },
+ { open: "'", close: "'" },
+ ],
+
+ onEnterRules: [
+ {
+ beforeText: new RegExp(
+ `<(?!(?:${EMPTY_ELEMENTS.join('|')}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
+ 'i',
+ ),
+ afterText: /^<\/(\w[\w\d]*)\s*>$/i,
+ action: { indentAction: languages.IndentAction.IndentOutdent },
+ },
+ {
+ beforeText: new RegExp(
+ `<(?!(?:${EMPTY_ELEMENTS.join('|')}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
+ 'i',
+ ),
+ action: { indentAction: languages.IndentAction.Indent },
+ },
+ ],
+};
+
+const language = {
+ defaultToken: '',
+ tokenPostfix: '',
+ // ignoreCase: true,
+
+ // The main tokenizer for our languages
+ tokenizer: {
+ root: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.root' }],
+ [/<!DOCTYPE/, 'metatag.html', '@doctype'],
+ [/<!--/, 'comment.html', '@comment'],
+ [/(<)([\w]+)(\/>)/, ['delimiter.html', 'tag.html', 'delimiter.html']],
+ [/(<)(script)/, ['delimiter.html', { token: 'tag.html', next: '@script' }]],
+ [/(<)(style)/, ['delimiter.html', { token: 'tag.html', next: '@style' }]],
+ [/(<)([:\w]+)/, ['delimiter.html', { token: 'tag.html', next: '@otherTag' }]],
+ [/(<\/)([\w]+)/, ['delimiter.html', { token: 'tag.html', next: '@otherTag' }]],
+ [/</, 'delimiter.html'],
+ [/\{/, 'delimiter.html'],
+ [/[^<{]+/], // text
+ ],
+
+ doctype: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.comment' }],
+ [/[^>]+/, 'metatag.content.html'],
+ [/>/, 'metatag.html', '@pop'],
+ ],
+
+ comment: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.comment' }],
+ [/-->/, 'comment.html', '@pop'],
+ [/[^-]+/, 'comment.content.html'],
+ [/./, 'comment.content.html'],
+ ],
+
+ otherTag: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.otherTag' }],
+ [/\/?>/, 'delimiter.html', '@pop'],
+
+ // -- BEGIN vuejs template attributes
+ [/(v-|@|:)[\w\-\.\:\[\]]+="([^"]*)"/, 'variable'],
+ [/(v-|@|:)[\w\-\.\:\[\]]+='([^']*)'/, 'variable'],
+
+ [/"([^"]*)"/, 'attribute.value'],
+ [/'([^']*)'/, 'attribute.value'],
+
+ [/[\w\-\.\:\[\]]+/, 'attribute.name'],
+ // -- END vuejs template attributes
+
+ [/=/, 'delimiter'],
+ [/[ \t\r\n]+/], // whitespace
+ ],
+
+ // -- BEGIN <script> tags handling
+
+ // After <script
+ script: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.script' }],
+ [/type/, 'attribute.name', '@scriptAfterType'],
+ [/"([^"]*)"/, 'attribute.value'],
+ [/'([^']*)'/, 'attribute.value'],
+ [/[\w\-]+/, 'attribute.name'],
+ [/=/, 'delimiter'],
+ [
+ />/,
+ {
+ token: 'delimiter.html',
+ next: '@scriptEmbedded.text/javascript',
+ nextEmbedded: 'text/javascript',
+ },
+ ],
+ [/[ \t\r\n]+/], // whitespace
+ [
+ /(<\/)(script\s*)(>)/,
+ ['delimiter.html', 'tag.html', { token: 'delimiter.html', next: '@pop' }],
+ ],
+ ],
+
+ // After <script ... type
+ scriptAfterType: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.scriptAfterType' }],
+ [/=/, 'delimiter', '@scriptAfterTypeEquals'],
+ [
+ />/,
+ {
+ token: 'delimiter.html',
+ next: '@scriptEmbedded.text/javascript',
+ nextEmbedded: 'text/javascript',
+ },
+ ], // cover invalid e.g. <script type>
+ [/[ \t\r\n]+/], // whitespace
+ [/<\/script\s*>/, { token: '@rematch', next: '@pop' }],
+ ],
+
+ // After <script ... type =
+ scriptAfterTypeEquals: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.scriptAfterTypeEquals' }],
+ [/"([^"]*)"/, { token: 'attribute.value', switchTo: '@scriptWithCustomType.$1' }],
+ [/'([^']*)'/, { token: 'attribute.value', switchTo: '@scriptWithCustomType.$1' }],
+ [
+ />/,
+ {
+ token: 'delimiter.html',
+ next: '@scriptEmbedded.text/javascript',
+ nextEmbedded: 'text/javascript',
+ },
+ ], // cover invalid e.g. <script type=>
+ [/[ \t\r\n]+/], // whitespace
+ [/<\/script\s*>/, { token: '@rematch', next: '@pop' }],
+ ],
+
+ // After <script ... type = $S2
+ scriptWithCustomType: [
+ [
+ /\{\{/,
+ { token: '@rematch', switchTo: '@handlebarsInSimpleState.scriptWithCustomType.$S2' },
+ ],
+ [/>/, { token: 'delimiter.html', next: '@scriptEmbedded.$S2', nextEmbedded: '$S2' }],
+ [/"([^"]*)"/, 'attribute.value'],
+ [/'([^']*)'/, 'attribute.value'],
+ [/[\w\-]+/, 'attribute.name'],
+ [/=/, 'delimiter'],
+ [/[ \t\r\n]+/], // whitespace
+ [/<\/script\s*>/, { token: '@rematch', next: '@pop' }],
+ ],
+
+ scriptEmbedded: [
+ [
+ /\{\{/,
+ {
+ token: '@rematch',
+ switchTo: '@handlebarsInEmbeddedState.scriptEmbedded.$S2',
+ nextEmbedded: '@pop',
+ },
+ ],
+ [/<\/script/, { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }],
+ ],
+
+ // -- END <script> tags handling
+
+ // -- BEGIN <style> tags handling
+
+ // After <style
+ style: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.style' }],
+ [/type/, 'attribute.name', '@styleAfterType'],
+ [/"([^"]*)"/, 'attribute.value'],
+ [/'([^']*)'/, 'attribute.value'],
+ [/[\w\-]+/, 'attribute.name'],
+ [/=/, 'delimiter'],
+ [/>/, { token: 'delimiter.html', next: '@styleEmbedded.text/css', nextEmbedded: 'text/css' }],
+ [/[ \t\r\n]+/], // whitespace
+ [
+ /(<\/)(style\s*)(>)/,
+ ['delimiter.html', 'tag.html', { token: 'delimiter.html', next: '@pop' }],
+ ],
+ ],
+
+ // After <style ... type
+ styleAfterType: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.styleAfterType' }],
+ [/=/, 'delimiter', '@styleAfterTypeEquals'],
+ [/>/, { token: 'delimiter.html', next: '@styleEmbedded.text/css', nextEmbedded: 'text/css' }], // cover invalid e.g. <style type>
+ [/[ \t\r\n]+/], // whitespace
+ [/<\/style\s*>/, { token: '@rematch', next: '@pop' }],
+ ],
+
+ // After <style ... type =
+ styleAfterTypeEquals: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.styleAfterTypeEquals' }],
+ [/"([^"]*)"/, { token: 'attribute.value', switchTo: '@styleWithCustomType.$1' }],
+ [/'([^']*)'/, { token: 'attribute.value', switchTo: '@styleWithCustomType.$1' }],
+ [/>/, { token: 'delimiter.html', next: '@styleEmbedded.text/css', nextEmbedded: 'text/css' }], // cover invalid e.g. <style type=>
+ [/[ \t\r\n]+/], // whitespace
+ [/<\/style\s*>/, { token: '@rematch', next: '@pop' }],
+ ],
+
+ // After <style ... type = $S2
+ styleWithCustomType: [
+ [/\{\{/, { token: '@rematch', switchTo: '@handlebarsInSimpleState.styleWithCustomType.$S2' }],
+ [/>/, { token: 'delimiter.html', next: '@styleEmbedded.$S2', nextEmbedded: '$S2' }],
+ [/"([^"]*)"/, 'attribute.value'],
+ [/'([^']*)'/, 'attribute.value'],
+ [/[\w\-]+/, 'attribute.name'],
+ [/=/, 'delimiter'],
+ [/[ \t\r\n]+/], // whitespace
+ [/<\/style\s*>/, { token: '@rematch', next: '@pop' }],
+ ],
+
+ styleEmbedded: [
+ [
+ /\{\{/,
+ {
+ token: '@rematch',
+ switchTo: '@handlebarsInEmbeddedState.styleEmbedded.$S2',
+ nextEmbedded: '@pop',
+ },
+ ],
+ [/<\/style/, { token: '@rematch', next: '@pop', nextEmbedded: '@pop' }],
+ ],
+
+ // -- END <style> tags handling
+
+ handlebarsInSimpleState: [
+ [/\{\{\{?/, 'delimiter.handlebars'],
+ [/\}\}\}?/, { token: 'delimiter.handlebars', switchTo: '@$S2.$S3' }],
+ { include: 'handlebarsRoot' },
+ ],
+
+ handlebarsInEmbeddedState: [
+ [/\{\{\{?/, 'delimiter.handlebars'],
+ [/\}\}\}?/, { token: 'delimiter.handlebars', switchTo: '@$S2.$S3', nextEmbedded: '$S3' }],
+ { include: 'handlebarsRoot' },
+ ],
+
+ handlebarsRoot: [
+ [/"[^"]*"/, 'string.handlebars'],
+ [/[#/][^\s}]+/, 'keyword.helper.handlebars'],
+ [/else\b/, 'keyword.helper.handlebars'],
+ [/[\s]+/],
+ [/[^}]/, 'variable.parameter.handlebars'],
+ ],
+ },
+};
+
+export default {
+ id: 'vue',
+ extensions: ['.vue'],
+ aliases: ['Vue', 'vue'],
+ mimetypes: ['text/x-vue-template'],
+ conf,
+ language,
+};
diff --git a/app/assets/javascripts/ide/stores/actions.js b/app/assets/javascripts/ide/stores/actions.js
index 1856a84359f..89422c8a526 100644
--- a/app/assets/javascripts/ide/stores/actions.js
+++ b/app/assets/javascripts/ide/stores/actions.js
@@ -1,4 +1,3 @@
-import $ from 'jquery';
import Vue from 'vue';
import { escape } from 'lodash';
import { __, sprintf } from '~/locale';
@@ -176,13 +175,6 @@ export const setLinks = ({ commit }, links) => commit(types.SET_LINKS, links);
export const setErrorMessage = ({ commit }, errorMessage) =>
commit(types.SET_ERROR_MESSAGE, errorMessage);
-export const openNewEntryModal = ({ commit }, { type, path = '' }) => {
- commit(types.OPEN_NEW_ENTRY_MODAL, { type, path });
-
- // open the modal manually so we don't mess around with dropdown/rows
- $('#ide-new-entry').modal('show');
-};
-
export const deleteEntry = ({ commit, dispatch, state }, path) => {
const entry = state.entries[path];
const { prevPath, prevName, prevParentPath } = entry;
diff --git a/app/assets/javascripts/ide/stores/mutation_types.js b/app/assets/javascripts/ide/stores/mutation_types.js
index 78831bdf022..d088d6d5cba 100644
--- a/app/assets/javascripts/ide/stores/mutation_types.js
+++ b/app/assets/javascripts/ide/stores/mutation_types.js
@@ -73,7 +73,6 @@ export const RESET_OPEN_FILES = 'RESET_OPEN_FILES';
export const SET_ERROR_MESSAGE = 'SET_ERROR_MESSAGE';
-export const OPEN_NEW_ENTRY_MODAL = 'OPEN_NEW_ENTRY_MODAL';
export const DELETE_ENTRY = 'DELETE_ENTRY';
export const RENAME_ENTRY = 'RENAME_ENTRY';
export const REVERT_RENAME_ENTRY = 'REVERT_RENAME_ENTRY';
diff --git a/app/assets/javascripts/ide/stores/mutations.js b/app/assets/javascripts/ide/stores/mutations.js
index 5d567d9b169..8372c4c4de0 100644
--- a/app/assets/javascripts/ide/stores/mutations.js
+++ b/app/assets/javascripts/ide/stores/mutations.js
@@ -192,15 +192,6 @@ export default {
[types.SET_ERROR_MESSAGE](state, errorMessage) {
Object.assign(state, { errorMessage });
},
- [types.OPEN_NEW_ENTRY_MODAL](state, { type, path }) {
- Object.assign(state, {
- entryModal: {
- type,
- path,
- entry: { ...state.entries[path] },
- },
- });
- },
[types.DELETE_ENTRY](state, path) {
const entry = state.entries[path];
const { tempFile = false } = entry;
diff --git a/app/assets/javascripts/ide/stores/mutations/project.js b/app/assets/javascripts/ide/stores/mutations/project.js
index 9230f3839c1..034fdad4305 100644
--- a/app/assets/javascripts/ide/stores/mutations/project.js
+++ b/app/assets/javascripts/ide/stores/mutations/project.js
@@ -16,9 +16,7 @@ export default {
});
Object.assign(state, {
- projects: Object.assign({}, state.projects, {
- [projectPath]: project,
- }),
+ projects: { ...state.projects, [projectPath]: project },
});
},
[types.TOGGLE_EMPTY_STATE](state, { projectPath, value }) {
diff --git a/app/assets/javascripts/ide/stores/mutations/tree.js b/app/assets/javascripts/ide/stores/mutations/tree.js
index 359943b4ab7..c8f14a680c2 100644
--- a/app/assets/javascripts/ide/stores/mutations/tree.js
+++ b/app/assets/javascripts/ide/stores/mutations/tree.js
@@ -14,12 +14,13 @@ export default {
},
[types.CREATE_TREE](state, { treePath }) {
Object.assign(state, {
- trees: Object.assign({}, state.trees, {
+ trees: {
+ ...state.trees,
[treePath]: {
tree: [],
loading: true,
},
- }),
+ },
});
},
[types.SET_DIRECTORY_DATA](state, { data, treePath }) {
diff --git a/app/assets/javascripts/ide/utils.js b/app/assets/javascripts/ide/utils.js
index 64ac539a4ff..e7615be498b 100644
--- a/app/assets/javascripts/ide/utils.js
+++ b/app/assets/javascripts/ide/utils.js
@@ -68,3 +68,13 @@ export const createPathWithExt = p => {
return `${p.substring(1, p.lastIndexOf('.') + 1 || p.length)}${ext || '.js'}`;
};
+
+export function registerLanguages(def, ...defs) {
+ if (defs.length) defs.forEach(lang => registerLanguages(lang));
+
+ const languageId = def.id;
+
+ languages.register(def);
+ languages.setMonarchTokensProvider(languageId, def.language);
+ languages.setLanguageConfiguration(languageId, def.conf);
+}
diff --git a/app/assets/javascripts/image_diff/helpers/comment_indicator_helper.js b/app/assets/javascripts/image_diff/helpers/comment_indicator_helper.js
index df3d90cff68..deaef686f59 100644
--- a/app/assets/javascripts/image_diff/helpers/comment_indicator_helper.js
+++ b/app/assets/javascripts/image_diff/helpers/comment_indicator_helper.js
@@ -32,9 +32,7 @@ export function removeCommentIndicator(imageFrameEl) {
commentIndicatorEl.remove();
}
- return Object.assign({}, meta, {
- removed: willRemove,
- });
+ return { ...meta, removed: willRemove };
}
export function showCommentIndicator(imageFrameEl, coordinate) {
diff --git a/app/assets/javascripts/image_diff/helpers/dom_helper.js b/app/assets/javascripts/image_diff/helpers/dom_helper.js
index a319bcccb8f..74ca907c99f 100644
--- a/app/assets/javascripts/image_diff/helpers/dom_helper.js
+++ b/app/assets/javascripts/image_diff/helpers/dom_helper.js
@@ -4,12 +4,7 @@ export function setPositionDataAttribute(el, options) {
const { x, y, width, height } = options;
const { position } = el.dataset;
- const positionObject = Object.assign({}, JSON.parse(position), {
- x,
- y,
- width,
- height,
- });
+ const positionObject = { ...JSON.parse(position), x, y, width, height };
el.setAttribute('data-position', JSON.stringify(positionObject));
}
diff --git a/app/assets/javascripts/image_diff/image_diff.js b/app/assets/javascripts/image_diff/image_diff.js
index 26c1b0ec7be..89f696dd1d8 100644
--- a/app/assets/javascripts/image_diff/image_diff.js
+++ b/app/assets/javascripts/image_diff/image_diff.js
@@ -75,9 +75,7 @@ export default class ImageDiff {
if (this.renderCommentBadge) {
imageDiffHelper.addImageCommentBadge(this.imageFrameEl, options);
} else {
- const numberBadgeOptions = Object.assign({}, options, {
- badgeText: index + 1,
- });
+ const numberBadgeOptions = { ...options, badgeText: index + 1 };
imageDiffHelper.addImageBadge(this.imageFrameEl, numberBadgeOptions);
}
diff --git a/app/assets/javascripts/integrations/edit/components/integration_form.vue b/app/assets/javascripts/integrations/edit/components/integration_form.vue
new file mode 100644
index 00000000000..ab6a3f97bfd
--- /dev/null
+++ b/app/assets/javascripts/integrations/edit/components/integration_form.vue
@@ -0,0 +1,42 @@
+<script>
+import ActiveToggle from './active_toggle.vue';
+import JiraTriggerFields from './jira_trigger_fields.vue';
+
+export default {
+ name: 'IntegrationForm',
+ components: {
+ ActiveToggle,
+ JiraTriggerFields,
+ },
+ props: {
+ activeToggleProps: {
+ type: Object,
+ required: true,
+ },
+ showActive: {
+ type: Boolean,
+ required: true,
+ },
+ triggerFieldsProps: {
+ type: Object,
+ required: true,
+ },
+ type: {
+ type: String,
+ required: true,
+ },
+ },
+ computed: {
+ isJira() {
+ return this.type === 'jira';
+ },
+ },
+};
+</script>
+
+<template>
+ <div>
+ <active-toggle v-if="showActive" v-bind="activeToggleProps" />
+ <jira-trigger-fields v-if="isJira" v-bind="triggerFieldsProps" />
+ </div>
+</template>
diff --git a/app/assets/javascripts/integrations/edit/components/jira_trigger_fields.vue b/app/assets/javascripts/integrations/edit/components/jira_trigger_fields.vue
new file mode 100644
index 00000000000..70278e401ce
--- /dev/null
+++ b/app/assets/javascripts/integrations/edit/components/jira_trigger_fields.vue
@@ -0,0 +1,99 @@
+<script>
+import { GlFormCheckbox, GlFormRadio } from '@gitlab/ui';
+
+export default {
+ name: 'JiraTriggerFields',
+ components: {
+ GlFormCheckbox,
+ GlFormRadio,
+ },
+ props: {
+ initialTriggerCommit: {
+ type: Boolean,
+ required: true,
+ },
+ initialTriggerMergeRequest: {
+ type: Boolean,
+ required: true,
+ },
+ initialEnableComments: {
+ type: Boolean,
+ required: true,
+ },
+ initialCommentDetail: {
+ type: String,
+ required: false,
+ default: 'standard',
+ },
+ },
+ data() {
+ return {
+ triggerCommit: this.initialTriggerCommit,
+ triggerMergeRequest: this.initialTriggerMergeRequest,
+ enableComments: this.initialEnableComments,
+ commentDetail: this.initialCommentDetail,
+ };
+ },
+};
+</script>
+
+<template>
+ <div class="form-group row pt-2" role="group">
+ <label for="service[trigger]" class="col-form-label col-sm-2 pt-0">{{ __('Trigger') }}</label>
+ <div class="col-sm-10">
+ <label class="weight-normal mb-2">
+ {{
+ s__(
+ 'Integrations|When a Jira issue is mentioned in a commit or merge request a remote link and comment (if enabled) will be created.',
+ )
+ }}
+ </label>
+
+ <input name="service[commit_events]" type="hidden" value="false" />
+ <gl-form-checkbox v-model="triggerCommit" name="service[commit_events]">
+ {{ __('Commit') }}
+ </gl-form-checkbox>
+
+ <input name="service[merge_requests_events]" type="hidden" value="false" />
+ <gl-form-checkbox v-model="triggerMergeRequest" name="service[merge_requests_events]">
+ {{ __('Merge request') }}
+ </gl-form-checkbox>
+
+ <div
+ v-show="triggerCommit || triggerMergeRequest"
+ class="mt-4"
+ data-testid="comment-settings"
+ >
+ <label>
+ {{ s__('Integrations|Comment settings:') }}
+ </label>
+ <input name="service[comment_on_event_enabled]" type="hidden" value="false" />
+ <gl-form-checkbox v-model="enableComments" name="service[comment_on_event_enabled]">
+ {{ s__('Integrations|Enable comments') }}
+ </gl-form-checkbox>
+
+ <div v-show="enableComments" class="mt-4" data-testid="comment-detail">
+ <label>
+ {{ s__('Integrations|Comment detail:') }}
+ </label>
+ <gl-form-radio v-model="commentDetail" value="standard" name="service[comment_detail]">
+ {{ s__('Integrations|Standard') }}
+ <template #help>
+ {{ s__('Integrations|Includes commit title and branch') }}
+ </template>
+ </gl-form-radio>
+ <gl-form-radio v-model="commentDetail" value="all_details" name="service[comment_detail]">
+ {{ s__('Integrations|All details') }}
+ <template #help>
+ {{
+ s__(
+ 'Integrations|Includes Standard plus entire commit message, commit hash, and issue IDs',
+ )
+ }}
+ </template>
+ </gl-form-radio>
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
diff --git a/app/assets/javascripts/integrations/edit/index.js b/app/assets/javascripts/integrations/edit/index.js
index 25ae6015f1d..7b476528a33 100644
--- a/app/assets/javascripts/integrations/edit/index.js
+++ b/app/assets/javascripts/integrations/edit/index.js
@@ -1,26 +1,45 @@
import Vue from 'vue';
import { parseBoolean } from '~/lib/utils/common_utils';
-import ActiveToggle from './components/active_toggle.vue';
+import IntegrationForm from './components/integration_form.vue';
export default el => {
if (!el) {
return null;
}
- const { showActive: showActiveStr, activated: activatedStr } = el.dataset;
- const showActive = parseBoolean(showActiveStr);
- const activated = parseBoolean(activatedStr);
-
- if (!showActive) {
- return null;
+ function parseBooleanInData(data) {
+ const result = {};
+ Object.entries(data).forEach(([key, value]) => {
+ result[key] = parseBoolean(value);
+ });
+ return result;
}
+ const { type, commentDetail, ...booleanAttributes } = el.dataset;
+ const {
+ showActive,
+ activated,
+ commitEvents,
+ mergeRequestEvents,
+ enableComments,
+ } = parseBooleanInData(booleanAttributes);
+
return new Vue({
el,
render(createElement) {
- return createElement(ActiveToggle, {
+ return createElement(IntegrationForm, {
props: {
- initialActivated: activated,
+ activeToggleProps: {
+ initialActivated: activated,
+ },
+ showActive,
+ type,
+ triggerFieldsProps: {
+ initialTriggerCommit: commitEvents,
+ initialTriggerMergeRequest: mergeRequestEvents,
+ initialEnableComments: enableComments,
+ initialCommentDetail: commentDetail,
+ },
},
});
},
diff --git a/app/assets/javascripts/jobs/store/actions.js b/app/assets/javascripts/jobs/store/actions.js
index f4030939f2c..0ce8dfe4442 100644
--- a/app/assets/javascripts/jobs/store/actions.js
+++ b/app/assets/javascripts/jobs/store/actions.js
@@ -220,7 +220,7 @@ export const fetchJobsForStage = ({ dispatch }, stage = {}) => {
},
})
.then(({ data }) => {
- const retriedJobs = data.retried.map(job => Object.assign({}, job, { retried: true }));
+ const retriedJobs = data.retried.map(job => ({ ...job, retried: true }));
const jobs = data.latest_statuses.concat(retriedJobs);
dispatch('receiveJobsForStageSuccess', jobs);
@@ -236,7 +236,7 @@ export const receiveJobsForStageError = ({ commit }) => {
export const triggerManualJob = ({ state }, variables) => {
const parsedVariables = variables.map(variable => {
- const copyVar = Object.assign({}, variable);
+ const copyVar = { ...variable };
delete copyVar.id;
return copyVar;
});
diff --git a/app/assets/javascripts/lib/graphql.js b/app/assets/javascripts/lib/graphql.js
index 8d3b87d5cc0..b6c41ffa7ab 100644
--- a/app/assets/javascripts/lib/graphql.js
+++ b/app/assets/javascripts/lib/graphql.js
@@ -33,6 +33,7 @@ export default (resolvers = {}, config = {}) => {
};
return new ApolloClient({
+ typeDefs: config.typeDefs,
link: ApolloLink.split(
operation => operation.getContext().hasUpload || operation.getContext().isSingleRequest,
createUploadLink(httpOptions),
diff --git a/app/assets/javascripts/lib/utils/url_utility.js b/app/assets/javascripts/lib/utils/url_utility.js
index 0f84e715ff7..d2f2ceac16e 100644
--- a/app/assets/javascripts/lib/utils/url_utility.js
+++ b/app/assets/javascripts/lib/utils/url_utility.js
@@ -270,8 +270,10 @@ export function getWebSocketUrl(path) {
export function queryToObject(query) {
const removeQuestionMarkFromQuery = String(query).startsWith('?') ? query.slice(1) : query;
return removeQuestionMarkFromQuery.split('&').reduce((accumulator, curr) => {
- const p = curr.split('=');
- accumulator[decodeURIComponent(p[0])] = decodeURIComponent(p[1]);
+ const [key, value] = curr.split('=');
+ if (value !== undefined) {
+ accumulator[decodeURIComponent(key)] = decodeURIComponent(value);
+ }
return accumulator;
}, {});
}
diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js
index 6c8f6372795..05869b483c8 100644
--- a/app/assets/javascripts/main.js
+++ b/app/assets/javascripts/main.js
@@ -106,7 +106,6 @@ function deferredInitialisation() {
initLogoAnimation();
initUsagePingConsent();
initUserPopovers();
- initUserTracking();
initBroadcastNotifications();
const recoverySettingsCallout = document.querySelector('.js-recovery-settings-callout');
@@ -187,6 +186,7 @@ document.addEventListener('DOMContentLoaded', () => {
if (document.querySelector('#js-peek')) initPerformanceBar({ container: '#js-peek' });
+ initUserTracking();
initLayoutNav();
// Set the default path for all cookies to GitLab's root directory
diff --git a/app/assets/javascripts/member_expiration_date.js b/app/assets/javascripts/member_expiration_date.js
index 0dabb28ea66..ef7d8cc9efe 100644
--- a/app/assets/javascripts/member_expiration_date.js
+++ b/app/assets/javascripts/member_expiration_date.js
@@ -29,8 +29,6 @@ export default function memberExpirationDate(selector = '.js-access-expiration-d
onSelect(dateText) {
$input.val(calendar.toString(dateText));
- $input.trigger('change');
-
toggleClearInput.call($input);
},
firstDay: gon.first_day_of_week,
@@ -49,7 +47,6 @@ export default function memberExpirationDate(selector = '.js-access-expiration-d
const calendar = input.data('pikaday');
calendar.setDate(null);
- input.trigger('change');
toggleClearInput.call(input);
});
diff --git a/app/assets/javascripts/milestones/project_milestone_combobox.vue b/app/assets/javascripts/milestones/project_milestone_combobox.vue
new file mode 100644
index 00000000000..19148d6184f
--- /dev/null
+++ b/app/assets/javascripts/milestones/project_milestone_combobox.vue
@@ -0,0 +1,228 @@
+<script>
+import {
+ GlNewDropdown,
+ GlNewDropdownDivider,
+ GlNewDropdownHeader,
+ GlNewDropdownItem,
+ GlLoadingIcon,
+ GlSearchBoxByType,
+ GlIcon,
+} from '@gitlab/ui';
+import { __, sprintf } from '~/locale';
+import Api from '~/api';
+import createFlash from '~/flash';
+import { intersection, debounce } from 'lodash';
+
+export default {
+ components: {
+ GlNewDropdown,
+ GlNewDropdownDivider,
+ GlNewDropdownHeader,
+ GlNewDropdownItem,
+ GlLoadingIcon,
+ GlSearchBoxByType,
+ GlIcon,
+ },
+ model: {
+ prop: 'preselectedMilestones',
+ event: 'change',
+ },
+ props: {
+ projectId: {
+ type: String,
+ required: true,
+ },
+ preselectedMilestones: {
+ type: Array,
+ default: () => [],
+ required: false,
+ },
+ extraLinks: {
+ type: Array,
+ default: () => [],
+ required: false,
+ },
+ },
+ data() {
+ return {
+ searchQuery: '',
+ projectMilestones: [],
+ searchResults: [],
+ selectedMilestones: [],
+ requestCount: 0,
+ };
+ },
+ translations: {
+ milestone: __('Milestone'),
+ selectMilestone: __('Select milestone'),
+ noMilestone: __('No milestone'),
+ noResultsLabel: __('No matching results'),
+ searchMilestones: __('Search Milestones'),
+ },
+ computed: {
+ selectedMilestonesLabel() {
+ if (this.milestoneTitles.length === 1) {
+ return this.milestoneTitles[0];
+ }
+
+ if (this.milestoneTitles.length > 1) {
+ const firstMilestoneName = this.milestoneTitles[0];
+ const numberOfOtherMilestones = this.milestoneTitles.length - 1;
+ return sprintf(__('%{firstMilestoneName} + %{numberOfOtherMilestones} more'), {
+ firstMilestoneName,
+ numberOfOtherMilestones,
+ });
+ }
+
+ return this.$options.translations.noMilestone;
+ },
+ milestoneTitles() {
+ return this.preselectedMilestones.map(milestone => milestone.title);
+ },
+ dropdownItems() {
+ return this.searchResults.length ? this.searchResults : this.projectMilestones;
+ },
+ noResults() {
+ return this.searchQuery.length > 2 && this.searchResults.length === 0;
+ },
+ isLoading() {
+ return this.requestCount !== 0;
+ },
+ },
+ mounted() {
+ this.fetchMilestones();
+ },
+ methods: {
+ fetchMilestones() {
+ this.requestCount += 1;
+
+ Api.projectMilestones(this.projectId)
+ .then(({ data }) => {
+ this.projectMilestones = this.getTitles(data);
+ this.selectedMilestones = intersection(this.projectMilestones, this.milestoneTitles);
+ })
+ .catch(() => {
+ createFlash(__('An error occurred while loading milestones'));
+ })
+ .finally(() => {
+ this.requestCount -= 1;
+ });
+ },
+ searchMilestones: debounce(function searchMilestones() {
+ this.requestCount += 1;
+ const options = {
+ search: this.searchQuery,
+ scope: 'milestones',
+ };
+
+ if (this.searchQuery.length < 3) {
+ this.requestCount -= 1;
+ this.searchResults = [];
+ return;
+ }
+
+ Api.projectSearch(this.projectId, options)
+ .then(({ data }) => {
+ const searchResults = this.getTitles(data);
+
+ this.searchResults = searchResults.length ? searchResults : [];
+ })
+ .catch(() => {
+ createFlash(__('An error occurred while searching for milestones'));
+ })
+ .finally(() => {
+ this.requestCount -= 1;
+ });
+ }, 100),
+ toggleMilestoneSelection(clickedMilestone) {
+ if (!clickedMilestone) return [];
+
+ let milestones = [...this.preselectedMilestones];
+ const hasMilestone = this.milestoneTitles.includes(clickedMilestone);
+
+ if (hasMilestone) {
+ milestones = milestones.filter(({ title }) => title !== clickedMilestone);
+ } else {
+ milestones.push({ title: clickedMilestone });
+ }
+
+ return milestones;
+ },
+ onMilestoneClicked(clickedMilestone) {
+ const milestones = this.toggleMilestoneSelection(clickedMilestone);
+ this.$emit('change', milestones);
+
+ this.selectedMilestones = intersection(
+ this.projectMilestones,
+ milestones.map(milestone => milestone.title),
+ );
+ },
+ isSelectedMilestone(milestoneTitle) {
+ return this.selectedMilestones.includes(milestoneTitle);
+ },
+ getTitles(milestones) {
+ return milestones.filter(({ state }) => state === 'active').map(({ title }) => title);
+ },
+ },
+};
+</script>
+
+<template>
+ <gl-new-dropdown>
+ <template slot="button-content">
+ <span ref="buttonText" class="flex-grow-1 ml-1 text-muted">{{
+ selectedMilestonesLabel
+ }}</span>
+ <gl-icon name="chevron-down" />
+ </template>
+
+ <gl-new-dropdown-header>
+ <span class="text-center d-block">{{ $options.translations.selectMilestone }}</span>
+ </gl-new-dropdown-header>
+
+ <gl-new-dropdown-divider />
+
+ <gl-search-box-by-type
+ v-model.trim="searchQuery"
+ class="m-2"
+ :placeholder="this.$options.translations.searchMilestones"
+ @input="searchMilestones"
+ />
+
+ <gl-new-dropdown-item @click="onMilestoneClicked(null)">
+ <span :class="{ 'pl-4': true, 'selected-item': selectedMilestones.length === 0 }">
+ {{ $options.translations.noMilestone }}
+ </span>
+ </gl-new-dropdown-item>
+
+ <gl-new-dropdown-divider />
+
+ <template v-if="isLoading">
+ <gl-loading-icon />
+ <gl-new-dropdown-divider />
+ </template>
+ <template v-else-if="noResults">
+ <div class="dropdown-item-space">
+ <span ref="noResults" class="pl-4">{{ $options.translations.noResultsLabel }}</span>
+ </div>
+ <gl-new-dropdown-divider />
+ </template>
+ <template v-else-if="dropdownItems.length">
+ <gl-new-dropdown-item
+ v-for="item in dropdownItems"
+ :key="item"
+ role="milestone option"
+ @click="onMilestoneClicked(item)"
+ >
+ <span :class="{ 'pl-4': true, 'selected-item': isSelectedMilestone(item) }">
+ {{ item }}
+ </span>
+ </gl-new-dropdown-item>
+ <gl-new-dropdown-divider />
+ </template>
+
+ <gl-new-dropdown-item v-for="(item, idx) in extraLinks" :key="idx" :href="item.url">
+ <span class="pl-4">{{ item.text }}</span>
+ </gl-new-dropdown-item>
+ </gl-new-dropdown>
+</template>
diff --git a/app/assets/javascripts/monitoring/components/dashboard.vue b/app/assets/javascripts/monitoring/components/dashboard.vue
index 67835a5e356..e2e950f7790 100644
--- a/app/assets/javascripts/monitoring/components/dashboard.vue
+++ b/app/assets/javascripts/monitoring/components/dashboard.vue
@@ -1,5 +1,5 @@
<script>
-import { debounce, pickBy } from 'lodash';
+import { debounce } from 'lodash';
import { mapActions, mapState, mapGetters } from 'vuex';
import VueDraggable from 'vuedraggable';
import {
@@ -32,7 +32,13 @@ import GroupEmptyState from './group_empty_state.vue';
import DashboardsDropdown from './dashboards_dropdown.vue';
import TrackEventDirective from '~/vue_shared/directives/track_event';
-import { getAddMetricTrackingOptions, timeRangeToUrl, timeRangeFromUrl } from '../utils';
+import {
+ getAddMetricTrackingOptions,
+ timeRangeToUrl,
+ timeRangeFromUrl,
+ panelToUrl,
+ expandedPanelPayloadFromUrl,
+} from '../utils';
import { metricStates } from '../constants';
import { defaultTimeRange, timeRanges } from '~/vue_shared/constants';
@@ -238,6 +244,32 @@ export default {
return !this.environmentsLoading && this.filteredEnvironments.length === 0;
},
},
+ watch: {
+ dashboard(newDashboard) {
+ try {
+ const expandedPanel = expandedPanelPayloadFromUrl(newDashboard);
+ if (expandedPanel) {
+ this.setExpandedPanel(expandedPanel);
+ }
+ } catch {
+ createFlash(
+ s__(
+ 'Metrics|Link contains invalid chart information, please verify the link to see the expanded panel.',
+ ),
+ );
+ }
+ },
+ expandedPanel: {
+ handler({ group, panel }) {
+ const dashboardPath = this.currentDashboard || this.firstDashboard.path;
+ updateHistory({
+ url: panelToUrl(dashboardPath, group, panel),
+ title: document.title,
+ });
+ },
+ deep: true,
+ },
+ },
created() {
this.setInitialState({
metricsEndpoint: this.metricsEndpoint,
@@ -299,15 +331,9 @@ export default {
// As a fallback, switch to default time range instead
this.selectedTimeRange = defaultTimeRange;
},
-
- generatePanelLink(group, graphData) {
- if (!group || !graphData) {
- return null;
- }
- const dashboard = this.currentDashboard || this.firstDashboard.path;
- const { y_label, title } = graphData;
- const params = pickBy({ dashboard, group, title, y_label }, value => value != null);
- return mergeUrlParams(params, window.location.href);
+ generatePanelUrl(groupKey, panel) {
+ const dashboardPath = this.currentDashboard || this.firstDashboard.path;
+ return panelToUrl(dashboardPath, groupKey, panel);
},
hideAddMetricModal() {
this.$refs.addMetricModal.hide();
@@ -564,7 +590,7 @@ export default {
v-show="expandedPanel.panel"
ref="expandedPanel"
:settings-path="settingsPath"
- :clipboard-text="generatePanelLink(expandedPanel.group, expandedPanel.panel)"
+ :clipboard-text="generatePanelUrl(expandedPanel.group, expandedPanel.panel)"
:graph-data="expandedPanel.panel"
:alerts-endpoint="alertsEndpoint"
:height="600"
@@ -623,7 +649,7 @@ export default {
<dashboard-panel
:settings-path="settingsPath"
- :clipboard-text="generatePanelLink(groupData.group, graphData)"
+ :clipboard-text="generatePanelUrl(groupData.group, graphData)"
:graph-data="graphData"
:alerts-endpoint="alertsEndpoint"
:prometheus-alerts-available="prometheusAlertsAvailable"
diff --git a/app/assets/javascripts/monitoring/components/dashboard_panel.vue b/app/assets/javascripts/monitoring/components/dashboard_panel.vue
index 24e95c52820..64e79f86dce 100644
--- a/app/assets/javascripts/monitoring/components/dashboard_panel.vue
+++ b/app/assets/javascripts/monitoring/components/dashboard_panel.vue
@@ -345,6 +345,7 @@ export default {
ref="copyChartLink"
v-track-event="generateLinkToChartOptions(clipboardText)"
:data-clipboard-text="clipboardText"
+ data-qa-selector="generate_chart_link_menu_item"
@click="showToast(clipboardText)"
>
{{ __('Copy link to chart') }}
diff --git a/app/assets/javascripts/monitoring/constants.js b/app/assets/javascripts/monitoring/constants.js
index f2f0a0eac7b..dbd374f1e1c 100644
--- a/app/assets/javascripts/monitoring/constants.js
+++ b/app/assets/javascripts/monitoring/constants.js
@@ -198,3 +198,21 @@ export const OPERATORS = {
equalTo: '==',
lessThan: '<',
};
+
+/**
+ * Dashboard yml files support custom user-defined variables that
+ * are rendered as input elements in the monitoring dashboard.
+ * These values can be edited by the user and are passed on to the
+ * the backend and eventually to Prometheus API proxy.
+ *
+ * As of 13.0, the supported types are:
+ * simple custom -> dropdown elements
+ * advanced custom -> dropdown elements
+ * text -> text input elements
+ *
+ * Custom variables have a simple and a advanced variant.
+ */
+export const VARIABLE_TYPES = {
+ custom: 'custom',
+ text: 'text',
+};
diff --git a/app/assets/javascripts/monitoring/monitoring_bundle.js b/app/assets/javascripts/monitoring/monitoring_bundle.js
index 2bbf9ef9d78..c2c1ceab312 100644
--- a/app/assets/javascripts/monitoring/monitoring_bundle.js
+++ b/app/assets/javascripts/monitoring/monitoring_bundle.js
@@ -4,6 +4,7 @@ import Dashboard from '~/monitoring/components/dashboard.vue';
import { parseBoolean } from '~/lib/utils/common_utils';
import { getParameterValues } from '~/lib/utils/url_utility';
import store from './stores';
+import { promCustomVariablesFromUrl } from './utils';
Vue.use(GlToast);
@@ -13,6 +14,8 @@ export default (props = {}) => {
if (el && el.dataset) {
const [currentDashboard] = getParameterValues('dashboard');
+ store.dispatch('monitoringDashboard/setVariables', promCustomVariablesFromUrl());
+
// eslint-disable-next-line no-new
new Vue({
el,
diff --git a/app/assets/javascripts/monitoring/stores/actions.js b/app/assets/javascripts/monitoring/stores/actions.js
index 717f4cd9d66..9d18629bf34 100644
--- a/app/assets/javascripts/monitoring/stores/actions.js
+++ b/app/assets/javascripts/monitoring/stores/actions.js
@@ -80,6 +80,10 @@ export const setTimeRange = ({ commit }, timeRange) => {
commit(types.SET_TIME_RANGE, timeRange);
};
+export const setVariables = ({ commit }, variables) => {
+ commit(types.SET_PROM_QUERY_VARIABLES, variables);
+};
+
export const filterEnvironments = ({ commit, dispatch }, searchTerm) => {
commit(types.SET_ENVIRONMENTS_FILTER, searchTerm);
dispatch('fetchEnvironmentsData');
@@ -102,6 +106,13 @@ export const clearExpandedPanel = ({ commit }) => {
// All Data
+/**
+ * Fetch all dashboard data.
+ *
+ * @param {Object} store
+ * @returns A promise that resolves when the dashboard
+ * skeleton has been loaded.
+ */
export const fetchData = ({ dispatch }) => {
dispatch('fetchEnvironmentsData');
dispatch('fetchDashboard');
@@ -211,12 +222,16 @@ export const fetchDashboardData = ({ state, dispatch, getters }) => {
*
* @param {metric} metric
*/
-export const fetchPrometheusMetric = ({ commit }, { metric, defaultQueryParams }) => {
+export const fetchPrometheusMetric = ({ commit, state }, { metric, defaultQueryParams }) => {
const queryParams = { ...defaultQueryParams };
if (metric.step) {
queryParams.step = metric.step;
}
+ if (state.promVariables.length > 0) {
+ queryParams.variables = state.promVariables;
+ }
+
commit(types.REQUEST_METRIC_RESULT, { metricId: metric.metricId });
return getPrometheusMetricResult(metric.prometheusEndpointPath, queryParams)
diff --git a/app/assets/javascripts/monitoring/stores/mutation_types.js b/app/assets/javascripts/monitoring/stores/mutation_types.js
index f868fc4d40b..ebe89e93ede 100644
--- a/app/assets/javascripts/monitoring/stores/mutation_types.js
+++ b/app/assets/javascripts/monitoring/stores/mutation_types.js
@@ -1,7 +1,8 @@
-// Dashboard "skeleton", groups, panels and metrics
+// Dashboard "skeleton", groups, panels, metrics, query variables
export const REQUEST_METRICS_DASHBOARD = 'REQUEST_METRICS_DASHBOARD';
export const RECEIVE_METRICS_DASHBOARD_SUCCESS = 'RECEIVE_METRICS_DASHBOARD_SUCCESS';
export const RECEIVE_METRICS_DASHBOARD_FAILURE = 'RECEIVE_METRICS_DASHBOARD_FAILURE';
+export const SET_PROM_QUERY_VARIABLES = 'SET_PROM_QUERY_VARIABLES';
// Annotations
export const RECEIVE_ANNOTATIONS_SUCCESS = 'RECEIVE_ANNOTATIONS_SUCCESS';
diff --git a/app/assets/javascripts/monitoring/stores/mutations.js b/app/assets/javascripts/monitoring/stores/mutations.js
index 5efca8215e4..c4c15993aa0 100644
--- a/app/assets/javascripts/monitoring/stores/mutations.js
+++ b/app/assets/javascripts/monitoring/stores/mutations.js
@@ -51,6 +51,18 @@ const emptyStateFromError = error => {
return metricStates.UNKNOWN_ERROR;
};
+/**
+ * Maps an variables object to an array
+ * @returns {Array} The custom variables array to be send to the API
+ * in the format of [variable1, variable1_value]
+ * @param {Object} variables - Custom variables provided by the user
+ */
+
+const transformVariablesObjectArray = variables =>
+ Object.entries(variables)
+ .flat()
+ .map(encodeURIComponent);
+
export default {
/**
* Dashboard panels structure and global state
@@ -169,4 +181,7 @@ export default {
state.expandedPanel.group = group;
state.expandedPanel.panel = panel;
},
+ [types.SET_PROM_QUERY_VARIABLES](state, variables) {
+ state.promVariables = transformVariablesObjectArray(variables);
+ },
};
diff --git a/app/assets/javascripts/monitoring/stores/state.js b/app/assets/javascripts/monitoring/stores/state.js
index af116f6b98f..3a63d6279f4 100644
--- a/app/assets/javascripts/monitoring/stores/state.js
+++ b/app/assets/javascripts/monitoring/stores/state.js
@@ -33,6 +33,7 @@ export default () => ({
panel: null,
},
allDashboards: [],
+ promVariables: [],
// Other project data
annotations: [],
diff --git a/app/assets/javascripts/monitoring/stores/variable_mapping.js b/app/assets/javascripts/monitoring/stores/variable_mapping.js
new file mode 100644
index 00000000000..b8abcac5e09
--- /dev/null
+++ b/app/assets/javascripts/monitoring/stores/variable_mapping.js
@@ -0,0 +1,125 @@
+import { VARIABLE_TYPES } from '../constants';
+
+/**
+ * This file exclusively deals with parsing user-defined variables
+ * in dashboard yml file.
+ *
+ * As of 13.0, simple custom and advanced custom variables are supported.
+ *
+ * In the future iterations, text and query variables will be
+ * supported
+ *
+ */
+
+/**
+ * Utility method to determine if a custom variable is
+ * simple or not. If its not simple, it is advanced.
+ *
+ * @param {Array|Object} customVar Array if simple, object if advanced
+ * @returns {Boolean} true if simple, false if advanced
+ */
+const isSimpleCustomVariable = customVar => Array.isArray(customVar);
+
+/**
+ * Normalize simple and advanced custom variable options to a standard
+ * format
+ * @param {Object} custom variable option
+ * @returns {Object} normalized custom variable options
+ */
+const normalizeDropdownOptions = ({ default: defaultOpt = false, text, value }) => ({
+ default: defaultOpt,
+ text,
+ value,
+});
+
+/**
+ * Simple custom variables have an array of values.
+ * This method parses such variables options to a standard format.
+ *
+ * @param {String} opt option from simple custom variable
+ */
+const parseSimpleDropdownOptions = opt => ({ text: opt, value: opt });
+
+/**
+ * Custom advanced variables are rendered as dropdown elements in the dashboard
+ * header. This method parses advanced custom variables.
+ *
+ * @param {Object} advVariable advance custom variable
+ * @returns {Object}
+ */
+const customAdvancedVariableParser = advVariable => {
+ const options = advVariable?.options?.values ?? [];
+ return {
+ type: VARIABLE_TYPES.custom,
+ label: advVariable.label,
+ options: options.map(normalizeDropdownOptions),
+ };
+};
+
+/**
+ * Custom simple variables are rendered as dropdown elements in the dashboard
+ * header. This method parses simple custom variables.
+ *
+ * Simple custom variables do not have labels so its set to null here.
+ *
+ * @param {Array} customVariable array of options
+ * @returns {Object}
+ */
+const customSimpleVariableParser = simpleVar => {
+ const options = (simpleVar || []).map(parseSimpleDropdownOptions);
+ return {
+ type: VARIABLE_TYPES.custom,
+ label: null,
+ options: options.map(normalizeDropdownOptions),
+ };
+};
+
+/**
+ * This method returns a parser based on the type of the variable.
+ * Currently, the supported variables are simple custom and
+ * advanced custom only. In the future, this method will support
+ * text and query variables.
+ *
+ * @param {Array|Object} variable
+ * @return {Function} parser method
+ */
+const getVariableParser = variable => {
+ if (isSimpleCustomVariable(variable)) {
+ return customSimpleVariableParser;
+ } else if (variable.type === VARIABLE_TYPES.custom) {
+ return customAdvancedVariableParser;
+ }
+ return () => null;
+};
+
+/**
+ * This method parses the templating property in the dashboard yml file.
+ * The templating property has variables that are rendered as input elements
+ * for the user to edit. The values from input elements are relayed to
+ * backend and eventually Prometheus API.
+ *
+ * This method currently is not used anywhere. Once the issue
+ * https://gitlab.com/gitlab-org/gitlab/-/issues/214536 is completed,
+ * this method will have been used by the monitoring dashboard.
+ *
+ * @param {Object} templating templating variables from the dashboard yml file
+ * @returns {Object} a map of processed templating variables
+ */
+export const parseTemplatingVariables = ({ variables = {} } = {}) =>
+ Object.entries(variables).reduce((acc, [key, variable]) => {
+ // get the parser
+ const parser = getVariableParser(variable);
+ // parse the variable
+ const parsedVar = parser(variable);
+ // for simple custom variable label is null and it should be
+ // replace with key instead
+ if (parsedVar) {
+ acc[key] = {
+ ...parsedVar,
+ label: parsedVar.label || key,
+ };
+ }
+ return acc;
+ }, {});
+
+export default {};
diff --git a/app/assets/javascripts/monitoring/utils.js b/app/assets/javascripts/monitoring/utils.js
index 7c6cd19eb7b..9e7f4b05420 100644
--- a/app/assets/javascripts/monitoring/utils.js
+++ b/app/assets/javascripts/monitoring/utils.js
@@ -1,3 +1,4 @@
+import { omit } from 'lodash';
import { queryToObject, mergeUrlParams, removeParams } from '~/lib/utils/url_utility';
import {
timeRangeParamNames,
@@ -6,6 +7,13 @@ import {
} from '~/lib/utils/datetime_range';
/**
+ * List of non time range url parameters
+ * This will be removed once we add support for free text variables
+ * via the dashboard yaml files in https://gitlab.com/gitlab-org/gitlab/-/issues/215689
+ */
+export const dashboardParams = ['dashboard', 'group', 'title', 'y_label'];
+
+/**
* This method is used to validate if the graph data format for a chart component
* that needs a time series as a response from a prometheus query (queryRange) is
* of a valid format or not.
@@ -28,7 +36,6 @@ export const graphDataValidatorForValues = (isValues, graphData) => {
);
};
-/* eslint-disable @gitlab/require-i18n-strings */
/**
* Checks that element that triggered event is located on cluster health check dashboard
* @param {HTMLElement} element to check against
@@ -36,6 +43,7 @@ export const graphDataValidatorForValues = (isValues, graphData) => {
*/
const isClusterHealthBoard = () => (document.body.dataset.page || '').includes(':clusters:show');
+/* eslint-disable @gitlab/require-i18n-strings */
/**
* Tracks snowplow event when user generates link to metric chart
* @param {String} chart link that will be sent as a property for the event
@@ -71,6 +79,7 @@ export const downloadCSVOptions = title => {
return { category, action, label: 'Chart title', property: title };
};
+/* eslint-enable @gitlab/require-i18n-strings */
/**
* Generate options for snowplow to track adding a new metric via the dashboard
@@ -113,6 +122,21 @@ export const timeRangeFromUrl = (search = window.location.search) => {
};
/**
+ * Returns an array with user defined variables from the URL
+ *
+ * @returns {Array} The custom variables defined by the
+ * user in the URL
+ * @param {String} New URL
+ */
+
+export const promCustomVariablesFromUrl = (search = window.location.search) => {
+ const params = queryToObject(search);
+ const paramsToRemove = timeRangeParamNames.concat(dashboardParams);
+
+ return omit(params, paramsToRemove);
+};
+
+/**
* Returns a URL with no time range based on the current URL.
*
* @param {String} New URL
@@ -133,6 +157,73 @@ export const timeRangeToUrl = (timeRange, url = window.location.href) => {
};
/**
+ * Locates a panel (and its corresponding group) given a (URL) search query. Returns
+ * it as payload for the store to set the right expandaded panel.
+ *
+ * Params used to locate a panel are:
+ * - group: Group identifier
+ * - title: Panel title
+ * - y_label: Panel y_label
+ *
+ * @param {Object} dashboard - Dashboard reference from the Vuex store
+ * @param {String} search - URL location search query
+ * @returns {Object} payload - Payload for expanded panel to be displayed
+ * @returns {String} payload.group - Group where panel is located
+ * @returns {Object} payload.panel - Dashboard panel (graphData) reference
+ * @throws Will throw an error if Panel cannot be located.
+ */
+export const expandedPanelPayloadFromUrl = (dashboard, search = window.location.search) => {
+ const params = queryToObject(search);
+
+ // Search for the panel if any of the search params is identified
+ if (params.group || params.title || params.y_label) {
+ const panelGroup = dashboard.panelGroups.find(({ group }) => params.group === group);
+ const panel = panelGroup.panels.find(
+ // eslint-disable-next-line babel/camelcase
+ ({ y_label, title }) => y_label === params.y_label && title === params.title,
+ );
+
+ if (!panel) {
+ // eslint-disable-next-line @gitlab/require-i18n-strings
+ throw new Error('Panel could no found by URL parameters.');
+ }
+ return { group: panelGroup.group, panel };
+ }
+ return null;
+};
+
+/**
+ * Convert panel information to a URL for the user to
+ * bookmark or share highlighting a specific panel.
+ *
+ * If no group/panel is set, the dashboard URL is returned.
+ *
+ * @param {?String} dashboard - Dashboard path, used as identifier for a dashboard
+ * @param {?String} group - Group Identifier
+ * @param {?Object} panel - Panel object from the dashboard
+ * @param {?String} url - Base URL including current search params
+ * @returns Dashboard URL which expands a panel (chart)
+ */
+export const panelToUrl = (dashboard = null, group, panel, url = window.location.href) => {
+ const params = {
+ dashboard,
+ };
+
+ if (group && panel) {
+ params.group = group;
+ params.title = panel.title;
+ params.y_label = panel.y_label;
+ } else {
+ // Remove existing parameters if any
+ params.group = null;
+ params.title = null;
+ params.y_label = null;
+ }
+
+ return mergeUrlParams(params, url);
+};
+
+/**
* Get the metric value from first data point.
* Currently only used for bar charts
*
diff --git a/app/assets/javascripts/mr_notes/init_notes.js b/app/assets/javascripts/mr_notes/init_notes.js
index ec9c800b7a2..2580f8e86b1 100644
--- a/app/assets/javascripts/mr_notes/init_notes.js
+++ b/app/assets/javascripts/mr_notes/init_notes.js
@@ -15,6 +15,19 @@ export default () => {
notesApp,
},
store,
+ data() {
+ const notesDataset = document.getElementById('js-vue-mr-discussions').dataset;
+ const noteableData = JSON.parse(notesDataset.noteableData);
+ noteableData.noteableType = notesDataset.noteableType;
+ noteableData.targetType = notesDataset.targetType;
+
+ return {
+ noteableData,
+ currentUserData: JSON.parse(notesDataset.currentUserData),
+ notesData: JSON.parse(notesDataset.notesData),
+ helpPagePath: notesDataset.helpPagePath,
+ };
+ },
computed: {
...mapGetters(['discussionTabCounter']),
...mapState({
@@ -54,19 +67,6 @@ export default () => {
updateDiscussionTabCounter() {
this.notesCountBadge.text(this.discussionTabCounter);
},
- dataset() {
- const data = this.$el.dataset;
- const noteableData = JSON.parse(data.noteableData);
- noteableData.noteableType = data.noteableType;
- noteableData.targetType = data.targetType;
-
- return {
- noteableData,
- notesData: JSON.parse(data.notesData),
- userData: JSON.parse(data.currentUserData),
- helpPagePath: data.helpPagePath,
- };
- },
},
render(createElement) {
// NOTE: Even though `discussionKeyboardNavigator` is added to the `notes-app`,
@@ -76,8 +76,11 @@ export default () => {
return createElement(discussionKeyboardNavigator, [
createElement('notes-app', {
props: {
- ...this.dataset(),
+ noteableData: this.noteableData,
+ notesData: this.notesData,
+ userData: this.currentUserData,
shouldShow: this.isShowTabActive,
+ helpPagePath: this.helpPagePath,
},
}),
]);
diff --git a/app/assets/javascripts/notes/components/comment_form.vue b/app/assets/javascripts/notes/components/comment_form.vue
index a070cf8866a..2d7692fff7a 100644
--- a/app/assets/javascripts/notes/components/comment_form.vue
+++ b/app/assets/javascripts/notes/components/comment_form.vue
@@ -3,7 +3,15 @@ import $ from 'jquery';
import { mapActions, mapGetters, mapState } from 'vuex';
import { isEmpty } from 'lodash';
import Autosize from 'autosize';
-import { GlAlert, GlIntersperse, GlLink, GlSprintf } from '@gitlab/ui';
+import {
+ GlAlert,
+ GlFormCheckbox,
+ GlIcon,
+ GlIntersperse,
+ GlLink,
+ GlSprintf,
+ GlTooltipDirective,
+} from '@gitlab/ui';
import { __, sprintf } from '~/locale';
import TimelineEntryItem from '~/vue_shared/components/notes/timeline_entry_item.vue';
import Flash from '../../flash';
@@ -24,6 +32,7 @@ import loadingButton from '../../vue_shared/components/loading_button.vue';
import noteSignedOutWidget from './note_signed_out_widget.vue';
import discussionLockedWidget from './discussion_locked_widget.vue';
import issuableStateMixin from '../mixins/issuable_state';
+import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
export default {
name: 'CommentForm',
@@ -36,11 +45,16 @@ export default {
loadingButton,
TimelineEntryItem,
GlAlert,
+ GlFormCheckbox,
+ GlIcon,
GlIntersperse,
GlLink,
GlSprintf,
},
- mixins: [issuableStateMixin],
+ directives: {
+ GlTooltip: GlTooltipDirective,
+ },
+ mixins: [issuableStateMixin, glFeatureFlagsMixin()],
props: {
noteableType: {
type: String,
@@ -51,6 +65,7 @@ export default {
return {
note: '',
noteType: constants.COMMENT,
+ noteIsConfidential: false,
isSubmitting: false,
isSubmitButtonDisabled: true,
};
@@ -138,6 +153,9 @@ export default {
trackingLabel() {
return slugifyWithUnderscore(`${this.commentButtonTitle} button`);
},
+ confidentialNotesEnabled() {
+ return Boolean(this.glFeatures.confidentialNotes);
+ },
},
watch: {
note(newNote) {
@@ -185,6 +203,7 @@ export default {
note: {
noteable_type: this.noteableType,
noteable_id: this.getNoteableData.id,
+ confidential: this.noteIsConfidential,
note: this.note,
},
merge_request_diff_head_sha: this.getNoteableData.diff_head_sha,
@@ -285,6 +304,7 @@ export default {
if (shouldClear) {
this.note = '';
+ this.noteIsConfidential = false;
this.resizeTextarea();
this.$refs.markdownField.previewMarkdown = false;
}
@@ -411,6 +431,19 @@ js-gfm-input js-autosize markdown-area js-vue-textarea qa-comment-input"
</p>
</gl-alert>
<div class="note-form-actions">
+ <div v-if="confidentialNotesEnabled" class="js-confidential-note-toggle mb-4">
+ <gl-form-checkbox v-model="noteIsConfidential">
+ <gl-icon name="eye-slash" :size="12" />
+ {{ __('Mark this comment as private') }}
+ <gl-icon
+ v-gl-tooltip:tooltipcontainer.bottom
+ name="question"
+ :size="12"
+ :title="__('Private comments are accessible by internal staff only')"
+ class="gl-text-gray-800"
+ />
+ </gl-form-checkbox>
+ </div>
<div
class="float-left btn-group
append-right-10 comment-type-dropdown js-comment-type-dropdown droplab-dropdown"
diff --git a/app/assets/javascripts/notes/components/note_header.vue b/app/assets/javascripts/notes/components/note_header.vue
index 74a0b69bc54..c6675bc0aef 100644
--- a/app/assets/javascripts/notes/components/note_header.vue
+++ b/app/assets/javascripts/notes/components/note_header.vue
@@ -1,5 +1,6 @@
<script>
import { mapActions } from 'vuex';
+import { GlIcon, GlTooltipDirective } from '@gitlab/ui';
import timeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
import GitlabTeamMemberBadge from '~/vue_shared/components/user_avatar/badges/gitlab_team_member_badge.vue';
@@ -7,6 +8,10 @@ export default {
components: {
timeAgoTooltip,
GitlabTeamMemberBadge,
+ GlIcon,
+ },
+ directives: {
+ GlTooltip: GlTooltipDirective,
},
props: {
author: {
@@ -44,6 +49,11 @@ export default {
required: false,
default: true,
},
+ isConfidential: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
},
data() {
return {
@@ -160,23 +170,32 @@ export default {
</span>
</template>
<span v-else>{{ __('A deleted user') }}</span>
- <span class="note-headline-light note-headline-meta">
+ <span class="note-headline-light note-headline-meta d-sm-inline-flex align-items-center">
<span class="system-note-message"> <slot></slot> </span>
<template v-if="createdAt">
- <span ref="actionText" class="system-note-separator">
+ <span ref="actionText" class="system-note-separator ml-1">
<template v-if="actionText">{{ actionText }}</template>
</span>
<a
v-if="noteTimestampLink"
ref="noteTimestampLink"
:href="noteTimestampLink"
- class="note-timestamp system-note-separator"
+ class="note-timestamp system-note-separator mr-1"
@click="updateTargetNoteHash"
>
<time-ago-tooltip :time="createdAt" tooltip-placement="bottom" />
</a>
<time-ago-tooltip v-else ref="noteTimestamp" :time="createdAt" tooltip-placement="bottom" />
</template>
+ <gl-icon
+ v-if="isConfidential"
+ ref="confidentialIndicator"
+ v-gl-tooltip:tooltipcontainer.bottom
+ name="eye-slash"
+ :size="14"
+ :title="__('Private comments are accessible by internal staff only')"
+ class="mx-1 gl-text-gray-800"
+ />
<slot name="extra-controls"></slot>
<i
v-if="showSpinner"
diff --git a/app/assets/javascripts/notes/components/noteable_note.vue b/app/assets/javascripts/notes/components/noteable_note.vue
index dea782683f2..3b17ad2ada7 100644
--- a/app/assets/javascripts/notes/components/noteable_note.vue
+++ b/app/assets/javascripts/notes/components/noteable_note.vue
@@ -255,7 +255,13 @@ export default {
</div>
<div class="timeline-content">
<div class="note-header">
- <note-header v-once :author="author" :created-at="note.created_at" :note-id="note.id">
+ <note-header
+ v-once
+ :author="author"
+ :created-at="note.created_at"
+ :note-id="note.id"
+ :is-confidential="note.confidential"
+ >
<slot slot="note-header-info" name="note-header-info"></slot>
<span v-if="commit" v-html="actionText"></span>
<span v-else class="d-none d-sm-inline">&middot;</span>
diff --git a/app/assets/javascripts/notes/components/notes_app.vue b/app/assets/javascripts/notes/components/notes_app.vue
index c1dd56aedf2..faa6006945d 100644
--- a/app/assets/javascripts/notes/components/notes_app.vue
+++ b/app/assets/javascripts/notes/components/notes_app.vue
@@ -230,10 +230,11 @@ export default {
const defaultConfig = { path: this.getNotesDataByProp('discussionsPath') };
if (doesHashExistInUrl(constants.NOTE_UNDERSCORE)) {
- return Object.assign({}, defaultConfig, {
+ return {
+ ...defaultConfig,
filter: constants.DISCUSSION_FILTERS_DEFAULT_VALUE,
persistFilter: false,
- });
+ };
}
return defaultConfig;
},
diff --git a/app/assets/javascripts/notes/index.js b/app/assets/javascripts/notes/index.js
index 6fd3cee5340..ba814649078 100644
--- a/app/assets/javascripts/notes/index.js
+++ b/app/assets/javascripts/notes/index.js
@@ -2,11 +2,9 @@ import Vue from 'vue';
import notesApp from './components/notes_app.vue';
import initDiscussionFilters from './discussion_filters';
import initSortDiscussions from './sort_discussions';
-import createStore from './stores';
+import { store } from './stores';
document.addEventListener('DOMContentLoaded', () => {
- const store = createStore();
-
// eslint-disable-next-line no-new
new Vue({
el: '#js-vue-notes',
@@ -14,36 +12,38 @@ document.addEventListener('DOMContentLoaded', () => {
notesApp,
},
store,
- methods: {
- setData() {
- const notesDataset = this.$el.dataset;
- const parsedUserData = JSON.parse(notesDataset.currentUserData);
- const noteableData = JSON.parse(notesDataset.noteableData);
- let currentUserData = {};
-
- noteableData.noteableType = notesDataset.noteableType;
- noteableData.targetType = notesDataset.targetType;
+ data() {
+ const notesDataset = document.getElementById('js-vue-notes').dataset;
+ const parsedUserData = JSON.parse(notesDataset.currentUserData);
+ const noteableData = JSON.parse(notesDataset.noteableData);
+ let currentUserData = {};
- if (parsedUserData) {
- currentUserData = {
- id: parsedUserData.id,
- name: parsedUserData.name,
- username: parsedUserData.username,
- avatar_url: parsedUserData.avatar_path || parsedUserData.avatar_url,
- path: parsedUserData.path,
- };
- }
+ noteableData.noteableType = notesDataset.noteableType;
+ noteableData.targetType = notesDataset.targetType;
- return {
- noteableData,
- userData: currentUserData,
- notesData: JSON.parse(notesDataset.notesData),
+ if (parsedUserData) {
+ currentUserData = {
+ id: parsedUserData.id,
+ name: parsedUserData.name,
+ username: parsedUserData.username,
+ avatar_url: parsedUserData.avatar_path || parsedUserData.avatar_url,
+ path: parsedUserData.path,
};
- },
+ }
+
+ return {
+ noteableData,
+ currentUserData,
+ notesData: JSON.parse(notesDataset.notesData),
+ };
},
render(createElement) {
return createElement('notes-app', {
- props: { ...this.setData() },
+ props: {
+ noteableData: this.noteableData,
+ notesData: this.notesData,
+ userData: this.currentUserData,
+ },
});
},
});
diff --git a/app/assets/javascripts/notes/stores/actions.js b/app/assets/javascripts/notes/stores/actions.js
index a358515c2ec..0999d0aa7ac 100644
--- a/app/assets/javascripts/notes/stores/actions.js
+++ b/app/assets/javascripts/notes/stores/actions.js
@@ -248,7 +248,7 @@ export const saveNote = ({ commit, dispatch }, noteData) => {
const hasQuickActions = utils.hasQuickActions(placeholderText);
const replyId = noteData.data.in_reply_to_discussion_id;
let methodToDispatch;
- const postData = Object.assign({}, noteData);
+ const postData = { ...noteData };
if (postData.isDraft === true) {
methodToDispatch = replyId
? 'batchComments/addDraftToDiscussion'
diff --git a/app/assets/javascripts/notes/stores/index.js b/app/assets/javascripts/notes/stores/index.js
index d41b02b4a4b..c4895f58656 100644
--- a/app/assets/javascripts/notes/stores/index.js
+++ b/app/assets/javascripts/notes/stores/index.js
@@ -4,4 +4,8 @@ import notesModule from './modules';
Vue.use(Vuex);
-export default () => new Vuex.Store(notesModule());
+// NOTE: Giving the option to either use a singleton or new instance of notes.
+const notesStore = () => new Vuex.Store(notesModule());
+
+export default notesStore;
+export const store = notesStore();
diff --git a/app/assets/javascripts/notes/stores/modules/index.js b/app/assets/javascripts/notes/stores/modules/index.js
index 2e5e7f47099..25f0f546103 100644
--- a/app/assets/javascripts/notes/stores/modules/index.js
+++ b/app/assets/javascripts/notes/stores/modules/index.js
@@ -25,6 +25,7 @@ export default () => ({
},
userData: {},
noteableData: {
+ confidential: false, // TODO: Move data like this to Issue Store, should not be apart of notes.
current_user: {},
preview_note_path: 'path/to/preview',
},
diff --git a/app/assets/javascripts/pages/projects/blob/new/index.js b/app/assets/javascripts/pages/projects/blob/new/index.js
index 720cb249052..189053f3ed7 100644
--- a/app/assets/javascripts/pages/projects/blob/new/index.js
+++ b/app/assets/javascripts/pages/projects/blob/new/index.js
@@ -1,12 +1,3 @@
import initBlobBundle from '~/blob_edit/blob_bundle';
-import initPopover from '~/blob/suggest_gitlab_ci_yml';
-document.addEventListener('DOMContentLoaded', () => {
- initBlobBundle();
-
- const suggestEl = document.querySelector('.js-suggest-gitlab-ci-yml');
-
- if (suggestEl) {
- initPopover(suggestEl);
- }
-});
+document.addEventListener('DOMContentLoaded', initBlobBundle);
diff --git a/app/assets/javascripts/pages/projects/pipelines/index/index.js b/app/assets/javascripts/pages/projects/pipelines/index/index.js
index 894185fa8c2..bbad3238ec4 100644
--- a/app/assets/javascripts/pages/projects/pipelines/index/index.js
+++ b/app/assets/javascripts/pages/projects/pipelines/index/index.js
@@ -10,7 +10,6 @@ import { __ } from '~/locale';
import PipelinesStore from '../../../../pipelines/stores/pipelines_store';
import pipelinesComponent from '../../../../pipelines/components/pipelines.vue';
import Translate from '../../../../vue_shared/translate';
-import initVueAlerts from '../../../../vue_alerts';
Vue.use(Translate);
Vue.use(GlToast);
@@ -51,10 +50,9 @@ document.addEventListener(
hasGitlabCi: parseBoolean(this.dataset.hasGitlabCi),
ciLintPath: this.dataset.ciLintPath,
resetCachePath: this.dataset.resetCachePath,
+ projectId: this.dataset.projectId,
},
});
},
}),
);
-
-document.addEventListener('DOMContentLoaded', initVueAlerts);
diff --git a/app/assets/javascripts/pages/projects/show/index.js b/app/assets/javascripts/pages/projects/show/index.js
index f74a7b41895..6ae10c98058 100644
--- a/app/assets/javascripts/pages/projects/show/index.js
+++ b/app/assets/javascripts/pages/projects/show/index.js
@@ -12,10 +12,8 @@ import initReadMore from '~/read_more';
import leaveByUrl from '~/namespaces/leave_by_url';
import Star from '../../../star';
import notificationsDropdown from '../../../notifications_dropdown';
-import initVueAlerts from '../../../vue_alerts';
document.addEventListener('DOMContentLoaded', () => {
- initVueAlerts();
initReadMore();
new Star(); // eslint-disable-line no-new
notificationsDropdown();
diff --git a/app/assets/javascripts/pipelines/components/pipelines.vue b/app/assets/javascripts/pipelines/components/pipelines.vue
index d4f23697e09..ad78f5232ef 100644
--- a/app/assets/javascripts/pipelines/components/pipelines.vue
+++ b/app/assets/javascripts/pipelines/components/pipelines.vue
@@ -9,14 +9,18 @@ import NavigationTabs from '../../vue_shared/components/navigation_tabs.vue';
import NavigationControls from './nav_controls.vue';
import { getParameterByName } from '../../lib/utils/common_utils';
import CIPaginationMixin from '../../vue_shared/mixins/ci_pagination_api_mixin';
+import PipelinesFilteredSearch from './pipelines_filtered_search.vue';
+import { ANY_TRIGGER_AUTHOR } from '../constants';
+import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
export default {
components: {
TablePagination,
NavigationTabs,
NavigationControls,
+ PipelinesFilteredSearch,
},
- mixins: [pipelinesMixin, CIPaginationMixin],
+ mixins: [pipelinesMixin, CIPaginationMixin, glFeatureFlagsMixin()],
props: {
store: {
type: Object,
@@ -78,6 +82,10 @@ export default {
required: false,
default: null,
},
+ projectId: {
+ type: String,
+ required: true,
+ },
},
data() {
return {
@@ -209,6 +217,9 @@ export default {
},
];
},
+ canFilterPipelines() {
+ return this.glFeatures.filterPipelinesSearch;
+ },
},
created() {
this.service = new PipelinesService(this.endpoint);
@@ -238,6 +249,19 @@ export default {
createFlash(s__('Pipelines|Something went wrong while cleaning runners cache.'));
});
},
+ filterPipelines(filters) {
+ filters.forEach(filter => {
+ this.requestData[filter.type] = filter.value.data;
+ });
+
+ // set query params back to default if filtering by Any author
+ // or input is cleared on submit
+ if (this.requestData.username === ANY_TRIGGER_AUTHOR || filters.length === 0) {
+ this.requestData = { page: this.page, scope: this.scope };
+ }
+
+ this.updateContent(this.requestData);
+ },
},
};
</script>
@@ -267,6 +291,13 @@ export default {
/>
</div>
+ <pipelines-filtered-search
+ v-if="canFilterPipelines"
+ :pipelines="state.pipelines"
+ :project-id="projectId"
+ @filterPipelines="filterPipelines"
+ />
+
<div class="content-list pipelines">
<gl-loading-icon
v-if="stateToRender === $options.stateMap.loading"
diff --git a/app/assets/javascripts/pipelines/components/pipelines_filtered_search.vue b/app/assets/javascripts/pipelines/components/pipelines_filtered_search.vue
new file mode 100644
index 00000000000..178f08d84cc
--- /dev/null
+++ b/app/assets/javascripts/pipelines/components/pipelines_filtered_search.vue
@@ -0,0 +1,69 @@
+<script>
+import { GlFilteredSearch } from '@gitlab/ui';
+import { __, s__ } from '~/locale';
+import PipelineTriggerAuthorToken from './tokens/pipeline_trigger_author_token.vue';
+import Api from '~/api';
+import createFlash from '~/flash';
+
+export default {
+ components: {
+ GlFilteredSearch,
+ },
+ props: {
+ pipelines: {
+ type: Array,
+ required: true,
+ },
+ projectId: {
+ type: String,
+ required: true,
+ },
+ },
+ data() {
+ return {
+ projectUsers: null,
+ };
+ },
+ computed: {
+ tokens() {
+ return [
+ {
+ type: 'username',
+ icon: 'user',
+ title: s__('Pipeline|Trigger author'),
+ dataType: 'username',
+ unique: true,
+ token: PipelineTriggerAuthorToken,
+ operators: [{ value: '=', description: __('is'), default: 'true' }],
+ triggerAuthors: this.projectUsers,
+ },
+ ];
+ },
+ },
+ created() {
+ Api.projectUsers(this.projectId)
+ .then(users => {
+ this.projectUsers = users;
+ })
+ .catch(err => {
+ createFlash(__('There was a problem fetching project users.'));
+ throw err;
+ });
+ },
+ methods: {
+ onSubmit(filters) {
+ this.$emit('filterPipelines', filters);
+ },
+ },
+};
+</script>
+
+<template>
+ <div class="row-content-block">
+ <gl-filtered-search
+ :placeholder="__('Filter pipelines')"
+ :available-tokens="tokens"
+ @submit="onSubmit"
+ />
+ </div>
+</template>
diff --git a/app/assets/javascripts/pipelines/components/pipelines_table_row.vue b/app/assets/javascripts/pipelines/components/pipelines_table_row.vue
index e25f8ab4790..981914dd046 100644
--- a/app/assets/javascripts/pipelines/components/pipelines_table_row.vue
+++ b/app/assets/javascripts/pipelines/components/pipelines_table_row.vue
@@ -99,9 +99,10 @@ export default {
// 3. If GitLab user does not have avatar, they might have a Gravatar
} else if (this.pipeline.commit.author_gravatar_url) {
- commitAuthorInformation = Object.assign({}, this.pipeline.commit.author, {
+ commitAuthorInformation = {
+ ...this.pipeline.commit.author,
avatar_url: this.pipeline.commit.author_gravatar_url,
- });
+ };
}
// 4. If committer is not a GitLab User, they can have a Gravatar
} else {
diff --git a/app/assets/javascripts/pipelines/components/test_reports/test_summary.vue b/app/assets/javascripts/pipelines/components/test_reports/test_summary.vue
index 9739ef76867..80a1c83f171 100644
--- a/app/assets/javascripts/pipelines/components/test_reports/test_summary.vue
+++ b/app/assets/javascripts/pipelines/components/test_reports/test_summary.vue
@@ -29,7 +29,14 @@ export default {
successPercentage() {
// Returns a full number when the decimals equal .00.
// Otherwise returns a float to two decimal points
- return Number(((this.report.success_count / this.report.total_count) * 100 || 0).toFixed(2));
+ // Do not include skipped tests as part of the total when doing success calculations.
+
+ const totalCompletedCount = this.report.total_count - this.report.skipped_count;
+
+ if (totalCompletedCount > 0) {
+ return Number(((this.report.success_count / totalCompletedCount) * 100 || 0).toFixed(2));
+ }
+ return 0;
},
formattedDuration() {
return formatTime(secondsToMilliseconds(this.report.total_time));
diff --git a/app/assets/javascripts/pipelines/components/tokens/pipeline_trigger_author_token.vue b/app/assets/javascripts/pipelines/components/tokens/pipeline_trigger_author_token.vue
new file mode 100644
index 00000000000..55b783024d3
--- /dev/null
+++ b/app/assets/javascripts/pipelines/components/tokens/pipeline_trigger_author_token.vue
@@ -0,0 +1,78 @@
+<script>
+import {
+ GlFilteredSearchToken,
+ GlAvatar,
+ GlFilteredSearchSuggestion,
+ GlDropdownDivider,
+} from '@gitlab/ui';
+import { ANY_TRIGGER_AUTHOR } from '../../constants';
+
+export default {
+ anyTriggerAuthor: ANY_TRIGGER_AUTHOR,
+ components: {
+ GlFilteredSearchToken,
+ GlAvatar,
+ GlFilteredSearchSuggestion,
+ GlDropdownDivider,
+ },
+ props: {
+ config: {
+ type: Object,
+ required: true,
+ },
+ value: {
+ type: Object,
+ required: true,
+ },
+ },
+ computed: {
+ currentValue() {
+ return this.value.data.toLowerCase();
+ },
+ filteredTriggerAuthors() {
+ return this.config.triggerAuthors.filter(user => {
+ return user.username.toLowerCase().includes(this.currentValue);
+ });
+ },
+ activeUser() {
+ return this.config.triggerAuthors.find(user => {
+ return user.username.toLowerCase() === this.currentValue;
+ });
+ },
+ },
+};
+</script>
+
+<template>
+ <gl-filtered-search-token :config="config" v-bind="{ ...$props, ...$attrs }" v-on="$listeners">
+ <template #view="{inputValue}">
+ <gl-avatar
+ v-if="activeUser"
+ :size="16"
+ :src="activeUser.avatar_url"
+ shape="circle"
+ class="gl-mr-2"
+ />
+ <span>{{ activeUser ? activeUser.name : inputValue }}</span>
+ </template>
+ <template #suggestions>
+ <gl-filtered-search-suggestion :value="$options.anyTriggerAuthor">{{
+ $options.anyTriggerAuthor
+ }}</gl-filtered-search-suggestion>
+ <gl-dropdown-divider />
+ <gl-filtered-search-suggestion
+ v-for="user in filteredTriggerAuthors"
+ :key="user.username"
+ :value="user.username"
+ >
+ <div class="d-flex">
+ <gl-avatar :size="32" :src="user.avatar_url" />
+ <div>
+ <div>{{ user.name }}</div>
+ <div>@{{ user.username }}</div>
+ </div>
+ </div>
+ </gl-filtered-search-suggestion>
+ </template>
+ </gl-filtered-search-token>
+</template>
diff --git a/app/assets/javascripts/pipelines/constants.js b/app/assets/javascripts/pipelines/constants.js
index c9655d18a04..d334e867101 100644
--- a/app/assets/javascripts/pipelines/constants.js
+++ b/app/assets/javascripts/pipelines/constants.js
@@ -1,6 +1,7 @@
export const CANCEL_REQUEST = 'CANCEL_REQUEST';
export const PIPELINES_TABLE = 'PIPELINES_TABLE';
export const LAYOUT_CHANGE_DELAY = 300;
+export const ANY_TRIGGER_AUTHOR = 'Any';
export const TestStatus = {
FAILED: 'failed',
diff --git a/app/assets/javascripts/pipelines/services/pipelines_service.js b/app/assets/javascripts/pipelines/services/pipelines_service.js
index 3c755db23dc..82d082a226f 100644
--- a/app/assets/javascripts/pipelines/services/pipelines_service.js
+++ b/app/assets/javascripts/pipelines/services/pipelines_service.js
@@ -19,13 +19,19 @@ export default class PipelinesService {
}
getPipelines(data = {}) {
- const { scope, page } = data;
+ const { scope, page, username } = data;
const { CancelToken } = axios;
+ const queryParams = { scope, page };
+
+ if (username) {
+ queryParams.username = username;
+ }
+
this.cancelationSource = CancelToken.source();
return axios.get(this.endpoint, {
- params: { scope, page },
+ params: queryParams,
cancelToken: this.cancelationSource.token,
});
}
diff --git a/app/assets/javascripts/pipelines/stores/pipeline_store.js b/app/assets/javascripts/pipelines/stores/pipeline_store.js
index 1ef73760e02..c6f65277c8d 100644
--- a/app/assets/javascripts/pipelines/stores/pipeline_store.js
+++ b/app/assets/javascripts/pipelines/stores/pipeline_store.js
@@ -15,7 +15,7 @@ export default class PipelineStore {
* @param {Object} pipeline
*/
storePipeline(pipeline = {}) {
- const pipelineCopy = Object.assign({}, pipeline);
+ const pipelineCopy = { ...pipeline };
if (pipelineCopy.triggered_by) {
pipelineCopy.triggered_by = [pipelineCopy.triggered_by];
diff --git a/app/assets/javascripts/registry/settings/store/mutations.js b/app/assets/javascripts/registry/settings/store/mutations.js
index bb7071b020b..3ba13419b98 100644
--- a/app/assets/javascripts/registry/settings/store/mutations.js
+++ b/app/assets/javascripts/registry/settings/store/mutations.js
@@ -21,7 +21,7 @@ export default {
state.original = Object.freeze(settings);
},
[types.RESET_SETTINGS](state) {
- state.settings = Object.assign({}, state.original);
+ state.settings = { ...state.original };
},
[types.TOGGLE_LOADING](state) {
state.isLoading = !state.isLoading;
diff --git a/app/assets/javascripts/registry/shared/constants.js b/app/assets/javascripts/registry/shared/constants.js
index 7a839e4a3ed..4689d01b1c8 100644
--- a/app/assets/javascripts/registry/shared/constants.js
+++ b/app/assets/javascripts/registry/shared/constants.js
@@ -41,5 +41,5 @@ export const NAME_REGEX_KEEP_LABEL = s__(
);
export const NAME_REGEX_KEEP_PLACEHOLDER = '';
export const NAME_REGEX_KEEP_DESCRIPTION = s__(
- 'ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported',
+ 'ContainerRegistry|Regular expressions such as %{codeStart}.*-master%{codeEnd} or %{codeStart}release-.*%{codeEnd} are supported',
);
diff --git a/app/assets/javascripts/releases/components/app_edit.vue b/app/assets/javascripts/releases/components/app_edit.vue
index 1a1b2591cc8..433df839acb 100644
--- a/app/assets/javascripts/releases/components/app_edit.vue
+++ b/app/assets/javascripts/releases/components/app_edit.vue
@@ -9,6 +9,7 @@ import { BACK_URL_PARAM } from '~/releases/constants';
import { getParameterByName } from '~/lib/utils/common_utils';
import AssetLinksForm from './asset_links_form.vue';
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
+import MilestoneCombobox from '~/milestones/project_milestone_combobox.vue';
export default {
name: 'ReleaseEditApp',
@@ -18,6 +19,7 @@ export default {
GlButton,
MarkdownField,
AssetLinksForm,
+ MilestoneCombobox,
},
directives: {
autofocusonshow,
@@ -32,6 +34,10 @@ export default {
'markdownPreviewPath',
'releasesPagePath',
'updateReleaseApiDocsPath',
+ 'release',
+ 'newMilestonePath',
+ 'manageMilestonesPath',
+ 'projectId',
]),
...mapGetters('detail', ['isValid']),
showForm() {
@@ -82,6 +88,14 @@ export default {
this.updateReleaseNotes(notes);
},
},
+ releaseMilestones: {
+ get() {
+ return this.$store.state.detail.release.milestones;
+ },
+ set(milestones) {
+ this.updateReleaseMilestones(milestones);
+ },
+ },
cancelPath() {
return getParameterByName(BACK_URL_PARAM) || this.releasesPagePath;
},
@@ -91,6 +105,18 @@ export default {
isSaveChangesDisabled() {
return this.isUpdatingRelease || !this.isValid;
},
+ milestoneComboboxExtraLinks() {
+ return [
+ {
+ text: __('Create new'),
+ url: this.newMilestonePath,
+ },
+ {
+ text: __('Manage milestones'),
+ url: this.manageMilestonesPath,
+ },
+ ];
+ },
},
created() {
this.fetchRelease();
@@ -101,6 +127,7 @@ export default {
'updateRelease',
'updateReleaseTitle',
'updateReleaseNotes',
+ 'updateReleaseMilestones',
]),
},
};
@@ -137,6 +164,16 @@ export default {
class="form-control"
/>
</gl-form-group>
+ <gl-form-group class="w-50">
+ <label>{{ __('Milestones') }}</label>
+ <div class="d-flex flex-column col-md-6 col-sm-10 pl-0">
+ <milestone-combobox
+ v-model="releaseMilestones"
+ :project-id="projectId"
+ :extra-links="milestoneComboboxExtraLinks"
+ />
+ </div>
+ </gl-form-group>
<gl-form-group>
<label for="release-notes">{{ __('Release notes') }}</label>
<div class="bordered-box pr-3 pl-3">
@@ -158,8 +195,7 @@ export default {
:placeholder="__('Write your release notes or drag your files here…')"
@keydown.meta.enter="updateRelease()"
@keydown.ctrl.enter="updateRelease()"
- >
- </textarea>
+ ></textarea>
</markdown-field>
</div>
</gl-form-group>
@@ -174,12 +210,9 @@ export default {
type="submit"
:aria-label="__('Save changes')"
:disabled="isSaveChangesDisabled"
+ >{{ __('Save changes') }}</gl-button
>
- {{ __('Save changes') }}
- </gl-button>
- <gl-button :href="cancelPath" class="js-cancel-button">
- {{ __('Cancel') }}
- </gl-button>
+ <gl-button :href="cancelPath" class="js-cancel-button">{{ __('Cancel') }}</gl-button>
</div>
</form>
</div>
diff --git a/app/assets/javascripts/releases/components/app_index.vue b/app/assets/javascripts/releases/components/app_index.vue
index 215a376fc76..67085ecca2b 100644
--- a/app/assets/javascripts/releases/components/app_index.vue
+++ b/app/assets/javascripts/releases/components/app_index.vue
@@ -1,6 +1,6 @@
<script>
import { mapState, mapActions } from 'vuex';
-import { GlSkeletonLoading, GlEmptyState, GlLink } from '@gitlab/ui';
+import { GlSkeletonLoading, GlEmptyState, GlLink, GlButton } from '@gitlab/ui';
import {
getParameterByName,
historyPushState,
@@ -18,6 +18,7 @@ export default {
ReleaseBlock,
TablePagination,
GlLink,
+ GlButton,
},
props: {
projectId: {
@@ -69,14 +70,16 @@ export default {
</script>
<template>
<div class="flex flex-column mt-2">
- <gl-link
+ <gl-button
v-if="newReleasePath"
:href="newReleasePath"
:aria-describedby="shouldRenderEmptyState && 'releases-description'"
- class="btn btn-success align-self-end mb-2 js-new-release-btn"
+ category="primary"
+ variant="success"
+ class="align-self-end mb-2 js-new-release-btn"
>
{{ __('New release') }}
- </gl-link>
+ </gl-button>
<gl-skeleton-loading v-if="isLoading" class="js-loading" />
diff --git a/app/assets/javascripts/releases/components/release_block_header.vue b/app/assets/javascripts/releases/components/release_block_header.vue
index 1e703c247ae..ed49841757a 100644
--- a/app/assets/javascripts/releases/components/release_block_header.vue
+++ b/app/assets/javascripts/releases/components/release_block_header.vue
@@ -1,5 +1,5 @@
<script>
-import { GlTooltipDirective, GlLink, GlBadge } from '@gitlab/ui';
+import { GlTooltipDirective, GlLink, GlBadge, GlButton } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue';
import { BACK_URL_PARAM } from '~/releases/constants';
import { setUrlParams } from '~/lib/utils/url_utility';
@@ -10,6 +10,7 @@ export default {
GlLink,
GlBadge,
Icon,
+ GlButton,
},
directives: {
GlTooltip: GlTooltipDirective,
@@ -50,14 +51,16 @@ export default {
__('Upcoming Release')
}}</gl-badge>
</h2>
- <gl-link
+ <gl-button
v-if="editLink"
v-gl-tooltip
- class="btn btn-default append-right-10 js-edit-button ml-2"
+ category="primary"
+ variant="default"
+ class="append-right-10 js-edit-button ml-2 pb-2"
:title="__('Edit this release')"
:href="editLink"
>
<icon name="pencil" />
- </gl-link>
+ </gl-button>
</div>
</template>
diff --git a/app/assets/javascripts/releases/stores/modules/detail/actions.js b/app/assets/javascripts/releases/stores/modules/detail/actions.js
index 7b84c18242c..3bc427dfa16 100644
--- a/app/assets/javascripts/releases/stores/modules/detail/actions.js
+++ b/app/assets/javascripts/releases/stores/modules/detail/actions.js
@@ -18,7 +18,12 @@ export const fetchRelease = ({ dispatch, state }) => {
return api
.release(state.projectId, state.tagName)
- .then(({ data: release }) => {
+ .then(({ data }) => {
+ const release = {
+ ...data,
+ milestones: data.milestones || [],
+ };
+
dispatch('receiveReleaseSuccess', convertObjectPropsToCamelCase(release, { deep: true }));
})
.catch(error => {
@@ -28,6 +33,8 @@ export const fetchRelease = ({ dispatch, state }) => {
export const updateReleaseTitle = ({ commit }, title) => commit(types.UPDATE_RELEASE_TITLE, title);
export const updateReleaseNotes = ({ commit }, notes) => commit(types.UPDATE_RELEASE_NOTES, notes);
+export const updateReleaseMilestones = ({ commit }, milestones) =>
+ commit(types.UPDATE_RELEASE_MILESTONES, milestones);
export const requestUpdateRelease = ({ commit }) => commit(types.REQUEST_UPDATE_RELEASE);
export const receiveUpdateReleaseSuccess = ({ commit, state, rootState }) => {
@@ -45,12 +52,14 @@ export const updateRelease = ({ dispatch, state, getters }) => {
dispatch('requestUpdateRelease');
const { release } = state;
+ const milestones = release.milestones ? release.milestones.map(milestone => milestone.title) : [];
return (
api
.updateRelease(state.projectId, state.tagName, {
name: release.name,
description: release.description,
+ milestones,
})
/**
diff --git a/app/assets/javascripts/releases/stores/modules/detail/mutation_types.js b/app/assets/javascripts/releases/stores/modules/detail/mutation_types.js
index 04944b76e42..1d6356990ce 100644
--- a/app/assets/javascripts/releases/stores/modules/detail/mutation_types.js
+++ b/app/assets/javascripts/releases/stores/modules/detail/mutation_types.js
@@ -4,6 +4,7 @@ export const RECEIVE_RELEASE_ERROR = 'RECEIVE_RELEASE_ERROR';
export const UPDATE_RELEASE_TITLE = 'UPDATE_RELEASE_TITLE';
export const UPDATE_RELEASE_NOTES = 'UPDATE_RELEASE_NOTES';
+export const UPDATE_RELEASE_MILESTONES = 'UPDATE_RELEASE_MILESTONES';
export const REQUEST_UPDATE_RELEASE = 'REQUEST_UPDATE_RELEASE';
export const RECEIVE_UPDATE_RELEASE_SUCCESS = 'RECEIVE_UPDATE_RELEASE_SUCCESS';
diff --git a/app/assets/javascripts/releases/stores/modules/detail/mutations.js b/app/assets/javascripts/releases/stores/modules/detail/mutations.js
index 3d97e3a75c2..5c29b402cba 100644
--- a/app/assets/javascripts/releases/stores/modules/detail/mutations.js
+++ b/app/assets/javascripts/releases/stores/modules/detail/mutations.js
@@ -28,6 +28,10 @@ export default {
state.release.description = notes;
},
+ [types.UPDATE_RELEASE_MILESTONES](state, milestones) {
+ state.release.milestones = milestones;
+ },
+
[types.REQUEST_UPDATE_RELEASE](state) {
state.isUpdatingRelease = true;
},
diff --git a/app/assets/javascripts/releases/stores/modules/detail/state.js b/app/assets/javascripts/releases/stores/modules/detail/state.js
index b513e1bed79..6d0d102c719 100644
--- a/app/assets/javascripts/releases/stores/modules/detail/state.js
+++ b/app/assets/javascripts/releases/stores/modules/detail/state.js
@@ -6,6 +6,8 @@ export default ({
markdownPreviewPath,
updateReleaseApiDocsPath,
releaseAssetsDocsPath,
+ manageMilestonesPath,
+ newMilestonePath,
}) => ({
projectId,
tagName,
@@ -14,6 +16,8 @@ export default ({
markdownPreviewPath,
updateReleaseApiDocsPath,
releaseAssetsDocsPath,
+ manageMilestonesPath,
+ newMilestonePath,
/** The Release object */
release: null,
diff --git a/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue b/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue
index f6646823c5c..bf0c52b2341 100644
--- a/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue
+++ b/app/assets/javascripts/sidebar/components/assignees/assignees_realtime.vue
@@ -4,6 +4,7 @@ import query from '~/issuable_sidebar/queries/issue_sidebar.query.graphql';
import actionCable from '~/actioncable_consumer';
export default {
+ subscription: null,
name: 'AssigneesRealtime',
props: {
mediator: {
@@ -36,6 +37,9 @@ export default {
mounted() {
this.initActionCablePolling();
},
+ beforeDestroy() {
+ this.$options.subscription.unsubscribe();
+ },
methods: {
received(data) {
if (data.event === 'updated') {
@@ -43,7 +47,7 @@ export default {
}
},
initActionCablePolling() {
- actionCable.subscriptions.create(
+ this.$options.subscription = actionCable.subscriptions.create(
{
channel: 'IssuesChannel',
project_path: this.projectPath,
diff --git a/app/assets/javascripts/sidebar/components/confidential/confidential_issue_sidebar.vue b/app/assets/javascripts/sidebar/components/confidential/confidential_issue_sidebar.vue
index 5b3c3642290..550a1be1e64 100644
--- a/app/assets/javascripts/sidebar/components/confidential/confidential_issue_sidebar.vue
+++ b/app/assets/javascripts/sidebar/components/confidential/confidential_issue_sidebar.vue
@@ -1,15 +1,16 @@
<script>
+import { mapState } from 'vuex';
import { __ } from '~/locale';
import Flash from '~/flash';
import tooltip from '~/vue_shared/directives/tooltip';
import Icon from '~/vue_shared/components/icon.vue';
import eventHub from '~/sidebar/event_hub';
-import editForm from './edit_form.vue';
+import EditForm from './edit_form.vue';
import recaptchaModalImplementor from '~/vue_shared/mixins/recaptcha_modal_implementor';
export default {
components: {
- editForm,
+ EditForm,
Icon,
},
directives: {
@@ -17,10 +18,6 @@ export default {
},
mixins: [recaptchaModalImplementor],
props: {
- isConfidential: {
- required: true,
- type: Boolean,
- },
isEditable: {
required: true,
type: Boolean,
@@ -36,11 +33,12 @@ export default {
};
},
computed: {
+ ...mapState({ confidential: ({ noteableData }) => noteableData.confidential }),
confidentialityIcon() {
- return this.isConfidential ? 'eye-slash' : 'eye';
+ return this.confidential ? 'eye-slash' : 'eye';
},
tooltipLabel() {
- return this.isConfidential ? __('Confidential') : __('Not confidential');
+ return this.confidential ? __('Confidential') : __('Not confidential');
},
},
created() {
@@ -95,17 +93,16 @@ export default {
data-track-label="right_sidebar"
data-track-property="confidentiality"
@click.prevent="toggleForm"
+ >{{ __('Edit') }}</a
>
- {{ __('Edit') }}
- </a>
</div>
<div class="value sidebar-item-value hide-collapsed">
- <editForm
+ <edit-form
v-if="edit"
- :is-confidential="isConfidential"
+ :is-confidential="confidential"
:update-confidential-attribute="updateConfidentialAttribute"
/>
- <div v-if="!isConfidential" class="no-value sidebar-item-value">
+ <div v-if="!confidential" class="no-value sidebar-item-value">
<icon :size="16" name="eye" aria-hidden="true" class="sidebar-item-icon inline" />
{{ __('Not confidential') }}
</div>
diff --git a/app/assets/javascripts/sidebar/mount_sidebar.js b/app/assets/javascripts/sidebar/mount_sidebar.js
index 05d9ce240f3..e371091fc53 100644
--- a/app/assets/javascripts/sidebar/mount_sidebar.js
+++ b/app/assets/javascripts/sidebar/mount_sidebar.js
@@ -10,6 +10,7 @@ import sidebarParticipants from './components/participants/sidebar_participants.
import sidebarSubscriptions from './components/subscriptions/sidebar_subscriptions.vue';
import Translate from '../vue_shared/translate';
import createDefaultClient from '~/lib/graphql';
+import { store } from '~/notes/stores';
Vue.use(Translate);
Vue.use(VueApollo);
@@ -59,8 +60,8 @@ function mountConfidentialComponent(mediator) {
const ConfidentialComp = Vue.extend(ConfidentialIssueSidebar);
new ConfidentialComp({
+ store,
propsData: {
- isConfidential: initialData.is_confidential,
isEditable: initialData.is_editable,
service: mediator.service,
},
diff --git a/app/assets/javascripts/snippets/components/snippet_description_view.vue b/app/assets/javascripts/snippets/components/snippet_description_view.vue
new file mode 100644
index 00000000000..72afcc30be6
--- /dev/null
+++ b/app/assets/javascripts/snippets/components/snippet_description_view.vue
@@ -0,0 +1,21 @@
+<script>
+import MarkdownFieldView from '~/vue_shared/components/markdown/field_view.vue';
+
+export default {
+ components: {
+ MarkdownFieldView,
+ },
+ props: {
+ description: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ },
+};
+</script>
+<template>
+ <markdown-field-view class="snippet-description" data-qa-selector="snippet_description_field">
+ <div class="md js-snippet-description" v-html="description"></div>
+ </markdown-field-view>
+</template>
diff --git a/app/assets/javascripts/snippets/components/snippet_title.vue b/app/assets/javascripts/snippets/components/snippet_title.vue
index 06484ad5110..5267c3748ca 100644
--- a/app/assets/javascripts/snippets/components/snippet_title.vue
+++ b/app/assets/javascripts/snippets/components/snippet_title.vue
@@ -1,11 +1,14 @@
<script>
-import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
import { GlSprintf } from '@gitlab/ui';
+import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
+import SnippetDescription from './snippet_description_view.vue';
+
export default {
components: {
TimeAgoTooltip,
GlSprintf,
+ SnippetDescription,
},
props: {
snippet: {
@@ -20,13 +23,8 @@ export default {
<h2 class="snippet-title prepend-top-0 mb-3" data-qa-selector="snippet_title">
{{ snippet.title }}
</h2>
- <div
- v-if="snippet.description"
- class="description"
- data-qa-selector="snippet_description_field"
- >
- <div class="md js-snippet-description" v-html="snippet.descriptionHtml"></div>
- </div>
+
+ <snippet-description v-if="snippet.description" :description="snippet.descriptionHtml" />
<small v-if="snippet.updatedAt !== snippet.createdAt" class="edited-text">
<gl-sprintf :message="__('Edited %{timeago}')">
diff --git a/app/assets/javascripts/static_site_editor/constants.js b/app/assets/javascripts/static_site_editor/constants.js
index d7ce2a93a56..82732ab118f 100644
--- a/app/assets/javascripts/static_site_editor/constants.js
+++ b/app/assets/javascripts/static_site_editor/constants.js
@@ -1,4 +1,4 @@
-import { s__ } from '~/locale';
+import { s__, __ } from '~/locale';
export const BRANCH_SUFFIX_COUNT = 8;
export const DEFAULT_TARGET_BRANCH = 'master';
@@ -10,5 +10,8 @@ export const SUBMIT_CHANGES_COMMIT_ERROR = s__(
export const SUBMIT_CHANGES_MERGE_REQUEST_ERROR = s__(
'StaticSiteEditor|Could not create merge request.',
);
+export const LOAD_CONTENT_ERROR = __(
+ 'An error ocurred while loading your content. Please try again.',
+);
export const DEFAULT_HEADING = s__('StaticSiteEditor|Static site editor');
diff --git a/app/assets/javascripts/static_site_editor/graphql/index.js b/app/assets/javascripts/static_site_editor/graphql/index.js
new file mode 100644
index 00000000000..093fbf10c35
--- /dev/null
+++ b/app/assets/javascripts/static_site_editor/graphql/index.js
@@ -0,0 +1,36 @@
+import Vue from 'vue';
+import VueApollo from 'vue-apollo';
+import createDefaultClient from '~/lib/graphql';
+import typeDefs from './typedefs.graphql';
+
+import fileResolver from './resolvers/file';
+
+Vue.use(VueApollo);
+
+const createApolloProvider = appData => {
+ const defaultClient = createDefaultClient(
+ {
+ Project: {
+ file: fileResolver,
+ },
+ },
+ {
+ typeDefs,
+ },
+ );
+
+ defaultClient.cache.writeData({
+ data: {
+ appData: {
+ __typename: 'AppData',
+ ...appData,
+ },
+ },
+ });
+
+ return new VueApollo({
+ defaultClient,
+ });
+};
+
+export default createApolloProvider;
diff --git a/app/assets/javascripts/static_site_editor/graphql/queries/app_data.query.graphql b/app/assets/javascripts/static_site_editor/graphql/queries/app_data.query.graphql
new file mode 100644
index 00000000000..5400e12f9e1
--- /dev/null
+++ b/app/assets/javascripts/static_site_editor/graphql/queries/app_data.query.graphql
@@ -0,0 +1,8 @@
+query appData {
+ appData @client {
+ isSupportedContent
+ project
+ sourcePath
+ returnUrl
+ }
+}
diff --git a/app/assets/javascripts/static_site_editor/graphql/queries/source_content.query.graphql b/app/assets/javascripts/static_site_editor/graphql/queries/source_content.query.graphql
new file mode 100644
index 00000000000..e36d244ae57
--- /dev/null
+++ b/app/assets/javascripts/static_site_editor/graphql/queries/source_content.query.graphql
@@ -0,0 +1,9 @@
+query sourceContent($project: ID!, $sourcePath: String!) {
+ project(fullPath: $project) {
+ fullPath,
+ file(path: $sourcePath) @client {
+ title
+ content
+ }
+ }
+}
diff --git a/app/assets/javascripts/static_site_editor/graphql/resolvers/file.js b/app/assets/javascripts/static_site_editor/graphql/resolvers/file.js
new file mode 100644
index 00000000000..16f176581cb
--- /dev/null
+++ b/app/assets/javascripts/static_site_editor/graphql/resolvers/file.js
@@ -0,0 +1,11 @@
+import loadSourceContent from '../../services/load_source_content';
+
+const fileResolver = ({ fullPath: projectId }, { path: sourcePath }) => {
+ return loadSourceContent({ projectId, sourcePath }).then(sourceContent => ({
+ // eslint-disable-next-line @gitlab/require-i18n-strings
+ __typename: 'File',
+ ...sourceContent,
+ }));
+};
+
+export default fileResolver;
diff --git a/app/assets/javascripts/static_site_editor/graphql/typedefs.graphql b/app/assets/javascripts/static_site_editor/graphql/typedefs.graphql
new file mode 100644
index 00000000000..af01b699388
--- /dev/null
+++ b/app/assets/javascripts/static_site_editor/graphql/typedefs.graphql
@@ -0,0 +1,20 @@
+type File {
+ title: String
+ content: String!
+}
+
+extend type Project {
+ file(path: ID!): File
+}
+
+type AppData {
+ isSupportedContent: Boolean!
+ project: String!
+ returnUrl: String
+ sourcePath: String!
+ username: String!
+}
+
+extend type Query {
+ appData: AppData!
+}
diff --git a/app/assets/javascripts/static_site_editor/index.js b/app/assets/javascripts/static_site_editor/index.js
index b53d461f5a9..13e2b9aa229 100644
--- a/app/assets/javascripts/static_site_editor/index.js
+++ b/app/assets/javascripts/static_site_editor/index.js
@@ -3,9 +3,19 @@ import { parseBoolean } from '~/lib/utils/common_utils';
import App from './components/app.vue';
import createStore from './store';
import createRouter from './router';
+import createApolloProvider from './graphql';
const initStaticSiteEditor = el => {
- const { isSupportedContent, projectId, path: sourcePath, returnUrl, baseUrl } = el.dataset;
+ const {
+ isSupportedContent,
+ projectId,
+ path: sourcePath,
+ baseUrl,
+ namespace,
+ project,
+ } = el.dataset;
+ const { current_username: username } = window.gon;
+ const returnUrl = el.dataset.returnUrl || null;
const store = createStore({
initialState: {
@@ -13,15 +23,23 @@ const initStaticSiteEditor = el => {
projectId,
returnUrl,
sourcePath,
- username: window.gon.current_username,
+ username,
},
});
const router = createRouter(baseUrl);
+ const apolloProvider = createApolloProvider({
+ isSupportedContent: parseBoolean(isSupportedContent),
+ project: `${namespace}/${project}`,
+ returnUrl,
+ sourcePath,
+ username,
+ });
return new Vue({
el,
store,
router,
+ apolloProvider,
components: {
App,
},
diff --git a/app/assets/javascripts/static_site_editor/pages/home.vue b/app/assets/javascripts/static_site_editor/pages/home.vue
index 8a9fff47623..9003c381456 100644
--- a/app/assets/javascripts/static_site_editor/pages/home.vue
+++ b/app/assets/javascripts/static_site_editor/pages/home.vue
@@ -11,6 +11,13 @@ import PublishToolbar from '../components/publish_toolbar.vue';
import InvalidContentMessage from '../components/invalid_content_message.vue';
import SubmitChangesError from '../components/submit_changes_error.vue';
+import appDataQuery from '../graphql/queries/app_data.query.graphql';
+import sourceContentQuery from '../graphql/queries/source_content.query.graphql';
+
+import createFlash from '~/flash';
+
+import { LOAD_CONTENT_ERROR } from '../constants';
+
export default {
components: {
RichContentEditor,
@@ -23,13 +30,39 @@ export default {
SubmitChangesError,
},
mixins: [glFeatureFlagsMixin()],
+ apollo: {
+ appData: {
+ query: appDataQuery,
+ },
+ sourceContent: {
+ query: sourceContentQuery,
+ update: ({
+ project: {
+ file: { title, content },
+ },
+ }) => {
+ return { title, content };
+ },
+ variables() {
+ return {
+ project: this.appData.project,
+ sourcePath: this.appData.sourcePath,
+ };
+ },
+ skip() {
+ return !this.appData.isSupportedContent;
+ },
+ error() {
+ createFlash(LOAD_CONTENT_ERROR);
+ },
+ },
+ },
computed: {
...mapState([
'content',
'isLoadingContent',
'isSavingChanges',
'isContentLoaded',
- 'isSupportedContent',
'returnUrl',
'title',
'submitChangesError',
@@ -38,7 +71,7 @@ export default {
...mapGetters(['contentChanged']),
},
mounted() {
- if (this.isSupportedContent) {
+ if (this.appData.isSupportedContent) {
this.loadContent();
}
},
@@ -60,7 +93,7 @@ export default {
/>
<!-- Main view -->
- <template v-else-if="isSupportedContent">
+ <template v-else-if="appData.isSupportedContent">
<div v-if="isLoadingContent" class="w-50 h-50">
<gl-skeleton-loader :width="500" :height="102">
<rect width="500" height="16" rx="4" />
diff --git a/app/assets/javascripts/static_site_editor/store/actions.js b/app/assets/javascripts/static_site_editor/store/actions.js
index 9f5e9e8c589..af34c5e6998 100644
--- a/app/assets/javascripts/static_site_editor/store/actions.js
+++ b/app/assets/javascripts/static_site_editor/store/actions.js
@@ -1,10 +1,11 @@
import createFlash from '~/flash';
-import { __ } from '~/locale';
import * as mutationTypes from './mutation_types';
import loadSourceContent from '~/static_site_editor/services/load_source_content';
import submitContentChanges from '~/static_site_editor/services/submit_content_changes';
+import { LOAD_CONTENT_ERROR } from '../constants';
+
export const loadContent = ({ commit, state: { sourcePath, projectId } }) => {
commit(mutationTypes.LOAD_CONTENT);
@@ -12,7 +13,7 @@ export const loadContent = ({ commit, state: { sourcePath, projectId } }) => {
.then(data => commit(mutationTypes.RECEIVE_CONTENT_SUCCESS, data))
.catch(() => {
commit(mutationTypes.RECEIVE_CONTENT_ERROR);
- createFlash(__('An error ocurred while loading your content. Please try again.'));
+ createFlash(LOAD_CONTENT_ERROR);
});
};
diff --git a/app/assets/javascripts/static_site_editor/store/state.js b/app/assets/javascripts/static_site_editor/store/state.js
index 8c524b4ffe9..f98670e6eb4 100644
--- a/app/assets/javascripts/static_site_editor/store/state.js
+++ b/app/assets/javascripts/static_site_editor/store/state.js
@@ -6,7 +6,6 @@ const createState = (initialState = {}) => ({
isLoadingContent: false,
isSavingChanges: false,
- isSupportedContent: false,
isContentLoaded: false,
diff --git a/app/assets/javascripts/terminal/terminal.js b/app/assets/javascripts/terminal/terminal.js
index f4e546e4d4e..cf9064aba57 100644
--- a/app/assets/javascripts/terminal/terminal.js
+++ b/app/assets/javascripts/terminal/terminal.js
@@ -13,14 +13,11 @@ Terminal.applyAddon(webLinks);
export default class GLTerminal {
constructor(element, options = {}) {
- this.options = Object.assign(
- {},
- {
- cursorBlink: true,
- screenKeys: true,
- },
- options,
- );
+ this.options = {
+ cursorBlink: true,
+ screenKeys: true,
+ ...options,
+ };
this.container = element;
this.onDispose = [];
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue
index 42db1935123..6df53311ef0 100644
--- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue
+++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline.vue
@@ -42,6 +42,10 @@ export default {
type: String,
required: false,
},
+ pipelineMustSucceed: {
+ type: Boolean,
+ required: false,
+ },
sourceBranchLink: {
type: String,
required: false,
@@ -60,7 +64,10 @@ export default {
return this.pipeline && Object.keys(this.pipeline).length > 0;
},
hasCIError() {
- return this.hasCi && !this.ciStatus;
+ return (this.hasCi && !this.ciStatus) || this.hasPipelineMustSucceedConflict;
+ },
+ hasPipelineMustSucceedConflict() {
+ return !this.hasCi && this.pipelineMustSucceed;
},
status() {
return this.pipeline.details && this.pipeline.details.status
@@ -76,9 +83,13 @@ export default {
return this.pipeline.commit && Object.keys(this.pipeline.commit).length > 0;
},
errorText() {
+ if (this.hasPipelineMustSucceedConflict) {
+ return s__('Pipeline|No pipeline has been run for this commit.');
+ }
+
return sprintf(
s__(
- 'Pipeline|Could not retrieve the pipeline status. For troubleshooting steps, read the %{linkStart}documentation.%{linkEnd}',
+ 'Pipeline|Could not retrieve the pipeline status. For troubleshooting steps, read the %{linkStart}documentation%{linkEnd}.',
),
{
linkStart: `<a href="${this.troubleshootingDocsPath}">`,
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline_container.vue b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline_container.vue
index 46210d810bc..8fba0e2981f 100644
--- a/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline_container.vue
+++ b/app/assets/javascripts/vue_merge_request_widget/components/mr_widget_pipeline_container.vue
@@ -79,6 +79,7 @@ export default {
:pipeline-coverage-delta="mr.pipelineCoverageDelta"
:ci-status="mr.ciStatus"
:has-ci="mr.hasCI"
+ :pipeline-must-succeed="mr.onlyAllowMergeIfPipelineSucceeds"
:source-branch="branch"
:source-branch-link="branchLink"
:troubleshooting-docs-path="mr.troubleshootingDocsPath"
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue
index 360a75c3946..82be5eeb5ff 100644
--- a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue
+++ b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue
@@ -1,6 +1,6 @@
<script>
import { isEmpty } from 'lodash';
-import { GlIcon, GlDeprecatedButton } from '@gitlab/ui';
+import { GlIcon, GlDeprecatedButton, GlSprintf, GlLink } from '@gitlab/ui';
import successSvg from 'icons/_icon_status_success.svg';
import warningSvg from 'icons/_icon_status_warning.svg';
import readyToMergeMixin from 'ee_else_ce/vue_merge_request_widget/mixins/ready_to_merge';
@@ -26,6 +26,8 @@ export default {
CommitEdit,
CommitMessageDropdown,
GlIcon,
+ GlSprintf,
+ GlLink,
GlDeprecatedButton,
MergeImmediatelyConfirmationDialog: () =>
import(
@@ -56,7 +58,7 @@ export default {
status() {
const { pipeline, isPipelineFailed, hasCI, ciStatus } = this.mr;
- if (hasCI && !ciStatus) {
+ if ((hasCI && !ciStatus) || this.hasPipelineMustSucceedConflict) {
return 'failed';
} else if (this.isAutoMergeAvailable) {
return 'pending';
@@ -97,6 +99,9 @@ export default {
return __('Merge');
},
+ hasPipelineMustSucceedConflict() {
+ return !this.mr.hasCI && this.mr.onlyAllowMergeIfPipelineSucceeds;
+ },
isRemoveSourceBranchButtonDisabled() {
return this.isMergeButtonDisabled;
},
@@ -343,9 +348,19 @@ export default {
/>
</template>
<template v-else>
- <span class="bold js-resolve-mr-widget-items-message">
- {{ mergeDisabledText }}
- </span>
+ <div class="bold js-resolve-mr-widget-items-message">
+ <gl-sprintf
+ v-if="hasPipelineMustSucceedConflict"
+ :message="pipelineMustSucceedConflictText"
+ >
+ <template #link="{ content }">
+ <gl-link :href="mr.pipelineMustSucceedDocsPath" target="_blank">
+ {{ content }}
+ </gl-link>
+ </template>
+ </gl-sprintf>
+ <gl-sprintf v-else :message="mergeDisabledText" />
+ </div>
</template>
</div>
</div>
diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue
index 98f682c2e8a..5305894873f 100644
--- a/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue
+++ b/app/assets/javascripts/vue_merge_request_widget/components/states/squash_before_merge.vue
@@ -51,7 +51,7 @@ export default {
rel="noopener noreferrer nofollow"
data-container="body"
>
- <icon name="question-o" />
+ <icon name="question" />
</a>
</div>
</template>
diff --git a/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js b/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js
index 32a2b7b83f4..39fa5e465b8 100644
--- a/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js
+++ b/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js
@@ -1,6 +1,9 @@
import { __ } from '~/locale';
export const MERGE_DISABLED_TEXT = __('You can only merge once the items above are resolved.');
+export const PIPELINE_MUST_SUCCEED_CONFLICT_TEXT = __(
+ 'Pipelines must succeed for merge requests to be eligible to merge. Please enable pipelines for this project to continue. For more information, see the %{linkStart}documentation.%{linkEnd}',
+);
export default {
computed: {
@@ -16,6 +19,9 @@ export default {
mergeDisabledText() {
return MERGE_DISABLED_TEXT;
},
+ pipelineMustSucceedConflictText() {
+ return PIPELINE_MUST_SUCCEED_CONFLICT_TEXT;
+ },
autoMergeText() {
// MWPS is currently the only auto merge strategy available in CE
return __('Merge when pipeline succeeds');
diff --git a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.vue b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.vue
index 8c45e613312..2396ceab6e8 100644
--- a/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.vue
+++ b/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.vue
@@ -104,8 +104,11 @@ export default {
shouldRenderMergeHelp() {
return stateMaps.statesToShowHelpWidget.indexOf(this.mr.state) > -1;
},
+ hasPipelineMustSucceedConflict() {
+ return !this.mr.hasCI && this.mr.onlyAllowMergeIfPipelineSucceeds;
+ },
shouldRenderPipelines() {
- return this.mr.hasCI;
+ return this.mr.hasCI || this.hasPipelineMustSucceedConflict;
},
shouldSuggestPipelines() {
return gon.features?.suggestPipeline && !this.mr.hasCI && this.mr.mergeRequestAddCiConfigPath;
@@ -432,7 +435,9 @@ export default {
<source-branch-removal-status v-if="shouldRenderSourceBranchRemovalStatus" />
</div>
</div>
- <div v-if="shouldRenderMergeHelp" class="mr-widget-footer"><mr-widget-merge-help /></div>
+ <div v-if="shouldRenderMergeHelp" class="mr-widget-footer">
+ <mr-widget-merge-help />
+ </div>
</div>
<mr-widget-pipeline-container
v-if="shouldRenderMergedPipeline"
diff --git a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js
index 5a985426abc..b08218732f6 100644
--- a/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js
+++ b/app/assets/javascripts/vue_merge_request_widget/stores/mr_widget_store.js
@@ -161,6 +161,7 @@ export default class MergeRequestStore {
// Paths are set on the first load of the page and not auto-refreshed
this.squashBeforeMergeHelpPath = data.squash_before_merge_help_path;
this.troubleshootingDocsPath = data.troubleshooting_docs_path;
+ this.pipelineMustSucceedDocsPath = data.pipeline_must_succeed_docs_path;
this.mergeRequestBasicPath = data.merge_request_basic_path;
this.mergeRequestWidgetPath = data.merge_request_widget_path;
this.mergeRequestCachedWidgetPath = data.merge_request_cached_widget_path;
diff --git a/app/assets/javascripts/vue_shared/components/blob_viewers/rich_viewer.vue b/app/assets/javascripts/vue_shared/components/blob_viewers/rich_viewer.vue
index afbfb1e0ee2..52ce05f0d99 100644
--- a/app/assets/javascripts/vue_shared/components/blob_viewers/rich_viewer.vue
+++ b/app/assets/javascripts/vue_shared/components/blob_viewers/rich_viewer.vue
@@ -1,8 +1,12 @@
<script>
+import MarkdownFieldView from '~/vue_shared/components/markdown/field_view.vue';
import ViewerMixin from './mixins';
import { handleBlobRichViewer } from '~/blob/viewer';
export default {
+ components: {
+ MarkdownFieldView,
+ },
mixins: [ViewerMixin],
mounted() {
handleBlobRichViewer(this.$refs.content, this.type);
@@ -10,5 +14,5 @@ export default {
};
</script>
<template>
- <div ref="content" v-html="content"></div>
+ <markdown-field-view ref="content" v-html="content" />
</template>
diff --git a/app/assets/javascripts/vue_shared/components/blob_viewers/simple_viewer.vue b/app/assets/javascripts/vue_shared/components/blob_viewers/simple_viewer.vue
index e64c7132117..1eb05780206 100644
--- a/app/assets/javascripts/vue_shared/components/blob_viewers/simple_viewer.vue
+++ b/app/assets/javascripts/vue_shared/components/blob_viewers/simple_viewer.vue
@@ -44,7 +44,8 @@ export default {
</script>
<template>
<div
- class="file-content code js-syntax-highlight qa-file-content"
+ class="file-content code js-syntax-highlight"
+ data-qa-selector="file_content"
:class="$options.userColorScheme"
>
<div class="line-numbers">
diff --git a/app/assets/javascripts/vue_shared/components/markdown/field_view.vue b/app/assets/javascripts/vue_shared/components/markdown/field_view.vue
new file mode 100644
index 00000000000..d77123371f2
--- /dev/null
+++ b/app/assets/javascripts/vue_shared/components/markdown/field_view.vue
@@ -0,0 +1,19 @@
+<script>
+import $ from 'jquery';
+import '~/behaviors/markdown/render_gfm';
+
+export default {
+ mounted() {
+ this.renderGFM();
+ },
+ methods: {
+ renderGFM() {
+ $(this.$el).renderGFM();
+ },
+ },
+};
+</script>
+
+<template>
+ <div><slot></slot></div>
+</template>
diff --git a/app/assets/javascripts/vue_shared/components/notes/system_note.vue b/app/assets/javascripts/vue_shared/components/notes/system_note.vue
index ec7d7e94e5c..05e1293a80e 100644
--- a/app/assets/javascripts/vue_shared/components/notes/system_note.vue
+++ b/app/assets/javascripts/vue_shared/components/notes/system_note.vue
@@ -107,7 +107,7 @@ export default {
<span v-html="actionTextHtml"></span>
<template v-if="canSeeDescriptionVersion" slot="extra-controls">
&middot;
- <button type="button" class="btn-blank btn-link" @click="toggleDescriptionVersion">
+ <button type="button" class="btn-blank btn-link ml-1" @click="toggleDescriptionVersion">
{{ __('Compare with previous version') }}
<icon :name="descriptionVersionToggleIcon" :size="12" class="append-left-5" />
</button>
diff --git a/app/assets/javascripts/vue_shared/components/sidebar/labels_select_vue/labels_select_root.vue b/app/assets/javascripts/vue_shared/components/sidebar/labels_select_vue/labels_select_root.vue
index a95a5a50a8b..f38b66fdfdf 100644
--- a/app/assets/javascripts/vue_shared/components/sidebar/labels_select_vue/labels_select_root.vue
+++ b/app/assets/javascripts/vue_shared/components/sidebar/labels_select_vue/labels_select_root.vue
@@ -164,7 +164,11 @@ export default {
'js-dropdown-button',
'js-btn-cancel-create',
'js-sidebar-dropdown-toggle',
- ].some(className => target?.classList.contains(className));
+ ].some(
+ className =>
+ target?.classList.contains(className) ||
+ target?.parentElement.classList.contains(className),
+ );
const hadExceptionParent = ['.js-btn-back', '.js-labels-list'].some(
className => $(target).parents(className).length,
diff --git a/app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js b/app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js
index f9e3f3df0cc..69e9839380f 100644
--- a/app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js
+++ b/app/assets/javascripts/vue_shared/mixins/ci_pagination_api_mixin.js
@@ -9,21 +9,41 @@ import { historyPushState, buildUrlWithCurrentLocation } from '../../lib/utils/c
export default {
methods: {
onChangeTab(scope) {
- this.updateContent({ scope, page: '1' });
+ let params = {
+ scope,
+ page: '1',
+ };
+
+ params = this.onChangeWithFilter(params);
+
+ this.updateContent(params);
},
onChangePage(page) {
/* URLS parameters are strings, we need to parse to match types */
- const params = {
+ let params = {
page: Number(page).toString(),
};
if (this.scope) {
params.scope = this.scope;
}
+
+ params = this.onChangeWithFilter(params);
+
this.updateContent(params);
},
+ onChangeWithFilter(params) {
+ const { username } = this.requestData;
+
+ if (username) {
+ return { ...params, username };
+ }
+
+ return params;
+ },
+
updateInternalState(parameters) {
// stop polling
this.poll.stop();
diff --git a/app/assets/stylesheets/components/milestone_combobox.scss b/app/assets/stylesheets/components/milestone_combobox.scss
new file mode 100644
index 00000000000..e0637088bbb
--- /dev/null
+++ b/app/assets/stylesheets/components/milestone_combobox.scss
@@ -0,0 +1,13 @@
+.selected-item::before {
+ content: '\f00c';
+ color: $green-500;
+ position: absolute;
+ left: 16px;
+ top: 16px;
+ transform: translateY(-50%);
+ font: 14px FontAwesome;
+}
+
+.dropdown-item-space {
+ padding: 8px 12px;
+}
diff --git a/app/assets/stylesheets/page_bundles/themes/_dark.scss b/app/assets/stylesheets/page_bundles/themes/_dark.scss
index 634f18ee1bd..1d316ca2e3f 100644
--- a/app/assets/stylesheets/page_bundles/themes/_dark.scss
+++ b/app/assets/stylesheets/page_bundles/themes/_dark.scss
@@ -40,7 +40,7 @@
h1,
h2,
h3,
- h4:not(.modal-title),
+ h4,
h5,
h6,
code,
@@ -80,10 +80,6 @@
background-color: $dropdown-hover-background;
}
- .modal-body {
- color: $gl-text-color;
- }
-
.dropdown-menu-toggle svg,
.dropdown-menu-toggle svg:hover,
.ide-tree-header:not(.ide-pipeline-header) svg,
@@ -94,7 +90,7 @@
}
.ide-pipeline svg {
- --svg-status-bg: transparent;
+ --svg-status-bg: $background;
}
.multi-file-tab-close:hover {
diff --git a/app/assets/stylesheets/pages/alerts_list.scss b/app/assets/stylesheets/pages/alerts_list.scss
index 7c27237a52a..5974f97b728 100644
--- a/app/assets/stylesheets/pages/alerts_list.scss
+++ b/app/assets/stylesheets/pages/alerts_list.scss
@@ -53,4 +53,35 @@
}
}
}
+
+ @include media-breakpoint-down(sm) {
+ .alert-management-table {
+ .table-col {
+ min-height: 68px;
+
+ &:last-child {
+ background-color: $gray-normal;
+
+ &::before {
+ content: none !important;
+ }
+
+ div {
+ width: 100% !important;
+ padding: 0 !important;
+ }
+ }
+ }
+ }
+ }
+
+ .gl-tab-nav-item {
+ color: $gl-gray-600;
+
+ > .gl-tab-counter-badge {
+ color: inherit;
+ @include gl-font-sm;
+ background-color: $white-normal;
+ }
+ }
}
diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss
index 85fdcb753b4..b241d0a2bdc 100644
--- a/app/assets/stylesheets/pages/issuable.scss
+++ b/app/assets/stylesheets/pages/issuable.scss
@@ -167,10 +167,6 @@
}
}
- a.gl-label-icon {
- color: $gray-500;
- }
-
.gl-label .gl-label-link:hover {
text-decoration: none;
color: inherit;
@@ -180,11 +176,6 @@
}
}
- .gl-label .gl-label-icon:hover {
- text-decoration: none;
- color: $gray-500;
- }
-
.btn-link {
color: inherit;
}
@@ -826,10 +817,6 @@
}
}
}
-
- .gl-label-icon {
- color: $gray-500;
- }
}
@media(max-width: map-get($grid-breakpoints, lg)-1) {
diff --git a/app/assets/stylesheets/pages/labels.scss b/app/assets/stylesheets/pages/labels.scss
index b42f0195f69..22c1cb127cd 100644
--- a/app/assets/stylesheets/pages/labels.scss
+++ b/app/assets/stylesheets/pages/labels.scss
@@ -460,8 +460,7 @@
// Label inside title of Delete Label Modal
.modal-header .page-title {
.scoped-label-wrapper {
- .scoped-label,
- .gl-label-icon {
+ .scoped-label {
line-height: 20px;
}
diff --git a/app/assets/stylesheets/pages/milestone.scss b/app/assets/stylesheets/pages/milestone.scss
index fa10ab022dc..c473cc44637 100644
--- a/app/assets/stylesheets/pages/milestone.scss
+++ b/app/assets/stylesheets/pages/milestone.scss
@@ -68,10 +68,6 @@ $status-box-line-height: 26px;
.gl-label-link {
color: inherit;
}
-
- .gl-label-icon {
- color: $gray-500;
- }
}
}
diff --git a/app/assets/stylesheets/pages/notes.scss b/app/assets/stylesheets/pages/notes.scss
index 6445695bc6b..e79842b646f 100644
--- a/app/assets/stylesheets/pages/notes.scss
+++ b/app/assets/stylesheets/pages/notes.scss
@@ -660,10 +660,6 @@ $note-form-margin-left: 72px;
padding-bottom: 0;
}
-.note-headline-light {
- display: inline;
-}
-
.note-headline-light,
.discussion-headline-light {
color: $gl-text-color-secondary;
@@ -688,8 +684,7 @@ $note-form-margin-left: 72px;
text-decoration: underline;
}
- .gl-label-link:hover,
- .gl-label-icon:hover {
+ .gl-label-link:hover {
text-decoration: none;
color: inherit;
diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb
index 942bb4b6b0e..355662bbb38 100644
--- a/app/controllers/admin/application_settings_controller.rb
+++ b/app/controllers/admin/application_settings_controller.rb
@@ -5,7 +5,7 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
# NOTE: Use @application_setting in this controller when you need to access
# application_settings after it has been modified. This is because the
- # ApplicationSetting model uses Gitlab::ThreadMemoryCache for caching and the
+ # ApplicationSetting model uses Gitlab::ProcessMemoryCache for caching and the
# cache might be stale immediately after an update.
# https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/30233
before_action :set_application_setting, except: :integrations
diff --git a/app/controllers/boards/issues_controller.rb b/app/controllers/boards/issues_controller.rb
index a18c80b996e..bad55b34fb3 100644
--- a/app/controllers/boards/issues_controller.rb
+++ b/app/controllers/boards/issues_controller.rb
@@ -20,6 +20,9 @@ module Boards
skip_before_action :authenticate_user!, only: [:index]
before_action :validate_id_list, only: [:bulk_move]
before_action :can_move_issues?, only: [:bulk_move]
+ before_action do
+ push_frontend_feature_flag(:not_issuable_queries, board.group, default_enabled: true)
+ end
def index
list_service = Boards::Issues::ListService.new(board_parent, current_user, filter_params)
diff --git a/app/controllers/concerns/issuable_actions.rb b/app/controllers/concerns/issuable_actions.rb
index ca43bf42580..0b1b3f2bcba 100644
--- a/app/controllers/concerns/issuable_actions.rb
+++ b/app/controllers/concerns/issuable_actions.rb
@@ -11,6 +11,9 @@ module IssuableActions
before_action only: :show do
push_frontend_feature_flag(:scoped_labels, default_enabled: true)
end
+ before_action do
+ push_frontend_feature_flag(:not_issuable_queries, @project, default_enabled: true)
+ end
end
def permitted_keys
diff --git a/app/controllers/concerns/issuable_collections_action.rb b/app/controllers/concerns/issuable_collections_action.rb
index 0a6f684a9fc..78b3c6771b3 100644
--- a/app/controllers/concerns/issuable_collections_action.rb
+++ b/app/controllers/concerns/issuable_collections_action.rb
@@ -32,6 +32,10 @@ module IssuableCollectionsAction
private
+ def set_not_query_feature_flag(object = nil)
+ push_frontend_feature_flag(:not_issuable_queries, object, default_enabled: true)
+ end
+
def sorting_field
case action_name
when 'issues'
diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb
index 1668cf004f8..dd9e6488bc5 100644
--- a/app/controllers/dashboard_controller.rb
+++ b/app/controllers/dashboard_controller.rb
@@ -10,6 +10,7 @@ class DashboardController < Dashboard::ApplicationController
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 :set_not_query_feature_flag
respond_to :html
diff --git a/app/controllers/groups/group_links_controller.rb b/app/controllers/groups/group_links_controller.rb
index 23daa29ac43..52ee69edaa5 100644
--- a/app/controllers/groups/group_links_controller.rb
+++ b/app/controllers/groups/group_links_controller.rb
@@ -1,7 +1,6 @@
# frozen_string_literal: true
class Groups::GroupLinksController < Groups::ApplicationController
- before_action :check_feature_flag!
before_action :authorize_admin_group!
before_action :group_link, only: [:update, :destroy]
@@ -51,8 +50,4 @@ class Groups::GroupLinksController < Groups::ApplicationController
def group_link_params
params.require(:group_link).permit(:group_access, :expires_at)
end
-
- def check_feature_flag!
- render_404 unless Feature.enabled?(:share_group_with_group, default_enabled: true)
- end
end
diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb
index 44120fda17c..3dbf57285b0 100644
--- a/app/controllers/groups_controller.rb
+++ b/app/controllers/groups_controller.rb
@@ -31,6 +31,10 @@ class GroupsController < Groups::ApplicationController
push_frontend_feature_flag(:vue_issuables_list, @group)
end
+ before_action do
+ set_not_query_feature_flag(@group)
+ end
+
before_action :export_rate_limit, only: [:export, :download_export]
skip_cross_project_access_check :index, :new, :create, :edit, :update,
diff --git a/app/controllers/projects/alert_management_controller.rb b/app/controllers/projects/alert_management_controller.rb
index 4d0ad9fa02f..086aca3f6a3 100644
--- a/app/controllers/projects/alert_management_controller.rb
+++ b/app/controllers/projects/alert_management_controller.rb
@@ -3,11 +3,17 @@
class Projects::AlertManagementController < Projects::ApplicationController
before_action :ensure_list_feature_enabled, only: :index
before_action :ensure_detail_feature_enabled, only: :details
+ before_action :authorize_read_alert_management_alert!
+ before_action do
+ push_frontend_feature_flag(:alert_list_status_filtering_enabled)
+ push_frontend_feature_flag(:create_issue_from_alert_enabled)
+ end
def index
end
def details
+ @alert_id = params[:id]
end
private
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index da5401ffa00..d759983dafa 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -52,6 +52,7 @@ class Projects::IssuesController < Projects::ApplicationController
before_action only: :show do
push_frontend_feature_flag(:real_time_issue_sidebar, @project)
+ push_frontend_feature_flag(:confidential_notes, @project)
end
around_action :allow_gitaly_ref_name_caching, only: [:discussions]
@@ -85,11 +86,13 @@ class Projects::IssuesController < Projects::ApplicationController
)
build_params = issue_params.merge(
merge_request_to_resolve_discussions_of: params[:merge_request_to_resolve_discussions_of],
- discussion_to_resolve: params[:discussion_to_resolve]
+ discussion_to_resolve: params[:discussion_to_resolve],
+ confidential: !!Gitlab::Utils.to_boolean(params[:issue][:confidential])
)
service = Issues::BuildService.new(project, current_user, build_params)
@issue = @noteable = service.execute
+
@merge_request_to_resolve_discussions_of = service.merge_request_to_resolve_discussions_of
@discussion_to_resolve = service.discussions_to_resolve.first if params[:discussion_to_resolve]
diff --git a/app/controllers/projects/pages_domains_controller.rb b/app/controllers/projects/pages_domains_controller.rb
index cdf6f5ce828..cccf8fe4358 100644
--- a/app/controllers/projects/pages_domains_controller.rb
+++ b/app/controllers/projects/pages_domains_controller.rb
@@ -7,6 +7,8 @@ class Projects::PagesDomainsController < Projects::ApplicationController
before_action :authorize_update_pages!
before_action :domain, except: [:new, :create]
+ helper_method :domain_presenter
+
def show
end
@@ -27,7 +29,7 @@ class Projects::PagesDomainsController < Projects::ApplicationController
end
def retry_auto_ssl
- PagesDomains::RetryAcmeOrderService.new(@domain.pages_domain).execute
+ PagesDomains::RetryAcmeOrderService.new(@domain).execute
redirect_to project_pages_domain_path(@project, @domain)
end
@@ -88,6 +90,10 @@ class Projects::PagesDomainsController < Projects::ApplicationController
end
def domain
- @domain ||= @project.pages_domains.find_by_domain!(params[:id].to_s).present(current_user: current_user)
+ @domain ||= @project.pages_domains.find_by_domain!(params[:id].to_s)
+ end
+
+ def domain_presenter
+ @domain_presenter ||= domain.present(current_user: current_user)
end
end
diff --git a/app/controllers/projects/pipelines_controller.rb b/app/controllers/projects/pipelines_controller.rb
index c578925e04c..a7b52121d2b 100644
--- a/app/controllers/projects/pipelines_controller.rb
+++ b/app/controllers/projects/pipelines_controller.rb
@@ -24,9 +24,8 @@ class Projects::PipelinesController < Projects::ApplicationController
POLLING_INTERVAL = 10_000
def index
- @scope = params[:scope]
@pipelines = Ci::PipelinesFinder
- .new(project, current_user, scope: @scope)
+ .new(project, current_user, index_params)
.execute
.page(params[:page])
.per(30)
@@ -256,7 +255,7 @@ class Projects::PipelinesController < Projects::ApplicationController
end
def limited_pipelines_count(project, scope = nil)
- finder = Ci::PipelinesFinder.new(project, current_user, scope: scope)
+ finder = Ci::PipelinesFinder.new(project, current_user, index_params.merge(scope: scope))
view_context.limited_counter_with_delimiter(finder.execute)
end
@@ -268,6 +267,10 @@ class Projects::PipelinesController < Projects::ApplicationController
end
end
end
+
+ def index_params
+ params.permit(:scope, :username)
+ end
end
Projects::PipelinesController.prepend_if_ee('EE::Projects::PipelinesController')
diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb
index a6c5a6d8526..e96d0c4b1c4 100644
--- a/app/controllers/registrations_controller.rb
+++ b/app/controllers/registrations_controller.rb
@@ -8,7 +8,7 @@ class RegistrationsController < Devise::RegistrationsController
layout :choose_layout
- skip_before_action :required_signup_info, only: [:welcome, :update_registration]
+ skip_before_action :required_signup_info, :check_two_factor_requirement, only: [:welcome, :update_registration]
prepend_before_action :check_captcha, only: :create
before_action :whitelist_query_limiting, only: [:destroy]
before_action :ensure_terms_accepted,
diff --git a/app/finders/alert_management/alerts_finder.rb b/app/finders/alert_management/alerts_finder.rb
index b2961329821..a48dadc7fdb 100644
--- a/app/finders/alert_management/alerts_finder.rb
+++ b/app/finders/alert_management/alerts_finder.rb
@@ -12,7 +12,8 @@ module AlertManagement
return AlertManagement::Alert.none unless authorized?
collection = project.alert_management_alerts
- by_iid(collection)
+ collection = by_iid(collection)
+ sort(collection)
end
private
@@ -25,8 +26,12 @@ module AlertManagement
collection.for_iid(params[:iid])
end
+ def sort(collection)
+ params[:sort] ? collection.sort_by_attribute(params[:sort]) : collection
+ end
+
def authorized?
- Ability.allowed?(current_user, :read_alert_management_alerts, project)
+ Ability.allowed?(current_user, :read_alert_management_alert, project)
end
end
end
diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb
index 5687b375cf0..7014f2ec205 100644
--- a/app/finders/issuable_finder.rb
+++ b/app/finders/issuable_finder.rb
@@ -40,7 +40,7 @@ class IssuableFinder
requires_cross_project_access unless: -> { params.project? }
- NEGATABLE_PARAMS_HELPER_KEYS = %i[include_subgroups in].freeze
+ NEGATABLE_PARAMS_HELPER_KEYS = %i[project_id scope status include_subgroups].freeze
attr_accessor :current_user, :params
@@ -68,7 +68,7 @@ class IssuableFinder
# This should not be used in controller strong params!
def negatable_scalar_params
- @negatable_scalar_params ||= scalar_params + %i[project_id group_id]
+ @negatable_scalar_params ||= scalar_params - %i[search in]
end
# This should not be used in controller strong params!
@@ -100,7 +100,7 @@ class IssuableFinder
items = filter_items(items)
# Let's see if we have to negate anything
- items = by_negation(items)
+ items = filter_negated_items(items)
# This has to be last as we use a CTE as an optimization fence
# for counts by passing the force_cte param and enabling the
@@ -132,6 +132,22 @@ class IssuableFinder
by_my_reaction_emoji(items)
end
+ # Negates all params found in `negatable_params`
+ def filter_negated_items(items)
+ return items unless Feature.enabled?(:not_issuable_queries, params.group || params.project, default_enabled: true)
+
+ # API endpoints send in `nil` values so we test if there are any non-nil
+ return items unless not_params.present? && not_params.values.any?
+
+ items = by_negated_author(items)
+ items = by_negated_assignee(items)
+ items = by_negated_label(items)
+ items = by_negated_milestone(items)
+ items = by_negated_release(items)
+ items = by_negated_my_reaction_emoji(items)
+ by_negated_iids(items)
+ end
+
def row_count
Gitlab::IssuablesCountForState.new(self).for_state_or_opened(params[:state])
end
@@ -189,6 +205,21 @@ class IssuableFinder
private
+ def not_params
+ strong_memoize(:not_params) do
+ params_class.new(params[:not].dup, current_user, klass).tap do |not_params|
+ next unless not_params.present?
+
+ # These are "helper" params that modify the results, like :in and :search. They usually come in at the top-level
+ # params, but if they do come in inside the `:not` params, the inner ones should take precedence.
+ not_helpers = params.slice(*NEGATABLE_PARAMS_HELPER_KEYS).merge(params[:not].slice(*NEGATABLE_PARAMS_HELPER_KEYS))
+ not_helpers.each do |key, value|
+ not_params[key] = value unless not_params[key].present?
+ end
+ end
+ end
+ end
+
def force_cte?
!!params[:force_cte]
end
@@ -215,33 +246,6 @@ class IssuableFinder
klass.available_states.key(value)
end
- # Negates all params found in `negatable_params`
- # rubocop: disable CodeReuse/ActiveRecord
- def by_negation(items)
- not_params = params[:not].dup
- # API endpoints send in `nil` values so we test if there are any non-nil
- return items unless not_params.present? && not_params.values.any?
-
- not_params.keep_if { |_k, v| v.present? }.each do |(key, value)|
- # These aren't negatable params themselves, but rather help other searches, so we skip them.
- # They will be added into all the NOT searches.
- next if NEGATABLE_PARAMS_HELPER_KEYS.include?(key.to_sym)
- next unless self.class.negatable_params.include?(key.to_sym)
-
- # These are "helper" params that are required inside the NOT to get the right results. They usually come in
- # at the top-level params, but if they do come in inside the `:not` params, they should take precedence.
- not_helpers = params.slice(*NEGATABLE_PARAMS_HELPER_KEYS).merge(params[:not].slice(*NEGATABLE_PARAMS_HELPER_KEYS))
- not_param = { key => value }.with_indifferent_access.merge(not_helpers).merge(not_query: true)
-
- items_to_negate = self.class.new(current_user, not_param).execute
-
- items = items.where.not(id: items_to_negate)
- end
-
- items
- end
- # rubocop: enable CodeReuse/ActiveRecord
-
# rubocop: disable CodeReuse/ActiveRecord
def by_scope(items)
return items.none if params.current_user_related? && !current_user
@@ -326,6 +330,12 @@ class IssuableFinder
# rubocop: enable CodeReuse/ActiveRecord
# rubocop: disable CodeReuse/ActiveRecord
+ def by_negated_iids(items)
+ not_params[:iids].present? ? items.where.not(iid: not_params[:iids]) : items
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+
+ # rubocop: disable CodeReuse/ActiveRecord
def sort(items)
# Ensure we always have an explicit sort order (instead of inheriting
# multiple orders when combining ActiveRecord::Relation objects).
@@ -347,9 +357,19 @@ class IssuableFinder
end
# rubocop: enable CodeReuse/ActiveRecord
- def by_assignee(items)
- return items.assigned_to(params.assignees) if not_query? && params.assignees.any?
+ # rubocop: disable CodeReuse/ActiveRecord
+ def by_negated_author(items)
+ if not_params.author
+ items.where.not(author_id: not_params.author.id)
+ elsif not_params.author_id? || not_params.author_username? # author not found
+ items.none
+ else
+ items
+ end
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+ def by_assignee(items)
if params.filter_by_no_assignee?
items.unassigned
elsif params.filter_by_any_assignee?
@@ -363,6 +383,17 @@ class IssuableFinder
end
end
+ def by_negated_assignee(items)
+ # We want CE users to be able to say "Issues not assigned to either PersonA nor PersonB"
+ if not_params.assignees.present?
+ items.not_assigned_to(not_params.assignees)
+ elsif not_params.assignee_id? || not_params.assignee_username? # assignee not found
+ items.none
+ else
+ items
+ end
+ end
+
# rubocop: disable CodeReuse/ActiveRecord
def by_milestone(items)
return items unless params.milestones?
@@ -382,6 +413,20 @@ class IssuableFinder
end
# rubocop: enable CodeReuse/ActiveRecord
+ # rubocop: disable CodeReuse/ActiveRecord
+ def by_negated_milestone(items)
+ return items unless not_params.milestones?
+
+ if not_params.filter_by_upcoming_milestone?
+ items.joins(:milestone).merge(Milestone.not_upcoming)
+ elsif not_params.filter_by_started_milestone?
+ items.joins(:milestone).merge(Milestone.not_started)
+ else
+ items.without_particular_milestone(not_params[:milestone_title])
+ end
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+
def by_release(items)
return items unless params.releases?
@@ -394,6 +439,12 @@ class IssuableFinder
end
end
+ def by_negated_release(items)
+ return items unless not_params.releases?
+
+ items.without_particular_release(not_params[:release_tag], not_params[:project_id])
+ end
+
def by_label(items)
return items unless params.labels?
@@ -402,10 +453,16 @@ class IssuableFinder
elsif params.filter_by_any_label?
items.any_label
else
- items.with_label(params.label_names, params[:sort], not_query: not_query?)
+ items.with_label(params.label_names, params[:sort])
end
end
+ def by_negated_label(items)
+ return items unless not_params.labels?
+
+ items.without_particular_labels(not_params.label_names)
+ end
+
def by_my_reaction_emoji(items)
return items unless params[:my_reaction_emoji] && current_user
@@ -418,11 +475,13 @@ class IssuableFinder
end
end
- def by_non_archived(items)
- params[:non_archived].present? ? items.non_archived : items
+ def by_negated_my_reaction_emoji(items)
+ return items unless not_params[:my_reaction_emoji] && current_user
+
+ items.not_awarded(current_user, not_params[:my_reaction_emoji])
end
- def not_query?
- !!params[:not_query]
+ def by_non_archived(items)
+ params[:non_archived].present? ? items.non_archived : items
end
end
diff --git a/app/finders/issuable_finder/params.rb b/app/finders/issuable_finder/params.rb
index 120ef364368..adf9f1ca9d8 100644
--- a/app/finders/issuable_finder/params.rb
+++ b/app/finders/issuable_finder/params.rb
@@ -132,6 +132,8 @@ class IssuableFinder
def project
strong_memoize(:project) do
+ next nil unless params[:project_id].present?
+
project = Project.find(params[:project_id])
project = nil unless Ability.allowed?(current_user, :"read_#{klass.to_ability_name}", project)
diff --git a/app/finders/issues_finder/params.rb b/app/finders/issues_finder/params.rb
index aaeead7c709..cd92b79265d 100644
--- a/app/finders/issues_finder/params.rb
+++ b/app/finders/issues_finder/params.rb
@@ -50,4 +50,4 @@ class IssuesFinder
end
end
-IssuableFinder::Params.prepend_if_ee('EE::IssuesFinder::Params')
+IssuesFinder::Params.prepend_if_ee('EE::IssuesFinder::Params')
diff --git a/app/finders/releases_finder.rb b/app/finders/releases_finder.rb
index e58a90922a5..6a754fdb5a1 100644
--- a/app/finders/releases_finder.rb
+++ b/app/finders/releases_finder.rb
@@ -1,17 +1,31 @@
# frozen_string_literal: true
class ReleasesFinder
- def initialize(project, current_user = nil)
+ attr_reader :project, :current_user, :params
+
+ def initialize(project, current_user = nil, params = {})
@project = project
@current_user = current_user
+ @params = params
end
def execute(preload: true)
- return Release.none unless Ability.allowed?(@current_user, :read_release, @project)
+ return Release.none unless Ability.allowed?(current_user, :read_release, project)
# See https://gitlab.com/gitlab-org/gitlab/-/issues/211988
- releases = @project.releases.where.not(tag: nil) # rubocop:disable CodeReuse/ActiveRecord
+ releases = project.releases.where.not(tag: nil) # rubocop:disable CodeReuse/ActiveRecord
+ releases = by_tag(releases)
releases = releases.preloaded if preload
releases.sorted
end
+
+ private
+
+ # rubocop: disable CodeReuse/ActiveRecord
+ def by_tag(releases)
+ return releases unless params[:tag].present?
+
+ releases.where(tag: params[:tag])
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
end
diff --git a/app/graphql/mutations/alert_management/base.rb b/app/graphql/mutations/alert_management/base.rb
index eb0d2304ba3..37103c63a3d 100644
--- a/app/graphql/mutations/alert_management/base.rb
+++ b/app/graphql/mutations/alert_management/base.rb
@@ -18,7 +18,7 @@ module Mutations
null: true,
description: "The alert after mutation"
- authorize :update_alert_management_alerts
+ authorize :update_alert_management_alert
private
diff --git a/app/graphql/resolvers/alert_management_alert_resolver.rb b/app/graphql/resolvers/alert_management_alert_resolver.rb
index 77a20763c58..6c8f64cc62b 100644
--- a/app/graphql/resolvers/alert_management_alert_resolver.rb
+++ b/app/graphql/resolvers/alert_management_alert_resolver.rb
@@ -6,6 +6,10 @@ module Resolvers
required: false,
description: 'IID of the alert. For example, "1"'
+ argument :sort, Types::AlertManagement::AlertSortEnum,
+ description: 'Sort alerts by this criteria',
+ required: false
+
type Types::AlertManagement::AlertType, null: true
def resolve(**args)
diff --git a/app/graphql/resolvers/namespace_projects_resolver.rb b/app/graphql/resolvers/namespace_projects_resolver.rb
index f5b60f91be6..e841132eea7 100644
--- a/app/graphql/resolvers/namespace_projects_resolver.rb
+++ b/app/graphql/resolvers/namespace_projects_resolver.rb
@@ -29,3 +29,5 @@ module Resolvers
end
end
end
+
+Resolvers::NamespaceProjectsResolver.prepend_if_ee('::EE::Resolvers::NamespaceProjectsResolver')
diff --git a/app/graphql/resolvers/projects_resolver.rb b/app/graphql/resolvers/projects_resolver.rb
new file mode 100644
index 00000000000..068546cd39f
--- /dev/null
+++ b/app/graphql/resolvers/projects_resolver.rb
@@ -0,0 +1,31 @@
+# frozen_string_literal: true
+
+module Resolvers
+ class ProjectsResolver < BaseResolver
+ type Types::ProjectType, null: true
+
+ argument :membership, GraphQL::BOOLEAN_TYPE,
+ required: false,
+ description: 'Limit projects that the current user is a member of'
+
+ argument :search, GraphQL::STRING_TYPE,
+ required: false,
+ description: 'Search criteria'
+
+ def resolve(**args)
+ ProjectsFinder
+ .new(current_user: current_user, params: project_finder_params(args))
+ .execute
+ end
+
+ private
+
+ def project_finder_params(params)
+ {
+ without_deleted: true,
+ non_public: params[:membership],
+ search: params[:search]
+ }.compact
+ end
+ end
+end
diff --git a/app/graphql/resolvers/release_resolver.rb b/app/graphql/resolvers/release_resolver.rb
new file mode 100644
index 00000000000..9bae8b8cd13
--- /dev/null
+++ b/app/graphql/resolvers/release_resolver.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+module Resolvers
+ class ReleaseResolver < BaseResolver
+ type Types::ReleaseType, null: true
+
+ argument :tag_name, GraphQL::STRING_TYPE,
+ required: true,
+ description: 'The name of the tag associated to the release'
+
+ alias_method :project, :object
+
+ def self.single
+ self
+ end
+
+ def resolve(tag_name:)
+ ReleasesFinder.new(
+ project,
+ current_user,
+ { tag: tag_name }
+ ).execute.first
+ end
+ end
+end
diff --git a/app/graphql/resolvers/releases_resolver.rb b/app/graphql/resolvers/releases_resolver.rb
new file mode 100644
index 00000000000..b2afbb92684
--- /dev/null
+++ b/app/graphql/resolvers/releases_resolver.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+module Resolvers
+ class ReleasesResolver < BaseResolver
+ type Types::ReleaseType.connection_type, null: true
+
+ alias_method :project, :object
+
+ # This resolver has a custom singular resolver
+ def self.single
+ Resolvers::ReleaseResolver
+ end
+
+ def resolve(**args)
+ ReleasesFinder.new(
+ project,
+ current_user
+ ).execute
+ end
+ end
+end
diff --git a/app/graphql/types/alert_management/alert_sort_enum.rb b/app/graphql/types/alert_management/alert_sort_enum.rb
new file mode 100644
index 00000000000..76ef43d9dcf
--- /dev/null
+++ b/app/graphql/types/alert_management/alert_sort_enum.rb
@@ -0,0 +1,25 @@
+# frozen_string_literal: true
+
+module Types
+ module AlertManagement
+ class AlertSortEnum < SortEnum
+ graphql_name 'AlertManagementAlertSort'
+ description 'Values for sorting alerts'
+
+ value 'START_TIME_ASC', 'Start time by ascending order', value: :start_time_asc
+ value 'START_TIME_DESC', 'Start time by descending order', value: :start_time_desc
+ value 'END_TIME_ASC', 'End time by ascending order', value: :end_time_asc
+ value 'END_TIME_DESC', 'End time by descending order', value: :end_time_desc
+ value 'CREATED_TIME_ASC', 'Created time by ascending order', value: :created_at_asc
+ value 'CREATED_TIME_DESC', 'Created time by ascending order', value: :created_at_desc
+ value 'UPDATED_TIME_ASC', 'Created time by ascending order', value: :updated_at_desc
+ value 'UPDATED_TIME_DESC', 'Created time by ascending order', value: :updated_at_desc
+ value 'EVENTS_COUNT_ASC', 'Events count by ascending order', value: :events_count_asc
+ value 'EVENTS_COUNT_DESC', 'Events count by descending order', value: :events_count_desc
+ value 'SEVERITY_ASC', 'Severity by ascending order', value: :severity_asc
+ value 'SEVERITY_DESC', 'Severity by descending order', value: :severity_desc
+ value 'STATUS_ASC', 'Status by ascending order', value: :status_asc
+ value 'STATUS_DESC', 'Status by descending order', value: :status_desc
+ end
+ end
+end
diff --git a/app/graphql/types/alert_management/alert_type.rb b/app/graphql/types/alert_management/alert_type.rb
index 69fc2718f1e..c0283e6d476 100644
--- a/app/graphql/types/alert_management/alert_type.rb
+++ b/app/graphql/types/alert_management/alert_type.rb
@@ -6,7 +6,7 @@ module Types
graphql_name 'AlertManagementAlert'
description "Describes an alert from the project's Alert Management"
- authorize :read_alert_management_alerts
+ authorize :read_alert_management_alert
field :iid,
GraphQL::ID_TYPE,
diff --git a/app/graphql/types/alert_management/status_enum.rb b/app/graphql/types/alert_management/status_enum.rb
index f55e954d5d4..4ff6c4a9505 100644
--- a/app/graphql/types/alert_management/status_enum.rb
+++ b/app/graphql/types/alert_management/status_enum.rb
@@ -6,8 +6,8 @@ module Types
graphql_name 'AlertManagementStatus'
description 'Alert status values'
- ::AlertManagement::Alert.statuses.keys.each do |status|
- value status.upcase, value: status, description: "#{status.titleize} status"
+ ::AlertManagement::Alert::STATUSES.each do |name, value|
+ value name.upcase, value: value, description: "#{name.to_s.titleize} status"
end
end
end
diff --git a/app/graphql/types/project_type.rb b/app/graphql/types/project_type.rb
index ebde6c4c98d..e7a83446610 100644
--- a/app/graphql/types/project_type.rb
+++ b/app/graphql/types/project_type.rb
@@ -217,6 +217,20 @@ module Types
null: true,
description: 'A single Alert Management alert of the project',
resolver: Resolvers::AlertManagementAlertResolver.single
+
+ field :releases,
+ Types::ReleaseType.connection_type,
+ null: true,
+ description: 'Releases of the project',
+ resolver: Resolvers::ReleasesResolver,
+ feature_flag: :graphql_release_data
+
+ field :release,
+ Types::ReleaseType,
+ null: true,
+ description: 'A single release of the project',
+ resolver: Resolvers::ReleasesResolver.single,
+ feature_flag: :graphql_release_data
end
end
diff --git a/app/graphql/types/query_type.rb b/app/graphql/types/query_type.rb
index e8f6eeff3e9..e0479c8227b 100644
--- a/app/graphql/types/query_type.rb
+++ b/app/graphql/types/query_type.rb
@@ -9,6 +9,11 @@ module Types
resolver: Resolvers::ProjectResolver,
description: "Find a project"
+ field :projects, Types::ProjectType.connection_type,
+ null: true,
+ resolver: Resolvers::ProjectsResolver,
+ description: "Find projects visible to the current user"
+
field :group, Types::GroupType,
null: true,
resolver: Resolvers::GroupResolver,
diff --git a/app/graphql/types/release_type.rb b/app/graphql/types/release_type.rb
new file mode 100644
index 00000000000..26b47c191ca
--- /dev/null
+++ b/app/graphql/types/release_type.rb
@@ -0,0 +1,49 @@
+# frozen_string_literal: true
+
+module Types
+ class ReleaseType < BaseObject
+ graphql_name 'Release'
+
+ authorize :read_release
+
+ alias_method :release, :object
+
+ present_using ReleasePresenter
+
+ field :tag_name, GraphQL::STRING_TYPE, null: false, method: :tag,
+ description: 'Name of the tag associated with the release'
+ field :tag_path, GraphQL::STRING_TYPE, null: true,
+ description: 'Relative web path to the tag associated with the release'
+ field :description, GraphQL::STRING_TYPE, null: true,
+ description: 'Description (also known as "release notes") of the release'
+ markdown_field :description_html, null: true
+ field :name, GraphQL::STRING_TYPE, null: true,
+ description: 'Name of the release'
+ field :evidence_sha, GraphQL::STRING_TYPE, null: true,
+ description: "SHA of the release's evidence"
+ field :created_at, Types::TimeType, null: true,
+ description: 'Timestamp of when the release was created'
+ field :released_at, Types::TimeType, null: true,
+ description: 'Timestamp of when the release was released'
+ field :milestones, Types::MilestoneType.connection_type, null: true,
+ description: 'Milestones associated to the release'
+
+ field :author, Types::UserType, null: true,
+ description: 'User that created the release'
+
+ def author
+ Gitlab::Graphql::Loaders::BatchModelLoader.new(User, release.author_id).find
+ end
+
+ field :commit, Types::CommitType, null: true,
+ complexity: 10, calls_gitaly: true,
+ description: 'The commit associated with the release',
+ authorize: :reporter_access
+
+ def commit
+ return if release.sha.nil?
+
+ release.project.commit_by(oid: release.sha)
+ end
+ end
+end
diff --git a/app/graphql/types/snippet_type.rb b/app/graphql/types/snippet_type.rb
index 4ebdbd5766c..b23c4f71ffa 100644
--- a/app/graphql/types/snippet_type.rb
+++ b/app/graphql/types/snippet_type.rb
@@ -14,7 +14,7 @@ module Types
expose_permissions Types::PermissionTypes::Snippet
field :id, GraphQL::ID_TYPE,
- description: 'Id of the snippet',
+ description: 'ID of the snippet',
null: false
field :title, GraphQL::STRING_TYPE,
diff --git a/app/graphql/types/todo_type.rb b/app/graphql/types/todo_type.rb
index 5ce5093c55e..08e7fabeb74 100644
--- a/app/graphql/types/todo_type.rb
+++ b/app/graphql/types/todo_type.rb
@@ -10,7 +10,7 @@ module Types
authorize :read_todo
field :id, GraphQL::ID_TYPE,
- description: 'Id of the todo',
+ description: 'ID of the todo',
null: false
field :project, Types::ProjectType,
diff --git a/app/helpers/projects/alert_management_helper.rb b/app/helpers/projects/alert_management_helper.rb
index 54184d99294..af86ef715c2 100644
--- a/app/helpers/projects/alert_management_helper.rb
+++ b/app/helpers/projects/alert_management_helper.rb
@@ -4,10 +4,18 @@ module Projects::AlertManagementHelper
def alert_management_data(current_user, project)
{
'project-path' => project.full_path,
- 'enable-alert-management-path' => project_settings_operations_path(project),
+ 'enable-alert-management-path' => edit_project_service_path(project, AlertsService),
'empty-alert-svg-path' => image_path('illustrations/alert-management-empty-state.svg'),
- 'user-can-enable-alert-management' => 'false',
- 'alert-management-enabled' => Feature.enabled?(:alert_management_minimal, project).to_s
+ 'user-can-enable-alert-management' => can?(current_user, :admin_project, project).to_s,
+ 'alert-management-enabled' => (!!project.alerts_service_activated?).to_s
+ }
+ end
+
+ def alert_management_detail_data(project, alert_id)
+ {
+ 'alert-id' => alert_id,
+ 'project-path' => project.full_path,
+ 'new-issue-path' => new_project_issue_path(project)
}
end
end
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 3fb0e600465..2151d1a85d7 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -448,7 +448,7 @@ module ProjectsHelper
clusters: :read_cluster,
serverless: :read_cluster,
error_tracking: :read_sentry_issue,
- alert_management: :read_alert_management,
+ alert_management: :read_alert_management_alert,
labels: :read_label,
issues: :read_issue,
project_members: :read_project_member,
diff --git a/app/helpers/releases_helper.rb b/app/helpers/releases_helper.rb
index af51427dc91..1238567a4ed 100644
--- a/app/helpers/releases_helper.rb
+++ b/app/helpers/releases_helper.rb
@@ -30,7 +30,9 @@ module ReleasesHelper
markdown_docs_path: help_page_path('user/markdown'),
releases_page_path: project_releases_path(@project, anchor: @release.tag),
update_release_api_docs_path: help_page_path('api/releases/index.md', anchor: 'update-a-release'),
- release_assets_docs_path: help_page(anchor: 'release-assets')
+ release_assets_docs_path: help_page(anchor: 'release-assets'),
+ manage_milestones_path: project_milestones_path(@project),
+ new_milestone_path: new_project_milestone_url(@project)
}
end
end
diff --git a/app/helpers/services_helper.rb b/app/helpers/services_helper.rb
index ec60c62794a..dcdf6bbd3da 100644
--- a/app/helpers/services_helper.rb
+++ b/app/helpers/services_helper.rb
@@ -80,7 +80,7 @@ module ServicesHelper
def scoped_edit_integration_path(integration)
if @project.present?
- edit_project_settings_integration_path(@project, integration)
+ edit_project_service_path(@project, integration)
elsif @group.present?
edit_group_settings_integration_path(@group, integration)
else
diff --git a/app/helpers/x509_helper.rb b/app/helpers/x509_helper.rb
index c330b599d74..009635fb629 100644
--- a/app/helpers/x509_helper.rb
+++ b/app/helpers/x509_helper.rb
@@ -16,4 +16,8 @@ module X509Helper
rescue
{}
end
+
+ def x509_signature?(sig)
+ sig.is_a?(X509CommitSignature) || sig.is_a?(Gitlab::X509::Signature)
+ end
end
diff --git a/app/models/alert_management/alert.rb b/app/models/alert_management/alert.rb
index 1263423e1c4..6bbdc1645ca 100644
--- a/app/models/alert_management/alert.rb
+++ b/app/models/alert_management/alert.rb
@@ -4,6 +4,21 @@ module AlertManagement
class Alert < ApplicationRecord
include AtomicInternalId
include ShaAttribute
+ include Sortable
+
+ STATUSES = {
+ triggered: 0,
+ acknowledged: 1,
+ resolved: 2,
+ ignored: 3
+ }.freeze
+
+ STATUS_EVENTS = {
+ triggered: :trigger,
+ acknowledged: :acknowledge,
+ resolved: :resolve,
+ ignored: :ignore
+ }.freeze
belongs_to :project
belongs_to :issue, optional: true
@@ -36,20 +51,70 @@ module AlertManagement
unknown: 5
}
- enum status: {
- triggered: 0,
- acknowledged: 1,
- resolved: 2,
- ignored: 3
- }
+ state_machine :status, initial: :triggered do
+ state :triggered, value: STATUSES[:triggered]
+
+ state :acknowledged, value: STATUSES[:acknowledged]
+
+ state :resolved, value: STATUSES[:resolved] do
+ validates :ended_at, presence: true
+ end
+
+ state :ignored, value: STATUSES[:ignored]
+
+ state :triggered, :acknowledged, :ignored do
+ validates :ended_at, absence: true
+ end
+
+ event :trigger do
+ transition any => :triggered
+ end
+
+ event :acknowledge do
+ transition any => :acknowledged
+ end
+
+ event :resolve do
+ transition any => :resolved
+ end
+
+ event :ignore do
+ transition any => :ignored
+ end
+
+ before_transition to: [:triggered, :acknowledged, :ignored] do |alert, _transition|
+ alert.ended_at = nil
+ end
+
+ before_transition to: :resolved do |alert, transition|
+ ended_at = transition.args.first
+ alert.ended_at = ended_at || Time.current
+ end
+ end
scope :for_iid, -> (iid) { where(iid: iid) }
+ scope :for_fingerprint, -> (project, fingerprint) { where(project: project, fingerprint: fingerprint) }
+
+ scope :order_start_time, -> (sort_order) { order(started_at: sort_order) }
+ scope :order_end_time, -> (sort_order) { order(ended_at: sort_order) }
+ scope :order_events_count, -> (sort_order) { order(events: sort_order) }
+ scope :order_severity, -> (sort_order) { order(severity: sort_order) }
+ scope :order_status, -> (sort_order) { order(status: sort_order) }
- def fingerprint=(value)
- if value.blank?
- super(nil)
+ def self.sort_by_attribute(method)
+ case method.to_s
+ when 'start_time_asc' then order_start_time(:asc)
+ when 'start_time_desc' then order_start_time(:desc)
+ when 'end_time_asc' then order_end_time(:asc)
+ when 'end_time_desc' then order_end_time(:desc)
+ when 'events_count_asc' then order_events_count(:asc)
+ when 'events_count_desc' then order_events_count(:desc)
+ when 'severity_asc' then order_severity(:asc)
+ when 'severity_desc' then order_severity(:desc)
+ when 'status_asc' then order_status(:asc)
+ when 'status_desc' then order_status(:desc)
else
- super(Digest::SHA1.hexdigest(value.to_s))
+ order_by(method)
end
end
diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb
index f9481db2268..d13f0a1a000 100644
--- a/app/models/application_setting.rb
+++ b/app/models/application_setting.rb
@@ -421,7 +421,7 @@ class ApplicationSetting < ApplicationRecord
# can cause a significant amount of load on Redis, let's cache it in
# memory.
def self.cache_backend
- Gitlab::ThreadMemoryCache.cache_backend
+ Gitlab::ProcessMemoryCache.cache_backend
end
def recaptcha_or_login_protection_enabled
diff --git a/app/models/application_setting_implementation.rb b/app/models/application_setting_implementation.rb
index c96f086684f..1276ef4ed8c 100644
--- a/app/models/application_setting_implementation.rb
+++ b/app/models/application_setting_implementation.rb
@@ -43,7 +43,10 @@ module ApplicationSettingImplementation
authorized_keys_enabled: true, # TODO default to false if the instance is configured to use AuthorizedKeysCommand
commit_email_hostname: default_commit_email_hostname,
container_expiration_policies_enable_historic_entries: false,
+ container_registry_features: [],
container_registry_token_expire_delay: 5,
+ container_registry_vendor: '',
+ container_registry_version: '',
default_artifacts_expire_in: '30 days',
default_branch_protection: Settings.gitlab['default_branch_protection'],
default_ci_config_path: nil,
diff --git a/app/models/ci/freeze_period.rb b/app/models/ci/freeze_period.rb
new file mode 100644
index 00000000000..3875ab5d41b
--- /dev/null
+++ b/app/models/ci/freeze_period.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+module Ci
+ class FreezePeriod < ApplicationRecord
+ include StripAttribute
+ self.table_name = 'ci_freeze_periods'
+
+ belongs_to :project, inverse_of: :freeze_periods
+
+ strip_attributes :freeze_start, :freeze_end
+
+ validates :freeze_start, cron: true, presence: true
+ validates :freeze_end, cron: true, presence: true
+ validates :cron_timezone, cron_freeze_period_timezone: true, presence: true
+ end
+end
diff --git a/app/models/ci/pipeline.rb b/app/models/ci/pipeline.rb
index e2ef9e3dd5f..214ff2d61d9 100644
--- a/app/models/ci/pipeline.rb
+++ b/app/models/ci/pipeline.rb
@@ -115,8 +115,11 @@ module Ci
state_machine :status, initial: :created do
event :enqueue do
- transition [:created, :waiting_for_resource, :preparing, :skipped, :scheduled] => :pending
+ transition [:created, :manual, :waiting_for_resource, :preparing, :skipped, :scheduled] => :pending
transition [:success, :failed, :canceled] => :running
+
+ # this is needed to ensure tests to be covered
+ transition [:running] => :running
end
event :request_resource do
@@ -683,6 +686,8 @@ module Ci
variables.concat(merge_request.predefined_variables)
end
+ variables.append(key: 'CI_KUBERNETES_ACTIVE', value: 'true') if has_kubernetes_active?
+
if external_pull_request_event? && external_pull_request
variables.concat(external_pull_request.predefined_variables)
end
@@ -811,6 +816,14 @@ module Ci
end
end
+ def accessibility_reports
+ Gitlab::Ci::Reports::AccessibilityReports.new.tap do |accessibility_reports|
+ builds.latest.with_reports(Ci::JobArtifact.accessibility_reports).each do |build|
+ build.collect_accessibility_reports!(accessibility_reports)
+ end
+ end
+ end
+
def coverage_reports
Gitlab::Ci::Reports::CoverageReports.new.tap do |coverage_reports|
builds.latest.with_reports(Ci::JobArtifact.coverage_reports).each do |build|
diff --git a/app/models/ci/stage.rb b/app/models/ci/stage.rb
index 93bd42f8734..d3325a47053 100644
--- a/app/models/ci/stage.rb
+++ b/app/models/ci/stage.rb
@@ -42,8 +42,7 @@ module Ci
state_machine :status, initial: :created do
event :enqueue do
- transition [:created, :waiting_for_resource, :preparing] => :pending
- transition [:success, :failed, :canceled, :skipped] => :running
+ transition any - [:pending] => :pending
end
event :request_resource do
diff --git a/app/models/clusters/applications/knative.rb b/app/models/clusters/applications/knative.rb
index 0de75a71cca..3047da12dd9 100644
--- a/app/models/clusters/applications/knative.rb
+++ b/app/models/clusters/applications/knative.rb
@@ -5,7 +5,7 @@ module Clusters
class Knative < ApplicationRecord
VERSION = '0.9.0'
REPOSITORY = 'https://charts.gitlab.io'
- METRICS_CONFIG = 'https://gitlab.com/gitlab-org/charts/knative/-/blob/v0.9.0/vendor/istio-metrics.yml'
+ METRICS_CONFIG = 'https://gitlab.com/gitlab-org/charts/knative/-/raw/v0.9.0/vendor/istio-metrics.yml'
FETCH_IP_ADDRESS_DELAY = 30.seconds
API_GROUPS_PATH = 'config/knative/api_groups.yml'
diff --git a/app/models/clusters/applications/runner.rb b/app/models/clusters/applications/runner.rb
index 7d67e258991..a861126908f 100644
--- a/app/models/clusters/applications/runner.rb
+++ b/app/models/clusters/applications/runner.rb
@@ -3,7 +3,7 @@
module Clusters
module Applications
class Runner < ApplicationRecord
- VERSION = '0.15.0'
+ VERSION = '0.16.1'
self.table_name = 'clusters_applications_runners'
diff --git a/app/models/concerns/awardable.rb b/app/models/concerns/awardable.rb
index 0f2a389f0a3..f1b2bebfb47 100644
--- a/app/models/concerns/awardable.rb
+++ b/app/models/concerns/awardable.rb
@@ -14,32 +14,29 @@ module Awardable
class_methods do
def awarded(user, name = nil)
- sql = <<~EOL
- EXISTS (
- SELECT TRUE
- FROM award_emoji
- WHERE user_id = :user_id AND
- #{"name = :name AND" if name.present?}
- awardable_type = :awardable_type AND
- awardable_id = #{self.arel_table.name}.id
- )
- EOL
+ award_emoji_table = Arel::Table.new('award_emoji')
+ inner_query = award_emoji_table
+ .project('true')
+ .where(award_emoji_table[:user_id].eq(user.id))
+ .where(award_emoji_table[:awardable_type].eq(self.name))
+ .where(award_emoji_table[:awardable_id].eq(self.arel_table[:id]))
+
+ inner_query = inner_query.where(award_emoji_table[:name].eq(name)) if name.present?
- where(sql, user_id: user.id, name: name, awardable_type: self.name)
+ where(inner_query.exists)
end
- def not_awarded(user)
- sql = <<~EOL
- NOT EXISTS (
- SELECT TRUE
- FROM award_emoji
- WHERE user_id = :user_id AND
- awardable_type = :awardable_type AND
- awardable_id = #{self.arel_table.name}.id
- )
- EOL
+ def not_awarded(user, name = nil)
+ award_emoji_table = Arel::Table.new('award_emoji')
+ inner_query = award_emoji_table
+ .project('true')
+ .where(award_emoji_table[:user_id].eq(user.id))
+ .where(award_emoji_table[:awardable_type].eq(self.name))
+ .where(award_emoji_table[:awardable_id].eq(self.arel_table[:id]))
+
+ inner_query = inner_query.where(award_emoji_table[:name].eq(name)) if name.present?
- where(sql, user_id: user.id, awardable_type: self.name)
+ where(inner_query.exists.not)
end
def order_upvotes_desc
diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb
index 37f2209b9d2..a1b14dca4ac 100644
--- a/app/models/concerns/issuable.rb
+++ b/app/models/concerns/issuable.rb
@@ -115,9 +115,31 @@ module Issuable
end
# rubocop:enable GitlabSecurity/SqlInjection
+ scope :not_assigned_to, ->(users) do
+ assignees_table = Arel::Table.new("#{to_ability_name}_assignees")
+ sql = assignees_table.project('true')
+ .where(assignees_table[:user_id].in(users))
+ .where(Arel::Nodes::SqlLiteral.new("#{to_ability_name}_id = #{to_ability_name}s.id"))
+ where(sql.exists.not)
+ end
+
+ scope :without_particular_labels, ->(label_names) do
+ labels_table = Label.arel_table
+ label_links_table = LabelLink.arel_table
+ issuables_table = klass.arel_table
+ inner_query = label_links_table.project('true')
+ .join(labels_table, Arel::Nodes::InnerJoin).on(labels_table[:id].eq(label_links_table[:label_id]))
+ .where(label_links_table[:target_type].eq(name)
+ .and(label_links_table[:target_id].eq(issuables_table[:id]))
+ .and(labels_table[:title].in(label_names)))
+ .exists.not
+
+ where(inner_query)
+ end
+
scope :without_label, -> { joins("LEFT OUTER JOIN label_links ON label_links.target_type = '#{name}' AND label_links.target_id = #{table_name}.id").where(label_links: { id: nil }) }
scope :with_label_ids, ->(label_ids) { joins(:label_links).where(label_links: { label_id: label_ids }) }
- scope :any_label, -> { joins(:label_links).group(:id) }
+ scope :any_label, -> { joins(:label_links).distinct }
scope :join_project, -> { joins(:project) }
scope :inc_notes_with_associations, -> { includes(notes: [:project, :author, :award_emoji]) }
scope :references_project, -> { references(:project) }
@@ -286,9 +308,8 @@ module Issuable
.reorder(Gitlab::Database.nulls_last_order('highest_priority', direction))
end
- def with_label(title, sort = nil, not_query: false)
- multiple_labels = title.is_a?(Array) && title.size > 1
- if multiple_labels && !not_query
+ def with_label(title, sort = nil)
+ if title.is_a?(Array) && title.size > 1
joins(:labels).where(labels: { title: title }).group(*grouping_columns(sort)).having("COUNT(DISTINCT labels.title) = #{title.size}")
else
joins(:labels).where(labels: { title: title })
diff --git a/app/models/concerns/issue_resource_event.rb b/app/models/concerns/issue_resource_event.rb
new file mode 100644
index 00000000000..1c24032dbbb
--- /dev/null
+++ b/app/models/concerns/issue_resource_event.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+module IssueResourceEvent
+ extend ActiveSupport::Concern
+
+ included do
+ belongs_to :issue
+
+ scope :by_issue, ->(issue) { where(issue_id: issue.id) }
+
+ scope :by_issue_ids_and_created_at_earlier_or_equal_to, ->(issue_ids, time) { where(issue_id: issue_ids).where('created_at <= ?', time) }
+ end
+end
diff --git a/app/models/concerns/merge_request_resource_event.rb b/app/models/concerns/merge_request_resource_event.rb
new file mode 100644
index 00000000000..7fb7fb4ec62
--- /dev/null
+++ b/app/models/concerns/merge_request_resource_event.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+module MergeRequestResourceEvent
+ extend ActiveSupport::Concern
+
+ included do
+ belongs_to :merge_request
+
+ scope :by_merge_request, ->(merge_request) { where(merge_request_id: merge_request.id) }
+ end
+end
diff --git a/app/models/concerns/milestoneable.rb b/app/models/concerns/milestoneable.rb
index 3ffb32f94fc..8f8494a9678 100644
--- a/app/models/concerns/milestoneable.rb
+++ b/app/models/concerns/milestoneable.rb
@@ -17,8 +17,10 @@ module Milestoneable
scope :of_milestones, ->(ids) { where(milestone_id: ids) }
scope :any_milestone, -> { where('milestone_id IS NOT NULL') }
scope :with_milestone, ->(title) { left_joins_milestones.where(milestones: { title: title }) }
+ scope :without_particular_milestone, ->(title) { left_outer_joins(:milestone).where("milestones.title != ? OR milestone_id IS NULL", title) }
scope :any_release, -> { joins_milestone_releases }
scope :with_release, -> (tag, project_id) { joins_milestone_releases.where( milestones: { releases: { tag: tag, project_id: project_id } } ) }
+ scope :without_particular_release, -> (tag, project_id) { joins_milestone_releases.where.not( milestones: { releases: { tag: tag, project_id: project_id } } ) }
scope :left_joins_milestones, -> { joins("LEFT OUTER JOIN milestones ON #{table_name}.milestone_id = milestones.id") }
scope :order_milestone_due_desc, -> { left_joins_milestones.reorder(Arel.sql('milestones.due_date IS NULL, milestones.id IS NULL, milestones.due_date DESC')) }
diff --git a/app/models/concerns/noteable.rb b/app/models/concerns/noteable.rb
index a7f1fb66a88..d1e54d46d40 100644
--- a/app/models/concerns/noteable.rb
+++ b/app/models/concerns/noteable.rb
@@ -17,7 +17,7 @@ module Noteable
# `Noteable` class names that support resolvable notes.
def resolvable_types
- %w(MergeRequest)
+ %w(MergeRequest DesignManagement::Design)
end
end
@@ -138,6 +138,8 @@ module Noteable
end
def note_etag_key
+ return Gitlab::Routing.url_helpers.designs_project_issue_path(project, issue, { vueroute: filename }) if self.is_a?(DesignManagement::Design)
+
Gitlab::Routing.url_helpers.project_noteable_notes_path(
project,
target_type: self.class.name.underscore,
diff --git a/app/models/event.rb b/app/models/event.rb
index 447ab753421..48f745649e4 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -313,6 +313,10 @@ class Event < ApplicationRecord
note? && target && target.for_personal_snippet?
end
+ def design_note?
+ note? && note.for_design?
+ end
+
def note_target
target.noteable
end
@@ -380,6 +384,11 @@ class Event < ApplicationRecord
protected
+ # rubocop:disable Metrics/CyclomaticComplexity
+ # rubocop:disable Metrics/PerceivedComplexity
+ #
+ # TODO Refactor this method so we no longer need to disable the above cops
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/216879.
def capability
@capability ||= begin
if push_action? || commit_note?
@@ -396,9 +405,13 @@ class Event < ApplicationRecord
:read_milestone
elsif wiki_page?
:read_wiki
+ elsif design_note?
+ :read_design
end
end
end
+ # rubocop:enable Metrics/CyclomaticComplexity
+ # rubocop:enable Metrics/PerceivedComplexity
private
diff --git a/app/models/group.rb b/app/models/group.rb
index ea3c4c969cc..bc57ab522da 100644
--- a/app/models/group.rb
+++ b/app/models/group.rb
@@ -509,8 +509,6 @@ class Group < Namespace
end
def max_member_access_for_user_from_shared_groups(user)
- return unless Feature.enabled?(:share_group_with_group, default_enabled: true)
-
group_group_link_table = GroupGroupLink.arel_table
group_member_table = GroupMember.arel_table
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 1564ba7c373..c962f8c8c26 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -1300,6 +1300,12 @@ class MergeRequest < ApplicationRecord
compare_reports(Ci::CompareTestReportsService)
end
+ def has_accessibility_reports?
+ return false unless Feature.enabled?(:accessibility_report_view, project)
+
+ actual_head_pipeline.present? && actual_head_pipeline.has_reports?(Ci::JobArtifact.accessibility_reports)
+ end
+
def has_coverage_reports?
return false unless Feature.enabled?(:coverage_report_view, project)
diff --git a/app/models/merge_request_diff.rb b/app/models/merge_request_diff.rb
index 7b15d21c095..f793bd3d76f 100644
--- a/app/models/merge_request_diff.rb
+++ b/app/models/merge_request_diff.rb
@@ -141,7 +141,7 @@ class MergeRequestDiff < ApplicationRecord
after_create :save_git_content, unless: :importing?
after_create_commit :set_as_latest_diff, unless: :importing?
- after_save :update_external_diff_store, if: -> { !importing? && saved_change_to_external_diff? }
+ after_save :update_external_diff_store
def self.find_by_diff_refs(diff_refs)
find_by(start_commit_sha: diff_refs.start_sha, head_commit_sha: diff_refs.head_sha, base_commit_sha: diff_refs.base_sha)
@@ -385,34 +385,11 @@ class MergeRequestDiff < ApplicationRecord
end
end
- # Carrierwave defines `write_uploader` dynamically on this class, so `super`
- # does not work. Alias the carrierwave method so we can call it when needed
- alias_method :carrierwave_write_uploader, :write_uploader
-
- # The `external_diff`, `external_diff_store`, and `stored_externally`
- # columns were introduced in GitLab 11.8, but some background migration specs
- # use factories that rely on current code with an old schema. Without these
- # `has_attribute?` guards, they fail with a `MissingAttributeError`.
- #
- # For more details, see: https://gitlab.com/gitlab-org/gitlab-foss/issues/44990
-
- def write_uploader(column, identifier)
- carrierwave_write_uploader(column, identifier) if has_attribute?(column)
- end
-
def update_external_diff_store
- update_column(:external_diff_store, external_diff.object_store) if
- has_attribute?(:external_diff_store)
- end
-
- def saved_change_to_external_diff?
- super if has_attribute?(:external_diff)
- end
+ return unless saved_change_to_external_diff? || saved_change_to_stored_externally?
- def stored_externally
- super if has_attribute?(:stored_externally)
+ update_column(:external_diff_store, external_diff.object_store)
end
- alias_method :stored_externally?, :stored_externally
# If enabled, yields the external file containing the diff. Otherwise, yields
# nil. This method is not thread-safe, but it *is* re-entrant, which allows
@@ -575,7 +552,6 @@ class MergeRequestDiff < ApplicationRecord
end
def use_external_diff?
- return false unless has_attribute?(:external_diff)
return false unless Gitlab.config.external_diffs.enabled
case Gitlab.config.external_diffs.when
diff --git a/app/models/milestone.rb b/app/models/milestone.rb
index b1cac9af30f..da6490611fd 100644
--- a/app/models/milestone.rb
+++ b/app/models/milestone.rb
@@ -19,6 +19,12 @@ class Milestone < ApplicationRecord
has_many :events, as: :target, dependent: :delete_all # rubocop:disable Cop/ActiveRecordDependent
scope :started, -> { active.where('milestones.start_date <= CURRENT_DATE') }
+ scope :not_started, -> { active.where('milestones.start_date > CURRENT_DATE') }
+ scope :not_upcoming, -> do
+ active
+ .where('milestones.due_date <= CURRENT_DATE')
+ .order(:project_id, :group_id, :due_date)
+ end
scope :order_by_name_asc, -> { order(Arel::Nodes::Ascending.new(arel_table[:title].lower)) }
scope :reorder_by_due_date_asc, -> { reorder(Gitlab::Database.nulls_last_order('due_date', 'ASC')) }
diff --git a/app/models/namespace.rb b/app/models/namespace.rb
index 98715a8c67c..e2d1a433935 100644
--- a/app/models/namespace.rb
+++ b/app/models/namespace.rb
@@ -175,6 +175,10 @@ class Namespace < ApplicationRecord
kind == 'user'
end
+ def group?
+ type == 'Group'
+ end
+
def find_fork_of(project)
return unless project.fork_network
diff --git a/app/models/project.rb b/app/models/project.rb
index d76c1ee343a..d8ccea3e37f 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -302,6 +302,7 @@ class Project < ApplicationRecord
has_many :project_deploy_tokens
has_many :deploy_tokens, through: :project_deploy_tokens
has_many :resource_groups, class_name: 'Ci::ResourceGroup', inverse_of: :project
+ has_many :freeze_periods, class_name: 'Ci::FreezePeriod', inverse_of: :project
has_one :auto_devops, class_name: 'ProjectAutoDevops', inverse_of: :project, autosave: true
has_many :custom_attributes, class_name: 'ProjectCustomAttribute'
@@ -1436,15 +1437,12 @@ class Project < ApplicationRecord
# Expires various caches before a project is renamed.
def expire_caches_before_rename(old_path)
- repo = Repository.new(old_path, self, shard: repository_storage)
- wiki = Repository.new("#{old_path}.wiki", self, shard: repository_storage, repo_type: Gitlab::GlRepository::WIKI)
+ project_repo = Repository.new(old_path, self, shard: repository_storage)
+ wiki_repo = Repository.new("#{old_path}#{Gitlab::GlRepository::WIKI.path_suffix}", self, shard: repository_storage, repo_type: Gitlab::GlRepository::WIKI)
+ design_repo = Repository.new("#{old_path}#{Gitlab::GlRepository::DESIGN.path_suffix}", self, shard: repository_storage, repo_type: Gitlab::GlRepository::DESIGN)
- if repo.exists?
- repo.before_delete
- end
-
- if wiki.exists?
- wiki.before_delete
+ [project_repo, wiki_repo, design_repo].each do |repo|
+ repo.before_delete if repo.exists?
end
end
diff --git a/app/models/project_repository_storage_move.rb b/app/models/project_repository_storage_move.rb
index 90da70120f8..8b2ddb22a48 100644
--- a/app/models/project_repository_storage_move.rb
+++ b/app/models/project_repository_storage_move.rb
@@ -39,8 +39,9 @@ class ProjectRepositoryStorageMove < ApplicationRecord
after_transition initial: :scheduled do |storage_move, _|
storage_move.run_after_commit do
ProjectUpdateRepositoryStorageWorker.perform_async(
- storage_move.project_id, storage_move.destination_storage_name,
- repository_storage_move_id: storage_move.id
+ storage_move.project_id,
+ storage_move.destination_storage_name,
+ storage_move.id
)
end
end
diff --git a/app/models/project_services/jira_service.rb b/app/models/project_services/jira_service.rb
index f0a5d8e8cdd..53da874ede8 100644
--- a/app/models/project_services/jira_service.rb
+++ b/app/models/project_services/jira_service.rb
@@ -177,6 +177,7 @@ class JiraService < IssueTrackerService
noteable_id = noteable.respond_to?(:iid) ? noteable.iid : noteable.id
noteable_type = noteable_name(noteable)
entity_url = build_entity_url(noteable_type, noteable_id)
+ entity_meta = build_entity_meta(noteable)
data = {
user: {
@@ -185,12 +186,15 @@ class JiraService < IssueTrackerService
},
project: {
name: project.full_path,
- url: resource_url(namespace_project_path(project.namespace, project)) # rubocop:disable Cop/ProjectPathHelper
+ url: resource_url(project_path(project))
},
entity: {
+ id: entity_meta[:id],
name: noteable_type.humanize.downcase,
url: entity_url,
- title: noteable.title
+ title: noteable.title,
+ description: entity_meta[:description],
+ branch: entity_meta[:branch]
}
}
@@ -264,14 +268,11 @@ class JiraService < IssueTrackerService
end
def add_comment(data, issue)
- user_name = data[:user][:name]
- user_url = data[:user][:url]
entity_name = data[:entity][:name]
entity_url = data[:entity][:url]
entity_title = data[:entity][:title]
- project_name = data[:project][:name]
- message = "[#{user_name}|#{user_url}] mentioned this issue in [a #{entity_name} of #{project_name}|#{entity_url}]:\n'#{entity_title.chomp}'"
+ message = comment_message(data)
link_title = "#{entity_name.capitalize} - #{entity_title}"
link_props = build_remote_link_props(url: entity_url, title: link_title)
@@ -280,6 +281,37 @@ class JiraService < IssueTrackerService
end
end
+ def comment_message(data)
+ user_link = build_jira_link(data[:user][:name], data[:user][:url])
+
+ entity = data[:entity]
+ entity_ref = all_details? ? "#{entity[:name]} #{entity[:id]}" : "a #{entity[:name]}"
+ entity_link = build_jira_link(entity_ref, entity[:url])
+
+ project_link = build_jira_link(project.full_name, Gitlab::Routing.url_helpers.project_url(project))
+ branch =
+ if entity[:branch].present?
+ s_('JiraService| on branch %{branch_link}') % {
+ branch_link: build_jira_link(entity[:branch], project_tree_url(project, entity[:branch]))
+ }
+ end
+
+ entity_message = entity[:description].presence if all_details?
+ entity_message ||= entity[:title].chomp
+
+ s_('JiraService|%{user_link} mentioned this issue in %{entity_link} of %{project_link}%{branch}:{quote}%{entity_message}{quote}') % {
+ user_link: user_link,
+ entity_link: entity_link,
+ project_link: project_link,
+ branch: branch,
+ entity_message: entity_message
+ }
+ end
+
+ def build_jira_link(title, url)
+ "[#{title}|#{url}]"
+ end
+
def has_resolution?(issue)
issue.respond_to?(:resolution) && issue.resolution.present?
end
@@ -353,6 +385,23 @@ class JiraService < IssueTrackerService
)
end
+ def build_entity_meta(noteable)
+ if noteable.is_a?(Commit)
+ {
+ id: noteable.short_id,
+ description: noteable.safe_message,
+ branch: noteable.ref_names(project.repository).first
+ }
+ elsif noteable.is_a?(MergeRequest)
+ {
+ id: noteable.to_reference,
+ branch: noteable.source_branch
+ }
+ else
+ {}
+ end
+ end
+
def noteable_name(noteable)
name = noteable.model_name.singular
diff --git a/app/models/project_services/youtrack_service.rb b/app/models/project_services/youtrack_service.rb
index 0815e27850d..40203ad692d 100644
--- a/app/models/project_services/youtrack_service.rb
+++ b/app/models/project_services/youtrack_service.rb
@@ -27,8 +27,8 @@ class YoutrackService < IssueTrackerService
def fields
[
{ type: 'text', name: 'description', placeholder: description },
- { type: 'text', name: 'project_url', placeholder: 'Project url', required: true },
- { type: 'text', name: 'issues_url', placeholder: 'Issue url', required: true }
+ { type: 'text', name: 'project_url', title: 'Project URL', placeholder: 'Project URL', required: true },
+ { type: 'text', name: 'issues_url', title: 'Issue URL', placeholder: 'Issue URL', required: true }
]
end
end
diff --git a/app/models/resource_label_event.rb b/app/models/resource_label_event.rb
index cd47c154eef..845be408d5e 100644
--- a/app/models/resource_label_event.rb
+++ b/app/models/resource_label_event.rb
@@ -2,16 +2,14 @@
class ResourceLabelEvent < ResourceEvent
include CacheMarkdownField
+ include IssueResourceEvent
+ include MergeRequestResourceEvent
cache_markdown_field :reference
- belongs_to :issue
- belongs_to :merge_request
belongs_to :label
scope :inc_relations, -> { includes(:label, :user) }
- scope :by_issue, ->(issue) { where(issue_id: issue.id) }
- scope :by_merge_request, ->(merge_request) { where(merge_request_id: merge_request.id) }
validates :label, presence: { unless: :importing? }, on: :create
validate :exactly_one_issuable
diff --git a/app/models/resource_milestone_event.rb b/app/models/resource_milestone_event.rb
index a0655c3a4ab..039f26d8e3f 100644
--- a/app/models/resource_milestone_event.rb
+++ b/app/models/resource_milestone_event.rb
@@ -2,14 +2,11 @@
class ResourceMilestoneEvent < ResourceEvent
include IgnorableColumns
+ include IssueResourceEvent
+ include MergeRequestResourceEvent
- belongs_to :issue
- belongs_to :merge_request
belongs_to :milestone
- scope :by_issue, ->(issue) { where(issue_id: issue.id) }
- scope :by_merge_request, ->(merge_request) { where(merge_request_id: merge_request.id) }
-
validate :exactly_one_issuable
enum action: {
diff --git a/app/models/resource_weight_event.rb b/app/models/resource_weight_event.rb
index e0cc0c87a83..bbabd54325e 100644
--- a/app/models/resource_weight_event.rb
+++ b/app/models/resource_weight_event.rb
@@ -3,7 +3,5 @@
class ResourceWeightEvent < ResourceEvent
validates :issue, presence: true
- belongs_to :issue
-
- scope :by_issue, ->(issue) { where(issue_id: issue.id) }
+ include IssueResourceEvent
end
diff --git a/app/models/snippet_repository.rb b/app/models/snippet_repository.rb
index e60dbb4d141..1e7c069cfaa 100644
--- a/app/models/snippet_repository.rb
+++ b/app/models/snippet_repository.rb
@@ -7,6 +7,7 @@ class SnippetRepository < ApplicationRecord
EMPTY_FILE_PATTERN = /^#{DEFAULT_EMPTY_FILE_NAME}(\d+)\.txt$/.freeze
CommitError = Class.new(StandardError)
+ InvalidPathError = Class.new(CommitError)
belongs_to :snippet, inverse_of: :snippet_repository
@@ -40,8 +41,9 @@ class SnippetRepository < ApplicationRecord
rescue Gitlab::Git::Index::IndexError,
Gitlab::Git::CommitError,
Gitlab::Git::PreReceiveError,
- Gitlab::Git::CommandError => e
- raise CommitError, e.message
+ Gitlab::Git::CommandError => error
+
+ raise commit_error_exception(error)
end
def transform_file_entries(files)
@@ -85,4 +87,16 @@ class SnippetRepository < ApplicationRecord
def build_empty_file_name(index)
"#{DEFAULT_EMPTY_FILE_NAME}#{index}.txt"
end
+
+ def commit_error_exception(error)
+ if error.is_a?(Gitlab::Git::Index::IndexError) && invalid_path_error?(error.message)
+ InvalidPathError.new('Invalid Path') # To avoid returning the message with the path included
+ else
+ CommitError.new(error.message)
+ end
+ end
+
+ def invalid_path_error?(message)
+ message.downcase.start_with?('invalid path', 'path cannot include directory traversal')
+ end
end
diff --git a/app/models/system_note_metadata.rb b/app/models/system_note_metadata.rb
index b881a43ad4d..4e14bb4e92c 100644
--- a/app/models/system_note_metadata.rb
+++ b/app/models/system_note_metadata.rb
@@ -15,6 +15,7 @@ class SystemNoteMetadata < ApplicationRecord
ICON_TYPES = %w[
commit description merge confidential visible label assignee cross_reference
+ designs_added designs_modified designs_removed designs_discussion_added
title time_tracking branch milestone discussion task moved
opened closed merged duplicate locked unlocked outdated
tag due_date pinned_embed cherry_pick health_status
diff --git a/app/models/todo.rb b/app/models/todo.rb
index 9d685fd73d3..dc42551f0ab 100644
--- a/app/models/todo.rb
+++ b/app/models/todo.rb
@@ -183,6 +183,10 @@ class Todo < ApplicationRecord
target_type == "Commit"
end
+ def for_design?
+ target_type == DesignManagement::Design.name
+ end
+
# override to return commits, which are not active record
def target
if for_commit?
diff --git a/app/models/x509_commit_signature.rb b/app/models/x509_commit_signature.rb
index ed7c638cecc..57d809f7cfb 100644
--- a/app/models/x509_commit_signature.rb
+++ b/app/models/x509_commit_signature.rb
@@ -41,4 +41,8 @@ class X509CommitSignature < ApplicationRecord
Gitlab::X509::Commit.new(commit)
end
+
+ def user
+ commit.committer
+ end
end
diff --git a/app/policies/project_policy.rb b/app/policies/project_policy.rb
index 6aa3d791a0f..a8105ae6f7c 100644
--- a/app/policies/project_policy.rb
+++ b/app/policies/project_policy.rb
@@ -236,11 +236,8 @@ class ProjectPolicy < BasePolicy
enable :read_merge_request
enable :read_sentry_issue
enable :update_sentry_issue
- enable :read_alert_management
enable :read_prometheus
enable :read_metrics_dashboard_annotation
- enable :read_alert_management_alerts
- enable :update_alert_management_alerts
enable :metrics_dashboard
end
@@ -306,6 +303,8 @@ class ProjectPolicy < BasePolicy
enable :create_metrics_dashboard_annotation
enable :delete_metrics_dashboard_annotation
enable :update_metrics_dashboard_annotation
+ enable :read_alert_management_alert
+ enable :update_alert_management_alert
enable :create_design
enable :destroy_design
end
diff --git a/app/presenters/projects/prometheus/alert_presenter.rb b/app/presenters/projects/prometheus/alert_presenter.rb
index c03925c0871..2114e06a8c5 100644
--- a/app/presenters/projects/prometheus/alert_presenter.rb
+++ b/app/presenters/projects/prometheus/alert_presenter.rb
@@ -7,6 +7,7 @@ module Projects
GENERIC_ALERT_SUMMARY_ANNOTATIONS = %w(monitoring_tool service hosts).freeze
MARKDOWN_LINE_BREAK = " \n".freeze
INCIDENT_LABEL_NAME = IncidentManagement::CreateIssueService::INCIDENT_LABEL[:title].freeze
+ METRIC_TIME_WINDOW = 30.minutes
def full_title
[environment_name, alert_title].compact.join(': ')
@@ -119,9 +120,63 @@ module Projects
Array(hosts.value).join(' ')
end
- def metric_embed_for_alert; end
+ def metric_embed_for_alert
+ url = embed_url_for_gitlab_alert || embed_url_for_self_managed_alert
+
+ "\n[](#{url})" if url
+ end
+
+ def embed_url_for_gitlab_alert
+ return unless gitlab_alert
+
+ metrics_dashboard_project_prometheus_alert_url(
+ project,
+ gitlab_alert.prometheus_metric_id,
+ environment_id: environment.id,
+ **alert_embed_window_params(embed_time)
+ )
+ end
+
+ def embed_url_for_self_managed_alert
+ return unless environment && full_query && title
+
+ metrics_dashboard_project_environment_url(
+ project,
+ environment,
+ embed_json: dashboard_for_self_managed_alert.to_json,
+ **alert_embed_window_params(embed_time)
+ )
+ end
+
+ def embed_time
+ starts_at ? Time.rfc3339(starts_at) : Time.current
+ end
+
+ def alert_embed_window_params(time)
+ {
+ start: format_embed_timestamp(time - METRIC_TIME_WINDOW),
+ end: format_embed_timestamp(time + METRIC_TIME_WINDOW)
+ }
+ end
+
+ def format_embed_timestamp(time)
+ time.utc.strftime('%FT%TZ')
+ end
+
+ def dashboard_for_self_managed_alert
+ {
+ panel_groups: [{
+ panels: [{
+ type: 'line-graph',
+ title: title,
+ y_label: y_label,
+ metrics: [{
+ query_range: full_query
+ }]
+ }]
+ }]
+ }
+ end
end
end
end
-
-Projects::Prometheus::AlertPresenter.prepend_if_ee('EE::Projects::Prometheus::AlertPresenter')
diff --git a/app/serializers/accessibility_error_entity.rb b/app/serializers/accessibility_error_entity.rb
new file mode 100644
index 00000000000..540f5384d66
--- /dev/null
+++ b/app/serializers/accessibility_error_entity.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+class AccessibilityErrorEntity < Grape::Entity
+ expose :code
+ expose :type
+ expose :typeCode, as: :type_code
+ expose :message
+ expose :context
+ expose :selector
+ expose :runner
+ expose :runnerExtras, as: :runner_extras
+end
diff --git a/app/serializers/accessibility_reports_comparer_entity.rb b/app/serializers/accessibility_reports_comparer_entity.rb
new file mode 100644
index 00000000000..3768607a3fc
--- /dev/null
+++ b/app/serializers/accessibility_reports_comparer_entity.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+class AccessibilityReportsComparerEntity < Grape::Entity
+ expose :status
+
+ expose :new_errors, using: AccessibilityErrorEntity
+ expose :resolved_errors, using: AccessibilityErrorEntity
+ expose :existing_errors, using: AccessibilityErrorEntity
+
+ expose :summary do
+ expose :total_count, as: :total
+ expose :resolved_count, as: :resolved
+ expose :errors_count, as: :errored
+ end
+end
diff --git a/app/serializers/accessibility_reports_comparer_serializer.rb b/app/serializers/accessibility_reports_comparer_serializer.rb
new file mode 100644
index 00000000000..a6b8162e4ea
--- /dev/null
+++ b/app/serializers/accessibility_reports_comparer_serializer.rb
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+
+class AccessibilityReportsComparerSerializer < BaseSerializer
+ entity AccessibilityReportsComparerEntity
+end
diff --git a/app/serializers/test_suite_comparer_entity.rb b/app/serializers/test_suite_comparer_entity.rb
index 78c243f75b8..a9f19564b60 100644
--- a/app/serializers/test_suite_comparer_entity.rb
+++ b/app/serializers/test_suite_comparer_entity.rb
@@ -46,8 +46,6 @@ class TestSuiteComparerEntity < Grape::Entity
private
def max_tests(*used)
- return Integer::MAX unless Feature.enabled?(:ci_limit_test_reports_size, default_enabled: true)
-
[DEFAULT_MAX_TESTS - used.map(&:count).sum, DEFAULT_MIN_TESTS].max
end
# rubocop: enable CodeReuse/ActiveRecord
diff --git a/app/services/alert_management/process_prometheus_alert_service.rb b/app/services/alert_management/process_prometheus_alert_service.rb
new file mode 100644
index 00000000000..af28f1354b3
--- /dev/null
+++ b/app/services/alert_management/process_prometheus_alert_service.rb
@@ -0,0 +1,86 @@
+# frozen_string_literal: true
+
+module AlertManagement
+ class ProcessPrometheusAlertService < BaseService
+ include Gitlab::Utils::StrongMemoize
+
+ def execute
+ return bad_request unless parsed_alert.valid?
+
+ process_alert_management_alert
+
+ ServiceResponse.success
+ end
+
+ private
+
+ delegate :firing?, :resolved?, :gitlab_fingerprint, :ends_at, to: :parsed_alert
+
+ def parsed_alert
+ strong_memoize(:parsed_alert) do
+ Gitlab::Alerting::Alert.new(project: project, payload: params)
+ end
+ end
+
+ def process_alert_management_alert
+ process_firing_alert_management_alert if firing?
+ process_resolved_alert_management_alert if resolved?
+ end
+
+ def process_firing_alert_management_alert
+ if am_alert.present?
+ reset_alert_management_alert_status
+ else
+ create_alert_management_alert
+ end
+ end
+
+ def reset_alert_management_alert_status
+ return if am_alert.trigger
+
+ logger.warn(
+ message: 'Unable to update AlertManagement::Alert status to triggered',
+ project_id: project.id,
+ alert_id: am_alert.id
+ )
+ end
+
+ def create_alert_management_alert
+ am_alert = AlertManagement::Alert.new(am_alert_params.merge(ended_at: nil))
+ return if am_alert.save
+
+ logger.warn(
+ message: 'Unable to create AlertManagement::Alert',
+ project_id: project.id,
+ alert_errors: am_alert.errors.messages
+ )
+ end
+
+ def am_alert_params
+ Gitlab::AlertManagement::AlertParams.from_prometheus_alert(project: project, parsed_alert: parsed_alert)
+ end
+
+ def process_resolved_alert_management_alert
+ return if am_alert.blank?
+ return if am_alert.resolve(ends_at)
+
+ logger.warn(
+ message: 'Unable to update AlertManagement::Alert status to resolved',
+ project_id: project.id,
+ alert_id: am_alert.id
+ )
+ end
+
+ def logger
+ @logger ||= Gitlab::AppLogger
+ end
+
+ def am_alert
+ @am_alert ||= AlertManagement::Alert.for_fingerprint(project, gitlab_fingerprint).first
+ end
+
+ def bad_request
+ ServiceResponse.error(message: 'Bad Request', http_status: :bad_request)
+ end
+ end
+end
diff --git a/app/services/alert_management/update_alert_status_service.rb b/app/services/alert_management/update_alert_status_service.rb
index 73ee654874f..8e0c3e38b8b 100644
--- a/app/services/alert_management/update_alert_status_service.rb
+++ b/app/services/alert_management/update_alert_status_service.rb
@@ -8,9 +8,9 @@ module AlertManagement
end
def execute
- return error('Invalid status') unless AlertManagement::Alert.statuses.key?(status.to_s)
+ return error('Invalid status') unless AlertManagement::Alert::STATUSES.key?(status.to_sym)
- alert.status = status
+ alert.status_event = AlertManagement::Alert::STATUS_EVENTS[status.to_sym]
if alert.save
success
diff --git a/app/services/base_container_service.rb b/app/services/base_container_service.rb
new file mode 100644
index 00000000000..56e4b8c908c
--- /dev/null
+++ b/app/services/base_container_service.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+
+# Base class, scoped by container (project or group)
+class BaseContainerService
+ include BaseServiceUtility
+
+ attr_reader :container, :current_user, :params
+
+ def initialize(container:, current_user: nil, params: {})
+ @container, @current_user, @params = container, current_user, params.dup
+ end
+end
diff --git a/app/services/base_service.rb b/app/services/base_service.rb
index bc0b968f516..b4c4b6980a8 100644
--- a/app/services/base_service.rb
+++ b/app/services/base_service.rb
@@ -1,7 +1,16 @@
# frozen_string_literal: true
+# This is the original root class for service related classes,
+# and due to historical reason takes a project as scope.
+# Later separate base classes for different scopes will be created,
+# and existing service will use these one by one.
+# After all are migrated, we can remove this class.
+#
+# TODO: New services should consider inheriting from
+# BaseContainerService, or create new base class:
+# https://gitlab.com/gitlab-org/gitlab/-/issues/216672
class BaseService
- include Gitlab::Allowable
+ include BaseServiceUtility
attr_accessor :project, :current_user, :params
@@ -9,67 +18,5 @@ class BaseService
@project, @current_user, @params = project, user, params.dup
end
- def notification_service
- NotificationService.new
- end
-
- def event_service
- EventCreateService.new
- end
-
- def todo_service
- TodoService.new
- end
-
- def log_info(message)
- Gitlab::AppLogger.info message
- end
-
- def log_error(message)
- Gitlab::AppLogger.error message
- end
-
- def system_hook_service
- SystemHooksService.new
- end
-
delegate :repository, to: :project
-
- # Add an error to the specified model for restricted visibility levels
- def deny_visibility_level(model, denied_visibility_level = nil)
- denied_visibility_level ||= model.visibility_level
-
- level_name = Gitlab::VisibilityLevel.level_name(denied_visibility_level).downcase
-
- model.errors.add(:visibility_level, "#{level_name} has been restricted by your GitLab administrator")
- end
-
- def visibility_level
- params[:visibility].is_a?(String) ? Gitlab::VisibilityLevel.level_value(params[:visibility]) : params[:visibility_level]
- end
-
- private
-
- # Return a Hash with an `error` status
- #
- # message - Error message to include in the Hash
- # http_status - Optional HTTP status code override (default: nil)
- # pass_back - Additional attributes to be included in the resulting Hash
- def error(message, http_status = nil, pass_back: {})
- result = {
- message: message,
- status: :error
- }.reverse_merge(pass_back)
-
- result[:http_status] = http_status if http_status
- result
- end
-
- # Return a Hash with a `success` status
- #
- # pass_back - Additional attributes to be included in the resulting Hash
- def success(pass_back = {})
- pass_back[:status] = :success
- pass_back
- end
end
diff --git a/app/services/ci/compare_accessibility_reports_service.rb b/app/services/ci/compare_accessibility_reports_service.rb
new file mode 100644
index 00000000000..efb38d39d98
--- /dev/null
+++ b/app/services/ci/compare_accessibility_reports_service.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+module Ci
+ class CompareAccessibilityReportsService < CompareReportsBaseService
+ def comparer_class
+ Gitlab::Ci::Reports::AccessibilityReportsComparer
+ end
+
+ def serializer_class
+ AccessibilityReportsComparerSerializer
+ end
+
+ def get_report(pipeline)
+ pipeline&.accessibility_reports
+ end
+ end
+end
diff --git a/app/services/ci/create_pipeline_service.rb b/app/services/ci/create_pipeline_service.rb
index 347630f865f..922c3556362 100644
--- a/app/services/ci/create_pipeline_service.rb
+++ b/app/services/ci/create_pipeline_service.rb
@@ -102,21 +102,12 @@ module Ci
# rubocop: disable CodeReuse/ActiveRecord
def auto_cancelable_pipelines
- # TODO: Introduced by https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/23464
- if Feature.enabled?(:ci_support_interruptible_pipelines, project, default_enabled: true)
- project.ci_pipelines
- .where(ref: pipeline.ref)
- .where.not(id: pipeline.same_family_pipeline_ids)
- .where.not(sha: project.commit(pipeline.ref).try(:id))
- .alive_or_scheduled
- .with_only_interruptible_builds
- else
- project.ci_pipelines
- .where(ref: pipeline.ref)
- .where.not(id: pipeline.same_family_pipeline_ids)
- .where.not(sha: project.commit(pipeline.ref).try(:id))
- .created_or_pending
- end
+ project.ci_pipelines
+ .where(ref: pipeline.ref)
+ .where.not(id: pipeline.same_family_pipeline_ids)
+ .where.not(sha: project.commit(pipeline.ref).try(:id))
+ .alive_or_scheduled
+ .with_only_interruptible_builds
end
# rubocop: enable CodeReuse/ActiveRecord
diff --git a/app/services/ci/pipeline_processing/atomic_processing_service.rb b/app/services/ci/pipeline_processing/atomic_processing_service.rb
index 2a1bf15b9a3..b01a9d2e3b8 100644
--- a/app/services/ci/pipeline_processing/atomic_processing_service.rb
+++ b/app/services/ci/pipeline_processing/atomic_processing_service.rb
@@ -95,7 +95,7 @@ module Ci
def processable_status(processable)
if processable.scheduling_type_dag?
# Processable uses DAG, get status of all dependent needs
- @collection.status_for_names(processable.aggregated_needs_names.to_a)
+ @collection.status_for_names(processable.aggregated_needs_names.to_a, dag: true)
else
# Processable uses Stages, get status of prior stage
@collection.status_for_prior_stage_position(processable.stage_idx.to_i)
diff --git a/app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb b/app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb
index 42e38a5c80f..2228328882d 100644
--- a/app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb
+++ b/app/services/ci/pipeline_processing/atomic_processing_service/status_collection.rb
@@ -32,14 +32,14 @@ module Ci
# This methods gets composite status of all processables
def status_of_all
- status_for_array(all_statuses)
+ status_for_array(all_statuses, dag: false)
end
# This methods gets composite status for processables with given names
- def status_for_names(names)
+ def status_for_names(names, dag:)
name_statuses = all_statuses_by_name.slice(*names)
- status_for_array(name_statuses.values)
+ status_for_array(name_statuses.values, dag: dag)
end
# This methods gets composite status for processables before given stage
@@ -48,7 +48,7 @@ module Ci
stage_statuses = all_statuses_grouped_by_stage_position
.select { |stage_position, _| stage_position < position }
- status_for_array(stage_statuses.values.flatten)
+ status_for_array(stage_statuses.values.flatten, dag: false)
end
end
@@ -65,7 +65,7 @@ module Ci
strong_memoize("status_for_stage_position_#{current_position}") do
stage_statuses = all_statuses_grouped_by_stage_position[current_position].to_a
- status_for_array(stage_statuses.flatten)
+ status_for_array(stage_statuses.flatten, dag: false)
end
end
@@ -76,7 +76,14 @@ module Ci
private
- def status_for_array(statuses)
+ def status_for_array(statuses, dag:)
+ # TODO: This is hack to support
+ # the same exact behaviour for Atomic and Legacy processing
+ # that DAG is blocked from executing if dependent is not "complete"
+ if dag && statuses.any? { |status| HasStatus::COMPLETED_STATUSES.exclude?(status[:status]) }
+ return 'pending'
+ end
+
result = Gitlab::Ci::Status::Composite
.new(statuses)
.status
diff --git a/app/services/ci/pipeline_schedule_service.rb b/app/services/ci/pipeline_schedule_service.rb
index 6028643489d..596c3b80bda 100644
--- a/app/services/ci/pipeline_schedule_service.rb
+++ b/app/services/ci/pipeline_schedule_service.rb
@@ -6,19 +6,7 @@ module Ci
# Ensure `next_run_at` is set properly before creating a pipeline.
# Otherwise, multiple pipelines could be created in a short interval.
schedule.schedule_next_run!
-
- if Feature.enabled?(:ci_pipeline_schedule_async)
- RunPipelineScheduleWorker.perform_async(schedule.id, schedule.owner&.id)
- else
- begin
- RunPipelineScheduleWorker.new.perform(schedule.id, schedule.owner&.id)
- ensure
- ##
- # This is the temporary solution for avoiding the memory bloat.
- # See more https://gitlab.com/gitlab-org/gitlab-foss/issues/61955
- GC.start if Feature.enabled?(:ci_pipeline_schedule_force_gc, default_enabled: true)
- end
- end
+ RunPipelineScheduleWorker.perform_async(schedule.id, schedule.owner&.id)
end
end
end
diff --git a/app/services/concerns/base_service_utility.rb b/app/services/concerns/base_service_utility.rb
new file mode 100644
index 00000000000..70b223a0289
--- /dev/null
+++ b/app/services/concerns/base_service_utility.rb
@@ -0,0 +1,72 @@
+# frozen_string_literal: true
+
+module BaseServiceUtility
+ extend ActiveSupport::Concern
+ include Gitlab::Allowable
+
+ ### Convenience service methods
+
+ def notification_service
+ NotificationService.new
+ end
+
+ def event_service
+ EventCreateService.new
+ end
+
+ def todo_service
+ TodoService.new
+ end
+
+ def system_hook_service
+ SystemHooksService.new
+ end
+
+ # Logging
+
+ def log_info(message)
+ Gitlab::AppLogger.info message
+ end
+
+ def log_error(message)
+ Gitlab::AppLogger.error message
+ end
+
+ # Add an error to the specified model for restricted visibility levels
+ def deny_visibility_level(model, denied_visibility_level = nil)
+ denied_visibility_level ||= model.visibility_level
+
+ level_name = Gitlab::VisibilityLevel.level_name(denied_visibility_level).downcase
+
+ model.errors.add(:visibility_level, "#{level_name} has been restricted by your GitLab administrator")
+ end
+
+ def visibility_level
+ params[:visibility].is_a?(String) ? Gitlab::VisibilityLevel.level_value(params[:visibility]) : params[:visibility_level]
+ end
+
+ private
+
+ # Return a Hash with an `error` status
+ #
+ # message - Error message to include in the Hash
+ # http_status - Optional HTTP status code override (default: nil)
+ # pass_back - Additional attributes to be included in the resulting Hash
+ def error(message, http_status = nil, pass_back: {})
+ result = {
+ message: message,
+ status: :error
+ }.reverse_merge(pass_back)
+
+ result[:http_status] = http_status if http_status
+ result
+ end
+
+ # Return a Hash with a `success` status
+ #
+ # pass_back - Additional attributes to be included in the resulting Hash
+ def success(pass_back = {})
+ pass_back[:status] = :success
+ pass_back
+ end
+end
diff --git a/app/services/concerns/git/logger.rb b/app/services/concerns/git/logger.rb
deleted file mode 100644
index 7c036212e66..00000000000
--- a/app/services/concerns/git/logger.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-# frozen_string_literal: true
-
-module Git
- module Logger
- def log_error(message, save_message_on_model: false)
- Gitlab::GitLogger.error("#{self.class.name} error (#{merge_request.to_reference(full: true)}): #{message}")
- merge_request.update(merge_error: message) if save_message_on_model
- end
- end
-end
diff --git a/app/services/issues/build_service.rb b/app/services/issues/build_service.rb
index daef468987e..e62315de5f9 100644
--- a/app/services/issues/build_service.rb
+++ b/app/services/issues/build_service.rb
@@ -65,15 +65,19 @@ module Issues
private
def whitelisted_issue_params
+ base_params = [:title, :description, :confidential]
+ admin_params = [:milestone_id]
+
if can?(current_user, :admin_issue, project)
- params.slice(:title, :description, :milestone_id)
+ params.slice(*(base_params + admin_params))
else
- params.slice(:title, :description)
+ params.slice(*base_params)
end
end
def build_issue_params
- issue_params_with_info_from_discussions.merge(whitelisted_issue_params)
+ { author: current_user }.merge(issue_params_with_info_from_discussions)
+ .merge(whitelisted_issue_params)
end
end
end
diff --git a/app/services/merge_requests/base_service.rb b/app/services/merge_requests/base_service.rb
index 5365c09eb25..b250c2d7d21 100644
--- a/app/services/merge_requests/base_service.rb
+++ b/app/services/merge_requests/base_service.rb
@@ -114,6 +114,32 @@ module MergeRequests
yield merge_request
end
end
+
+ def log_error(exception:, message:, save_message_on_model: false)
+ reference = merge_request.to_reference(full: true)
+ data = {
+ class: self.class.name,
+ message: message,
+ merge_request_id: merge_request.id,
+ merge_request: reference,
+ save_message_on_model: save_message_on_model
+ }
+
+ if exception
+ Gitlab::ErrorTracking.with_context(current_user) do
+ Gitlab::ErrorTracking.track_exception(exception, data)
+ end
+
+ data[:"exception.message"] = exception.message
+ end
+
+ # TODO: Deprecate Gitlab::GitLogger since ErrorTracking should suffice:
+ # https://gitlab.com/gitlab-org/gitlab/-/issues/216379
+ data[:message] = "#{self.class.name} error (#{reference}): #{message}"
+ Gitlab::GitLogger.error(data)
+
+ merge_request.update(merge_error: message) if save_message_on_model
+ end
end
end
diff --git a/app/services/merge_requests/rebase_service.rb b/app/services/merge_requests/rebase_service.rb
index bc1e97088af..87808a21a15 100644
--- a/app/services/merge_requests/rebase_service.rb
+++ b/app/services/merge_requests/rebase_service.rb
@@ -2,8 +2,6 @@
module MergeRequests
class RebaseService < MergeRequests::BaseService
- include Git::Logger
-
REBASE_ERROR = 'Rebase failed. Please rebase locally'
attr_reader :merge_request
@@ -22,7 +20,7 @@ module MergeRequests
def rebase
# Ensure Gitaly isn't already running a rebase
if source_project.repository.rebase_in_progress?(merge_request.id)
- log_error('Rebase task canceled: Another rebase is already in progress', save_message_on_model: true)
+ log_error(exception: nil, message: 'Rebase task canceled: Another rebase is already in progress', save_message_on_model: true)
return false
end
@@ -30,8 +28,8 @@ module MergeRequests
true
rescue => e
- log_error(REBASE_ERROR, save_message_on_model: true)
- log_error(e.message)
+ log_error(exception: e, message: REBASE_ERROR, save_message_on_model: true)
+
false
ensure
merge_request.update_column(:rebase_jid, nil)
diff --git a/app/services/merge_requests/squash_service.rb b/app/services/merge_requests/squash_service.rb
index d25997c925e..4b04d42b48e 100644
--- a/app/services/merge_requests/squash_service.rb
+++ b/app/services/merge_requests/squash_service.rb
@@ -2,7 +2,7 @@
module MergeRequests
class SquashService < MergeRequests::BaseService
- include Git::Logger
+ SquashInProgressError = Class.new(RuntimeError)
def execute
# If performing a squash would result in no change, then
@@ -11,11 +11,13 @@ module MergeRequests
return success(squash_sha: merge_request.diff_head_sha)
end
- if merge_request.squash_in_progress?
+ if squash_in_progress?
return error(s_('MergeRequests|Squash task canceled: another squash is already in progress.'))
end
squash! || error(s_('MergeRequests|Failed to squash. Should be done manually.'))
+ rescue SquashInProgressError
+ error(s_('MergeRequests|An error occurred while checking whether another squash is in progress.'))
end
private
@@ -25,11 +27,19 @@ module MergeRequests
success(squash_sha: squash_sha)
rescue => e
- log_error("Failed to squash merge request #{merge_request.to_reference(full: true)}:")
- log_error(e.message)
+ log_error(exception: e, message: 'Failed to squash merge request')
+
false
end
+ def squash_in_progress?
+ merge_request.squash_in_progress?
+ rescue => e
+ log_error(exception: e, message: 'Failed to check squash in progress')
+
+ raise SquashInProgressError, e.message
+ end
+
def repository
target_project.repository
end
diff --git a/app/services/pod_logs/base_service.rb b/app/services/pod_logs/base_service.rb
index 2451ab8e0ce..8936f9b67a5 100644
--- a/app/services/pod_logs/base_service.rb
+++ b/app/services/pod_logs/base_service.rb
@@ -58,6 +58,9 @@ module PodLogs
result[:pod_name] = params['pod_name'].presence
result[:container_name] = params['container_name'].presence
+ return error(_('Invalid pod_name')) if result[:pod_name] && !result[:pod_name].is_a?(String)
+ return error(_('Invalid container_name')) if result[:container_name] && !result[:container_name].is_a?(String)
+
success(result)
end
diff --git a/app/services/pod_logs/elasticsearch_service.rb b/app/services/pod_logs/elasticsearch_service.rb
index a9da477cbc1..b73ebc4227d 100644
--- a/app/services/pod_logs/elasticsearch_service.rb
+++ b/app/services/pod_logs/elasticsearch_service.rb
@@ -53,12 +53,16 @@ module PodLogs
def check_search(result)
result[:search] = params['search'] if params.key?('search')
+ return error(_('Invalid search parameter')) if result[:search] && !result[:search].is_a?(String)
+
success(result)
end
def check_cursor(result)
result[:cursor] = params['cursor'] if params.key?('cursor')
+ return error(_('Invalid cursor parameter')) if result[:cursor] && !result[:cursor].is_a?(String)
+
success(result)
end
diff --git a/app/services/pod_logs/kubernetes_service.rb b/app/services/pod_logs/kubernetes_service.rb
index f59fc60113f..b573ceae1aa 100644
--- a/app/services/pod_logs/kubernetes_service.rb
+++ b/app/services/pod_logs/kubernetes_service.rb
@@ -47,6 +47,10 @@ module PodLogs
' chars' % { max_length: K8S_NAME_MAX_LENGTH }))
end
+ unless result[:pod_name] =~ Gitlab::Regex.kubernetes_dns_subdomain_regex
+ return error(_('pod_name can contain only lowercase letters, digits, \'-\', and \'.\' and must start and end with an alphanumeric character'))
+ end
+
unless result[:pods].include?(result[:pod_name])
return error(_('Pod does not exist'))
end
@@ -70,6 +74,10 @@ module PodLogs
' %{max_length} chars' % { max_length: K8S_NAME_MAX_LENGTH }))
end
+ unless result[:container_name] =~ Gitlab::Regex.kubernetes_dns_subdomain_regex
+ return error(_('container_name can contain only lowercase letters, digits, \'-\', and \'.\' and must start and end with an alphanumeric character'))
+ end
+
unless container_names.include?(result[:container_name])
return error(_('Container does not exist'))
end
diff --git a/app/services/projects/import_service.rb b/app/services/projects/import_service.rb
index 4b294a97516..e55697eebcc 100644
--- a/app/services/projects/import_service.rb
+++ b/app/services/projects/import_service.rb
@@ -3,6 +3,7 @@
module Projects
class ImportService < BaseService
Error = Class.new(StandardError)
+ PermissionError = Class.new(StandardError)
# Returns true if this importer is supposed to perform its work in the
# background.
diff --git a/app/services/projects/prometheus/alerts/notify_service.rb b/app/services/projects/prometheus/alerts/notify_service.rb
index 6ebc061c2e3..c1793d2a2d6 100644
--- a/app/services/projects/prometheus/alerts/notify_service.rb
+++ b/app/services/projects/prometheus/alerts/notify_service.rb
@@ -12,6 +12,7 @@ module Projects
return unprocessable_entity unless valid_version?
return unauthorized unless valid_alert_manager_token?(token)
+ process_prometheus_alerts
persist_events
send_alert_email if send_email?
process_incident_issues if process_issues?
@@ -115,6 +116,16 @@ module Projects
end
end
+ def process_prometheus_alerts
+ return unless Feature.enabled?(:alert_management_minimal, project)
+
+ alerts.each do |alert|
+ AlertManagement::ProcessPrometheusAlertService
+ .new(project, nil, alert.to_h)
+ .execute
+ end
+ end
+
def persist_events
CreateEventsService.new(project, nil, params).execute
end
diff --git a/app/services/search_service.rb b/app/services/search_service.rb
index c96599f9958..bf21eba28f7 100644
--- a/app/services/search_service.rb
+++ b/app/services/search_service.rb
@@ -6,6 +6,9 @@ class SearchService
SEARCH_TERM_LIMIT = 64
SEARCH_CHAR_LIMIT = 4096
+ DEFAULT_PER_PAGE = Gitlab::SearchResults::DEFAULT_PER_PAGE
+ MAX_PER_PAGE = 200
+
def initialize(current_user, params = {})
@current_user = current_user
@params = params.dup
@@ -60,11 +63,19 @@ class SearchService
end
def search_objects
- @search_objects ||= redact_unauthorized_results(search_results.objects(scope, params[:page]))
+ @search_objects ||= redact_unauthorized_results(search_results.objects(scope, page: params[:page], per_page: per_page))
end
private
+ def per_page
+ per_page_param = params[:per_page].to_i
+
+ return DEFAULT_PER_PAGE unless per_page_param.positive?
+
+ [MAX_PER_PAGE, per_page_param].min
+ end
+
def visible_result?(object)
return true unless object.respond_to?(:to_ability_name) && DeclarativePolicy.has_policy?(object)
@@ -75,13 +86,13 @@ class SearchService
results = results_collection.to_a
permitted_results = results.select { |object| visible_result?(object) }
- filtered_results = (results - permitted_results).each_with_object({}) do |object, memo|
+ redacted_results = (results - permitted_results).each_with_object({}) do |object, memo|
memo[object.id] = { ability: :"read_#{object.to_ability_name}", id: object.id, class_name: object.class.name }
end
- log_redacted_search_results(filtered_results.values) if filtered_results.any?
+ log_redacted_search_results(redacted_results.values) if redacted_results.any?
- return results_collection.id_not_in(filtered_results.keys) if results_collection.is_a?(ActiveRecord::Relation)
+ return results_collection.id_not_in(redacted_results.keys) if results_collection.is_a?(ActiveRecord::Relation)
Kaminari.paginate_array(
permitted_results,
diff --git a/app/services/tags/destroy_service.rb b/app/services/tags/destroy_service.rb
index 4f6ae07be7d..3a01192487d 100644
--- a/app/services/tags/destroy_service.rb
+++ b/app/services/tags/destroy_service.rb
@@ -18,11 +18,6 @@ module Tags
.new(project, current_user, tag: tag_name)
.execute
- push_data = build_push_data(tag)
- EventCreateService.new.push(project, current_user, push_data)
- project.execute_hooks(push_data.dup, :tag_push_hooks)
- project.execute_services(push_data.dup, :tag_push_hooks)
-
success('Tag was removed')
else
error('Failed to remove tag')
@@ -38,14 +33,5 @@ module Tags
def success(message)
super().merge(message: message)
end
-
- def build_push_data(tag)
- Gitlab::DataBuilder::Push.build(
- project: project,
- user: current_user,
- oldrev: tag.dereferenced_target.sha,
- newrev: Gitlab::Git::BLANK_SHA,
- ref: "#{Gitlab::Git::TAG_REF_PREFIX}#{tag.name}")
- end
end
end
diff --git a/app/validators/cron_freeze_period_timezone_validator.rb b/app/validators/cron_freeze_period_timezone_validator.rb
new file mode 100644
index 00000000000..143a0262136
--- /dev/null
+++ b/app/validators/cron_freeze_period_timezone_validator.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+# CronTimezoneValidator
+#
+# Custom validator for CronTimezone.
+class CronFreezePeriodTimezoneValidator < ActiveModel::EachValidator
+ def validate_each(record, attribute, value)
+ freeze_start_parser = Gitlab::Ci::CronParser.new(record.freeze_start, record.cron_timezone)
+ freeze_end_parser = Gitlab::Ci::CronParser.new(record.freeze_end, record.cron_timezone)
+
+ record.errors.add(attribute, " is invalid syntax") unless freeze_start_parser.cron_timezone_valid? && freeze_end_parser.cron_timezone_valid?
+ end
+end
diff --git a/app/validators/cron_validator.rb b/app/validators/cron_validator.rb
index bd48a7a6efb..6f42bdb5f9b 100644
--- a/app/validators/cron_validator.rb
+++ b/app/validators/cron_validator.rb
@@ -1,11 +1,16 @@
# frozen_string_literal: true
-# CronValidator
-#
-# Custom validator for Cron.
class CronValidator < ActiveModel::EachValidator
+ ATTRIBUTE_WHITELIST = %i[cron freeze_start freeze_end].freeze
+
+ NonWhitelistedAttributeError = Class.new(StandardError)
+
def validate_each(record, attribute, value)
- cron_parser = Gitlab::Ci::CronParser.new(record.cron, record.cron_timezone)
- record.errors.add(attribute, " is invalid syntax") unless cron_parser.cron_valid?
+ if ATTRIBUTE_WHITELIST.include?(attribute)
+ cron_parser = Gitlab::Ci::CronParser.new(record.public_send(attribute), record.cron_timezone) # rubocop:disable GitlabSecurity/PublicSend
+ record.errors.add(attribute, " is invalid syntax") unless cron_parser.cron_valid?
+ else
+ raise NonWhitelistedAttributeError.new "Non-whitelisted attribute"
+ end
end
end
diff --git a/app/views/admin/application_settings/integrations.html.haml b/app/views/admin/application_settings/integrations.html.haml
index 2b01160a230..a8eff26b94c 100644
--- a/app/views/admin/application_settings/integrations.html.haml
+++ b/app/views/admin/application_settings/integrations.html.haml
@@ -18,7 +18,7 @@
%p
= s_('AdminSettings|Integrations configured here will automatically apply to all projects on this instance.')
= link_to _('Learn more'), '#'
- = render 'shared/integrations/integrations', integrations: @integrations
+ = render 'shared/integrations/index', integrations: @integrations
- else
= render_if_exists 'admin/application_settings/elasticsearch_form'
diff --git a/app/views/groups/group_members/index.html.haml b/app/views/groups/group_members/index.html.haml
index 048edb80d99..1f2fb747c7d 100644
--- a/app/views/groups/group_members/index.html.haml
+++ b/app/views/groups/group_members/index.html.haml
@@ -9,20 +9,16 @@
= _("Group members")
%hr
- if can_manage_members
- - if Feature.enabled?(:share_group_with_group, default_enabled: true)
- %ul.nav-links.nav.nav-tabs.gitlab-tabs{ role: 'tablist' }
+ %ul.nav-links.nav.nav-tabs.gitlab-tabs{ role: 'tablist' }
+ %li.nav-tab{ role: 'presentation' }
+ %a.nav-link.active{ href: '#invite-member-pane', id: 'invite-member-tab', data: { toggle: 'tab' }, role: 'tab' }= _("Invite member")
%li.nav-tab{ role: 'presentation' }
- %a.nav-link.active{ href: '#invite-member-pane', id: 'invite-member-tab', data: { toggle: 'tab' }, role: 'tab' }= _("Invite member")
- %li.nav-tab{ role: 'presentation' }
- %a.nav-link{ href: '#invite-group-pane', id: 'invite-group-tab', data: { toggle: 'tab', qa_selector: 'invite_group_tab' }, role: 'tab' }= _("Invite group")
- .tab-content.gitlab-tab-content
- .tab-pane.active{ id: 'invite-member-pane', role: 'tabpanel' }
- = render_invite_member_for_group(@group, @group_member.access_level)
- - if Feature.enabled?(:share_group_with_group, default_enabled: true)
- .tab-pane{ id: 'invite-group-pane', role: 'tabpanel' }
- = render 'shared/members/invite_group', submit_url: group_group_links_path(@group), access_levels: GroupMember.access_level_roles, default_access_level: @group_member.access_level, group_link_field: 'shared_with_group_id', group_access_field: 'shared_group_access'
- - else
- = render_invite_member_for_group(@group, @group_member.access_level)
+ %a.nav-link{ href: '#invite-group-pane', id: 'invite-group-tab', data: { toggle: 'tab', qa_selector: 'invite_group_tab' }, role: 'tab' }= _("Invite group")
+ .tab-content.gitlab-tab-content
+ .tab-pane.active{ id: 'invite-member-pane', role: 'tabpanel' }
+ = render_invite_member_for_group(@group, @group_member.access_level)
+ .tab-pane{ id: 'invite-group-pane', role: 'tabpanel' }
+ = render 'shared/members/invite_group', submit_url: group_group_links_path(@group), access_levels: GroupMember.access_level_roles, default_access_level: @group_member.access_level, group_link_field: 'shared_with_group_id', group_access_field: 'shared_group_access'
= render 'shared/members/requests', membership_source: @group, requesters: @requesters
diff --git a/app/views/groups/settings/integrations/index.html.haml b/app/views/groups/settings/integrations/index.html.haml
index 78825cc72b0..96bd6d69a96 100644
--- a/app/views/groups/settings/integrations/index.html.haml
+++ b/app/views/groups/settings/integrations/index.html.haml
@@ -6,4 +6,4 @@
%p
= s_('GroupSettings|Integrations configured here will automatically apply to all projects in this group.')
= link_to _('Learn more'), '#'
-= render 'shared/integrations/integrations', integrations: @integrations
+= render 'shared/integrations/index', integrations: @integrations
diff --git a/app/views/import/google_code/new_user_map.html.haml b/app/views/import/google_code/new_user_map.html.haml
index f523b993aa7..732ba95a63f 100644
--- a/app/views/import/google_code/new_user_map.html.haml
+++ b/app/views/import/google_code/new_user_map.html.haml
@@ -30,7 +30,7 @@
.form-group.row
.col-sm-12
- = text_area_tag :user_map, JSON.pretty_generate(@user_map), class: 'form-control', rows: 15
+ = text_area_tag :user_map, Gitlab::Json.pretty_generate(@user_map), class: 'form-control', rows: 15
.form-actions
= submit_tag _('Continue to the next step'), class: "btn btn-success"
diff --git a/app/views/layouts/nav/sidebar/_project.html.haml b/app/views/layouts/nav/sidebar/_project.html.haml
index 9df6a7dfc07..2f33cb22502 100644
--- a/app/views/layouts/nav/sidebar/_project.html.haml
+++ b/app/views/layouts/nav/sidebar/_project.html.haml
@@ -203,7 +203,7 @@
- if project_nav_tab? :operations
= nav_link(controller: sidebar_operations_paths) do
- = link_to sidebar_operations_link_path, class: 'shortcuts-operations qa-link-operations' do
+ = link_to sidebar_operations_link_path, class: 'shortcuts-operations', data: { qa_selector: 'operations_link' } do
.nav-icon-container
= sprite_icon('cloud-gear')
%span.nav-item-name
@@ -375,7 +375,7 @@
= _('CI / CD')
- if !@project.archived? && settings_operations_available?
= nav_link(controller: [:operations]) do
- = link_to project_settings_operations_path(@project), title: _('Operations') do
+ = link_to project_settings_operations_path(@project), title: _('Operations'), data: { qa_selector: 'operations_settings_link' } do
= _('Operations')
- if @project.pages_available?
= nav_link(controller: :pages) do
diff --git a/app/views/projects/alert_management/details.html.haml b/app/views/projects/alert_management/details.html.haml
index 766dbf7c128..5230d5e3476 100644
--- a/app/views/projects/alert_management/details.html.haml
+++ b/app/views/projects/alert_management/details.html.haml
@@ -1,4 +1,4 @@
- add_to_breadcrumbs s_('AlertManagement|Alerts'), project_alert_management_index_path(@project)
- page_title s_('AlertManagement|Alert detail')
-#js-alert_details
+#js-alert_details{ data: alert_management_detail_data(@project, @alert_id) }
diff --git a/app/views/projects/commit/_signature.html.haml b/app/views/projects/commit/_signature.html.haml
index aa7c90bad66..fb31ac44118 100644
--- a/app/views/projects/commit/_signature.html.haml
+++ b/app/views/projects/commit/_signature.html.haml
@@ -1,3 +1,3 @@
- if signature
- - uri = "projects/commit/#{"x509/" if signature.instance_of?(X509CommitSignature)}"
+ - uri = "projects/commit/#{"x509/" if x509_signature?(signature)}"
= render partial: "#{uri}#{signature.verification_status}_signature_badge", locals: { signature: signature }
diff --git a/app/views/projects/commit/_signature_badge.html.haml b/app/views/projects/commit/_signature_badge.html.haml
index 8ecaa1329fd..8004a5facd7 100644
--- a/app/views/projects/commit/_signature_badge.html.haml
+++ b/app/views/projects/commit/_signature_badge.html.haml
@@ -17,13 +17,13 @@
- content = capture do
- if show_user
.clearfix
- - uri_signature_badge_user = "projects/commit/#{"x509/" if signature.instance_of?(X509CommitSignature)}signature_badge_user"
+ - uri_signature_badge_user = "projects/commit/#{"x509/" if x509_signature?(signature)}signature_badge_user"
= render partial: "#{uri_signature_badge_user}", locals: { signature: signature }
- - if signature.instance_of?(X509CommitSignature)
+ - if x509_signature?(signature)
= render partial: "projects/commit/x509/certificate_details", locals: { signature: signature }
- = link_to(_('Learn more about x509 signed commits'), help_page_path('user/project/repository/x509_signed_commits/index.md'), class: 'gpg-popover-help-link')
+ = link_to(_('Learn more about X.509 signed commits'), help_page_path('user/project/repository/x509_signed_commits/index.md'), class: 'gpg-popover-help-link')
- else
= _('GPG Key ID:')
%span.monospace= signature.gpg_key_primary_keyid
diff --git a/app/views/projects/commit/x509/_signature_badge_user.html.haml b/app/views/projects/commit/x509/_signature_badge_user.html.haml
index b64ccba2a18..f3d39b21ec2 100644
--- a/app/views/projects/commit/x509/_signature_badge_user.html.haml
+++ b/app/views/projects/commit/x509/_signature_badge_user.html.haml
@@ -1,5 +1,5 @@
-- user = signature.commit.committer
- user_email = signature.x509_certificate.email
+- user = signature.user
- if user
= link_to user_path(user), class: 'gpg-popover-user-link' do
diff --git a/app/views/projects/merge_requests/_widget.html.haml b/app/views/projects/merge_requests/_widget.html.haml
index 1853d40c2e4..6aba5c98d52 100644
--- a/app/views/projects/merge_requests/_widget.html.haml
+++ b/app/views/projects/merge_requests/_widget.html.haml
@@ -8,6 +8,7 @@
window.gl.mrWidgetData.squash_before_merge_help_path = '#{help_page_path("user/project/merge_requests/squash_and_merge")}';
window.gl.mrWidgetData.troubleshooting_docs_path = '#{help_page_path('user/project/merge_requests/reviewing_and_managing_merge_requests.md', anchor: 'troubleshooting')}';
+ window.gl.mrWidgetData.pipeline_must_succeed_docs_path = '#{help_page_path('user/project/merge_requests/merge_when_pipeline_succeeds.md', anchor: 'only-allow-merge-requests-to-be-merged-if-the-pipeline-succeeds')}';
window.gl.mrWidgetData.security_approvals_help_page_path = '#{help_page_path('user/application_security/index.html', anchor: 'security-approvals-in-merge-requests-ultimate')}';
window.gl.mrWidgetData.eligible_approvers_docs_path = '#{help_page_path('user/project/merge_requests/merge_request_approvals', anchor: 'eligible-approvers')}';
window.gl.mrWidgetData.pipelines_empty_svg_path = '#{image_path('illustrations/pipelines_empty.svg')}';
diff --git a/app/views/projects/pages_domains/_certificate.html.haml b/app/views/projects/pages_domains/_certificate.html.haml
index e95841f2867..11c7e4a950b 100644
--- a/app/views/projects/pages_domains/_certificate.html.haml
+++ b/app/views/projects/pages_domains/_certificate.html.haml
@@ -1,7 +1,7 @@
- auto_ssl_available = ::Gitlab::LetsEncrypt.enabled?
-- auto_ssl_enabled = @domain.auto_ssl_enabled?
+- auto_ssl_enabled = domain_presenter.auto_ssl_enabled?
- auto_ssl_available_and_enabled = auto_ssl_available && auto_ssl_enabled
-- has_user_defined_certificate = @domain.certificate && @domain.certificate_user_provided?
+- has_user_defined_certificate = domain_presenter.certificate && domain_presenter.certificate_user_provided?
- if auto_ssl_available
.form-group.border-section
@@ -36,9 +36,9 @@
= _('Certificate')
.d-flex.justify-content-between.align-items-center.p-3
%span
- = @domain.pages_domain.subject || _('missing')
+ = domain_presenter.pages_domain.subject || _('missing')
= link_to _('Remove'),
- clean_certificate_project_pages_domain_path(@project, @domain),
+ clean_certificate_project_pages_domain_path(@project, domain_presenter),
data: { confirm: _('Are you sure?') },
class: 'btn btn-remove btn-sm',
method: :delete
diff --git a/app/views/projects/pages_domains/_dns.html.haml b/app/views/projects/pages_domains/_dns.html.haml
index e4e590f0a98..8e2a9c3bab4 100644
--- a/app/views/projects/pages_domains/_dns.html.haml
+++ b/app/views/projects/pages_domains/_dns.html.haml
@@ -1,5 +1,5 @@
- verification_enabled = Gitlab::CurrentSettings.pages_domain_verification_enabled?
-- dns_record = "#{@domain.domain} CNAME #{@domain.project.pages_subdomain}.#{Settings.pages.host}."
+- dns_record = "#{domain_presenter.domain} CNAME #{domain_presenter.project.pages_subdomain}.#{Settings.pages.host}."
.form-group.border-section
.row
@@ -13,17 +13,17 @@
%p.form-text.text-muted
= _("To access this domain create a new DNS record")
- if verification_enabled
- - verification_record = "#{@domain.verification_domain} TXT #{@domain.keyed_verification_code}"
+ - verification_record = "#{domain_presenter.verification_domain} TXT #{domain_presenter.keyed_verification_code}"
.form-group.border-section
.row
.col-sm-2
= _("Verification status")
.col-sm-10
.status-badge
- - text, status = @domain.unverified? ? [_('Unverified'), 'badge-danger'] : [_('Verified'), 'badge-success']
+ - text, status = domain_presenter.unverified? ? [_('Unverified'), 'badge-danger'] : [_('Verified'), 'badge-success']
.badge{ class: status }
= text
- = link_to sprite_icon("redo"), verify_project_pages_domain_path(@project, @domain), method: :post, class: "btn has-tooltip", title: _("Retry verification")
+ = link_to sprite_icon("redo"), verify_project_pages_domain_path(@project, domain_presenter), method: :post, class: "btn has-tooltip", title: _("Retry verification")
.input-group
= text_field_tag :domain_verification, verification_record, class: "monospace js-select-on-focus form-control", readonly: true
.input-group-append
diff --git a/app/views/projects/pages_domains/_form.html.haml b/app/views/projects/pages_domains/_form.html.haml
index e06dab9be06..9e9f60a6f09 100644
--- a/app/views/projects/pages_domains/_form.html.haml
+++ b/app/views/projects/pages_domains/_form.html.haml
@@ -1,15 +1,15 @@
-- if @domain.errors.any?
+- if domain_presenter.errors.any?
.alert.alert-danger
- - @domain.errors.full_messages.each do |msg|
+ - domain_presenter.errors.full_messages.each do |msg|
= msg
.form-group.border-section
.row
- - if @domain.persisted?
+ - if domain_presenter.persisted?
.col-sm-2
= _("Domain")
.col-sm-10
- = external_link(@domain.url, @domain.url)
+ = external_link(domain_presenter.url, domain_presenter.url)
- else
.col-sm-2
= f.label :domain, _("Domain")
@@ -17,7 +17,7 @@
.input-group
= f.text_field :domain, required: true, autocomplete: "off", class: "form-control"
-- if @domain.persisted?
+- if domain_presenter.persisted?
= render 'dns'
- if Gitlab.config.pages.external_https
diff --git a/app/views/projects/pages_domains/_lets_encrypt_callout.html.haml b/app/views/projects/pages_domains/_lets_encrypt_callout.html.haml
index f2de42b218c..a86637c36b3 100644
--- a/app/views/projects/pages_domains/_lets_encrypt_callout.html.haml
+++ b/app/views/projects/pages_domains/_lets_encrypt_callout.html.haml
@@ -1,6 +1,6 @@
-- if @domain.enabled?
- - if @domain.auto_ssl_enabled
- - if @domain.show_auto_ssl_failed_warning?
+- if domain_presenter.enabled?
+ - if domain_presenter.auto_ssl_enabled
+ - if domain_presenter.show_auto_ssl_failed_warning?
.form-group.border-section.js-shown-if-auto-ssl{ class: ("d-none" unless auto_ssl_available_and_enabled) }
.row
.col-sm-10.offset-sm-2
@@ -9,8 +9,8 @@
= icon('warning', class: 'mr-2')
= _("Something went wrong while obtaining the Let's Encrypt certificate.")
.row.mx-0.mt-3
- = link_to s_('GitLabPagesDomains|Retry'), retry_auto_ssl_project_pages_domain_path(@project, @domain), class: "btn btn-sm btn-grouped btn-warning", method: :post
- - elsif !@domain.certificate_gitlab_provided?
+ = link_to s_('GitLabPagesDomains|Retry'), retry_auto_ssl_project_pages_domain_path(@project, domain_presenter), class: "btn btn-sm btn-grouped btn-warning", method: :post
+ - elsif !domain_presenter.certificate_gitlab_provided?
.form-group.border-section.js-shown-if-auto-ssl{ class: ("d-none" unless auto_ssl_available_and_enabled) }
.row
.col-sm-10.offset-sm-2
diff --git a/app/views/projects/pages_domains/new.html.haml b/app/views/projects/pages_domains/new.html.haml
index 3210bfe9231..f5dc3ccc60e 100644
--- a/app/views/projects/pages_domains/new.html.haml
+++ b/app/views/projects/pages_domains/new.html.haml
@@ -4,7 +4,7 @@
= _("New Pages Domain")
= render 'projects/pages_domains/helper_text'
%div
- = form_for [@project.namespace.becomes(Namespace), @project, @domain], html: { class: 'fieldset-form' } do |f|
+ = form_for [@project.namespace.becomes(Namespace), @project, domain_presenter], html: { class: 'fieldset-form' } do |f|
= render 'form', { f: f }
.form-actions
= f.submit _('Create New Domain'), class: "btn btn-success"
diff --git a/app/views/projects/pages_domains/show.html.haml b/app/views/projects/pages_domains/show.html.haml
index a08be65d7e4..e1be7335a3f 100644
--- a/app/views/projects/pages_domains/show.html.haml
+++ b/app/views/projects/pages_domains/show.html.haml
@@ -1,10 +1,10 @@
- add_to_breadcrumbs _("Pages"), project_pages_path(@project)
-- breadcrumb_title @domain.domain
-- page_title @domain.domain
+- breadcrumb_title domain_presenter.domain
+- page_title domain_presenter.domain
- verification_enabled = Gitlab::CurrentSettings.pages_domain_verification_enabled?
-- if verification_enabled && @domain.unverified?
+- if verification_enabled && domain_presenter.unverified?
= content_for :flash_message do
.alert.alert-warning
.container-fluid.container-limited
@@ -14,7 +14,7 @@
= _('Pages Domain')
= render 'projects/pages_domains/helper_text'
%div
- = form_for [@project.namespace.becomes(Namespace), @project, @domain], html: { class: 'fieldset-form' } do |f|
+ = form_for [@project.namespace.becomes(Namespace), @project, domain_presenter], html: { class: 'fieldset-form' } do |f|
= render 'form', { f: f }
.form-actions.d-flex.justify-content-between
= f.submit _('Save Changes'), class: "btn btn-success"
diff --git a/app/views/projects/pipelines/index.html.haml b/app/views/projects/pipelines/index.html.haml
index f64f07487fd..64789c7c263 100644
--- a/app/views/projects/pipelines/index.html.haml
+++ b/app/views/projects/pipelines/index.html.haml
@@ -3,6 +3,7 @@
= render_if_exists "shared/shared_runners_minutes_limit_flash_message"
#pipelines-list-vue{ data: { endpoint: project_pipelines_path(@project, format: :json),
+ project_id: @project.id,
"help-page-path" => help_page_path('ci/quick_start/README'),
"help-auto-devops-path" => help_page_path('topics/autodevops/index.md'),
"empty-state-svg-path" => image_path('illustrations/pipelines_empty.svg'),
diff --git a/app/views/projects/services/_index.html.haml b/app/views/projects/services/_index.html.haml
deleted file mode 100644
index dca324ac846..00000000000
--- a/app/views/projects/services/_index.html.haml
+++ /dev/null
@@ -1,30 +0,0 @@
-.row.prepend-top-default
- .col-lg-4
- %h4.prepend-top-0
- = _('Integrations')
- %p= _('Integrations allow you to integrate GitLab with other applications')
- .col-lg-8
- %table.table
- %colgroup
- %col
- %col
- %col
- %col{ width: "120" }
- %thead
- %tr
- %th
- %th= _('Integration')
- %th.d-none.d-sm-block= _("Description")
- %th= s_("ProjectService|Last edit")
- - @services.sort_by(&:title).each do |service|
- %tr
- %td{ "aria-label" => (service.activated? ? s_("ProjectService|%{service_title}: status on") : s_("ProjectService|%{service_title}: status off")) % { service_title: service.title } }
- = boolean_to_icon service.activated?
- %td
- = link_to edit_project_service_path(@project, service.to_param), { data: { qa_selector: "#{service.title.downcase.gsub(/[\s\(\)]/,'_')}_link" } } do
- %strong= service.title
- %td.d-none.d-sm-block
- = service.description
- %td.light
- - if service.updated_at.present?
- = time_ago_with_tooltip service.updated_at
diff --git a/app/views/projects/settings/ci_cd/_form.html.haml b/app/views/projects/settings/ci_cd/_form.html.haml
index 4040b1094aa..b50f712922f 100644
--- a/app/views/projects/settings/ci_cd/_form.html.haml
+++ b/app/views/projects/settings/ci_cd/_form.html.haml
@@ -103,7 +103,7 @@
.input-group
%span.input-group-prepend
.input-group-text /
- = f.text_field :build_coverage_regex, class: 'form-control', placeholder: 'Regular expression'
+ = f.text_field :build_coverage_regex, class: 'form-control', placeholder: 'Regular expression', data: { qa_selector: 'build_coverage_regex_field' }
%span.input-group-append
.input-group-text /
%p.form-text.text-muted
@@ -143,7 +143,7 @@
go test -cover (Go)
%code coverage: \d+.\d+% of statements
- = f.submit _('Save changes'), class: "btn btn-success"
+ = f.submit _('Save changes'), class: "btn btn-success", data: { qa_selector: 'save_general_pipelines_changes_button' }
%hr
diff --git a/app/views/projects/settings/ci_cd/show.html.haml b/app/views/projects/settings/ci_cd/show.html.haml
index 1358077f2b2..4e14426a069 100644
--- a/app/views/projects/settings/ci_cd/show.html.haml
+++ b/app/views/projects/settings/ci_cd/show.html.haml
@@ -5,7 +5,7 @@
- expanded = expanded_by_default?
- general_expanded = @project.errors.empty? ? expanded : true
-%section.settings#js-general-pipeline-settings.no-animate{ class: ('expanded' if general_expanded) }
+%section.settings#js-general-pipeline-settings.no-animate{ class: ('expanded' if general_expanded), data: { qa_selector: 'general_pipelines_settings_content' } }
.settings-header
%h4
= _("General pipelines")
diff --git a/app/views/projects/settings/integrations/show.html.haml b/app/views/projects/settings/integrations/show.html.haml
index f603f23a2c7..4372763fcf7 100644
--- a/app/views/projects/settings/integrations/show.html.haml
+++ b/app/views/projects/settings/integrations/show.html.haml
@@ -12,4 +12,6 @@
.gl-alert-actions
= link_to _('Go to Webhooks'), project_hooks_path(@project), class: 'btn gl-alert-action btn-info new-gl-button'
-= render 'projects/services/index'
+%h4= s_('Integrations')
+%p= s_('Integrations allow you to integrate GitLab with other applications')
+= render 'shared/integrations/index', integrations: @services
diff --git a/app/views/projects/settings/operations/_incidents.html.haml b/app/views/projects/settings/operations/_incidents.html.haml
index a96a41b78c2..92fffa42b73 100644
--- a/app/views/projects/settings/operations/_incidents.html.haml
+++ b/app/views/projects/settings/operations/_incidents.html.haml
@@ -2,7 +2,7 @@
- setting = project_incident_management_setting
- templates = setting.available_issue_templates.map { |t| [t.name, t.key] }
-%section.settings.no-animate.qa-incident-management-settings
+%section.settings.no-animate.qa-incident-management-settings{ data: { qa_selector: 'incidents_settings_content' } }
.settings-header
%h3{ :class => "h4" }= _('Incidents')
%button.btn.js-settings-toggle{ type: 'button' }
@@ -17,16 +17,16 @@
.form-group
= f.fields_for :incident_management_setting_attributes, setting do |form|
.form-group
- = form.check_box :create_issue
+ = form.check_box :create_issue, data: { qa_selector: 'create_issue_checkbox' }
= form.label :create_issue, _('Create an issue. Issues are created for each alert triggered.'), class: 'form-check-label'
.form-group.col-sm-8
= form.label :issue_template_key, class: 'label-bold' do
= _('Issue template (optional)')
= link_to icon('question-circle'), help_page_path('user/project/description_templates', anchor: 'creating-issue-templates'), target: '_blank', rel: 'noopener noreferrer'
.select-wrapper
- = form.select :issue_template_key, templates, {include_blank: 'No template selected'}, class: "form-control select-control"
+ = form.select :issue_template_key, templates, {include_blank: 'No template selected'}, class: "form-control select-control", data: { qa_selector: 'incident_templates_dropdown' }
= icon('chevron-down')
.form-group
= form.check_box :send_email
= form.label :send_email, _('Send a separate email notification to Developers.'), class: 'form-check-label'
- = f.submit _('Save changes'), class: 'btn btn-success'
+ = f.submit _('Save changes'), class: 'btn btn-success', data: { qa_selector: 'save_changes_button' }
diff --git a/app/views/projects/snippets/show.html.haml b/app/views/projects/snippets/show.html.haml
index ccf109968fc..7cf5de8947c 100644
--- a/app/views/projects/snippets/show.html.haml
+++ b/app/views/projects/snippets/show.html.haml
@@ -3,7 +3,7 @@
- breadcrumb_title @snippet.to_reference
- page_title "#{@snippet.title} (#{@snippet.to_reference})", _("Snippets")
-- if Feature.enabled?(:snippets_vue)
+- if Feature.enabled?(:snippets_vue, default_enabled: true)
#js-snippet-view{ data: {'qa-selector': 'snippet_view', 'snippet-gid': @snippet.to_global_id} }
- else
= render 'shared/snippets/header'
diff --git a/app/views/projects/tags/_tag.html.haml b/app/views/projects/tags/_tag.html.haml
index 75805192a61..da693a15ec2 100644
--- a/app/views/projects/tags/_tag.html.haml
+++ b/app/views/projects/tags/_tag.html.haml
@@ -30,6 +30,9 @@
= markdown_field(release, :description)
.row-fixed-content.controls.flex-row
+ - if tag.has_signature?
+ = render partial: 'projects/commit/signature', object: tag.signature
+
= render 'projects/buttons/download', project: @project, ref: tag.name, pipeline: @tags_pipelines[tag.name]
- if can?(current_user, :admin_tag, @project)
diff --git a/app/views/projects/tags/show.html.haml b/app/views/projects/tags/show.html.haml
index 8086d47479d..6f53a687fb9 100644
--- a/app/views/projects/tags/show.html.haml
+++ b/app/views/projects/tags/show.html.haml
@@ -39,6 +39,8 @@
= s_("TagsPage|Can't find HEAD commit for this tag")
.nav-controls
+ - if @tag.has_signature?
+ = render partial: 'projects/commit/signature', object: @tag.signature
- if can?(current_user, :admin_tag, @project)
= link_to edit_project_tag_release_path(@project, @tag.name), class: 'btn btn-edit controls-item has-tooltip', title: s_('TagsPage|Edit release notes') do
= icon("pencil")
diff --git a/app/views/shared/_service_settings.html.haml b/app/views/shared/_service_settings.html.haml
index 7262c47f9d3..cb298459dc7 100644
--- a/app/views/shared/_service_settings.html.haml
+++ b/app/views/shared/_service_settings.html.haml
@@ -8,9 +8,10 @@
= markdown @service.help
.service-settings
- .js-vue-integration-settings{ data: { show_active: @service.show_active_box?.to_s, activated: (@service.active || @service.new_record?).to_s } }
+ .js-vue-integration-settings{ data: { show_active: @service.show_active_box?.to_s, activated: (@service.active || @service.new_record?).to_s, type: @service.to_param, merge_request_events: @service.merge_requests_events.to_s,
+commit_events: @service.commit_events.to_s, enable_comments: @service.comment_on_event_enabled.to_s, comment_detail: @service.comment_detail } }
- - if @service.configurable_events.present?
+ - if @service.configurable_events.present? && !@service.is_a?(JiraService)
.form-group.row
%label.col-form-label.col-sm-2= _('Trigger')
@@ -31,22 +32,6 @@
%p.text-muted
= @service.class.event_description(event)
- - if @service.configurable_event_actions.present?
- .form-group.row
- %label.col-form-label.col-sm-2= _('Event Actions')
-
- .col-sm-10
- - @service.configurable_event_actions.each do |action|
- .form-group
- .form-check
- = form.check_box service_event_action_field_name(action), class: 'form-check-input'
- = form.label service_event_action_field_name(action), class: 'form-check-label' do
- %strong
- = event_action_description(action)
-
- %p.text-muted
- = event_action_description(action)
-
- @service.global_fields.each do |field|
- type = field[:type]
diff --git a/app/views/shared/hook_logs/_content.html.haml b/app/views/shared/hook_logs/_content.html.haml
index f3b56df0c96..6b056e93460 100644
--- a/app/views/shared/hook_logs/_content.html.haml
+++ b/app/views/shared/hook_logs/_content.html.haml
@@ -31,7 +31,7 @@
%h5 Request body:
%pre
:escaped
- #{JSON.pretty_generate(hook_log.request_data)}
+ #{Gitlab::Json.pretty_generate(hook_log.request_data)}
%h5 Response headers:
%pre
- hook_log.response_headers.each do |k,v|
diff --git a/app/views/shared/integrations/_integrations.html.haml b/app/views/shared/integrations/_index.html.haml
index b2359aca016..176f899d677 100644
--- a/app/views/shared/integrations/_integrations.html.haml
+++ b/app/views/shared/integrations/_index.html.haml
@@ -3,7 +3,7 @@
%col
%col
%col.d-none.d-sm-table-column
- %col{ width: 120 }
+ %col{ width: 130 }
%thead{ role: 'rowgroup' }
%tr{ role: 'row' }
%th{ role: 'columnheader', scope: 'col', 'aria-colindex': 1 }
@@ -13,13 +13,14 @@
%tbody{ role: 'rowgroup' }
- integrations.each do |integration|
+ - activated_label = (integration.activated? ? s_("ProjectService|%{service_title}: status on") : s_("ProjectService|%{service_title}: status off")) % { service_title: integration.title }
%tr{ role: 'row' }
- %td{ role: 'cell', 'aria-colindex': 1 }
+ %td{ role: 'cell', 'aria-colindex': 1, 'aria-label': activated_label }
= boolean_to_icon integration.activated?
%td{ role: 'cell', 'aria-colindex': 2 }
- = link_to scoped_edit_integration_path(integration) do
+ = link_to scoped_edit_integration_path(integration), { data: { qa_selector: "#{integration.to_param}_link" } } do
%strong= integration.title
- %td.d-none.d-sm-block{ role: 'cell', 'aria-colindex': 3 }
+ %td.d-none.d-sm-table-cell{ role: 'cell', 'aria-colindex': 3 }
= integration.description
%td{ role: 'cell', 'aria-colindex': 4 }
- if integration.updated_at.present?
diff --git a/app/views/shared/snippets/_header.html.haml b/app/views/shared/snippets/_header.html.haml
index 1ca122aa7de..e663d57ae6a 100644
--- a/app/views/shared/snippets/_header.html.haml
+++ b/app/views/shared/snippets/_header.html.haml
@@ -34,7 +34,7 @@
.embed-snippet
.input-group
.input-group-prepend
- %button.btn.btn-svg.embed-toggle.input-group-text.qa-embed-type{ 'data-toggle': 'dropdown', type: 'button' }
+ %button.btn.btn-svg.embed-toggle.input-group-text{ 'data-toggle': 'dropdown', type: 'button' }
%span.js-embed-action= _("Embed")
= sprite_icon('angle-down', size: 12, css_class: 'caret-down')
%ul.dropdown-menu.dropdown-menu-selectable.embed-toggle-list
diff --git a/app/views/snippets/show.html.haml b/app/views/snippets/show.html.haml
index 741e38e3d84..819f02b78fe 100644
--- a/app/views/snippets/show.html.haml
+++ b/app/views/snippets/show.html.haml
@@ -4,7 +4,7 @@
- breadcrumb_title @snippet.to_reference
- page_title "#{@snippet.title} (#{@snippet.to_reference})", _("Snippets")
-- if Feature.enabled?(:snippets_vue)
+- if Feature.enabled?(:snippets_vue, default_enabled: true)
#js-snippet-view{ data: {'qa-selector': 'snippet_view', 'snippet-gid': @snippet.to_global_id} }
- else
= render 'shared/snippets/header'
diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml
index ccac944605d..7155107b586 100644
--- a/app/workers/all_queues.yml
+++ b/app/workers/all_queues.yml
@@ -18,35 +18,35 @@
:weight: 3
:idempotent:
- :name: chaos:chaos_cpu_spin
- :feature_category: :chaos_engineering
+ :feature_category: :not_owned
:has_external_dependencies:
:urgency: :low
:resource_boundary: :unknown
:weight: 2
:idempotent:
- :name: chaos:chaos_db_spin
- :feature_category: :chaos_engineering
+ :feature_category: :not_owned
:has_external_dependencies:
:urgency: :low
:resource_boundary: :unknown
:weight: 2
:idempotent:
- :name: chaos:chaos_kill
- :feature_category: :chaos_engineering
+ :feature_category: :not_owned
:has_external_dependencies:
:urgency: :low
:resource_boundary: :unknown
:weight: 2
:idempotent:
- :name: chaos:chaos_leak_mem
- :feature_category: :chaos_engineering
+ :feature_category: :not_owned
:has_external_dependencies:
:urgency: :low
:resource_boundary: :unknown
:weight: 2
:idempotent:
- :name: chaos:chaos_sleep
- :feature_category: :chaos_engineering
+ :feature_category: :not_owned
:has_external_dependencies:
:urgency: :low
:resource_boundary: :unknown
@@ -849,7 +849,7 @@
:urgency: :high
:resource_boundary: :cpu
:weight: 5
- :idempotent:
+ :idempotent: true
- :name: repository_check:repository_check_batch
:feature_category: :source_code_management
:has_external_dependencies:
diff --git a/app/workers/concerns/chaos_queue.rb b/app/workers/concerns/chaos_queue.rb
index c5db10491f2..a9c557f0175 100644
--- a/app/workers/concerns/chaos_queue.rb
+++ b/app/workers/concerns/chaos_queue.rb
@@ -5,6 +5,6 @@ module ChaosQueue
included do
queue_namespace :chaos
- feature_category :chaos_engineering
+ feature_category_not_owned!
end
end
diff --git a/app/workers/project_update_repository_storage_worker.rb b/app/workers/project_update_repository_storage_worker.rb
index 7de75c6a46c..5c1a8062f12 100644
--- a/app/workers/project_update_repository_storage_worker.rb
+++ b/app/workers/project_update_repository_storage_worker.rb
@@ -5,7 +5,7 @@ class ProjectUpdateRepositoryStorageWorker # rubocop:disable Scalability/Idempot
feature_category :gitaly
- def perform(project_id, new_repository_storage_key, repository_storage_move_id: nil)
+ def perform(project_id, new_repository_storage_key, repository_storage_move_id = nil)
repository_storage_move =
if repository_storage_move_id
ProjectRepositoryStorageMove.find(repository_storage_move_id)
diff --git a/app/workers/update_head_pipeline_for_merge_request_worker.rb b/app/workers/update_head_pipeline_for_merge_request_worker.rb
index 69698ba81bd..63d11d33283 100644
--- a/app/workers/update_head_pipeline_for_merge_request_worker.rb
+++ b/app/workers/update_head_pipeline_for_merge_request_worker.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-class UpdateHeadPipelineForMergeRequestWorker # rubocop:disable Scalability/IdempotentWorker
+class UpdateHeadPipelineForMergeRequestWorker
include ApplicationWorker
include PipelineQueue
@@ -9,6 +9,8 @@ class UpdateHeadPipelineForMergeRequestWorker # rubocop:disable Scalability/Idem
urgency :high
worker_resource_boundary :cpu
+ idempotent!
+
def perform(merge_request_id)
MergeRequest.find_by_id(merge_request_id).try do |merge_request|
merge_request.update_head_pipeline
diff --git a/changelogs/unreleased/118609-design-comment-edit-comment-text.yml b/changelogs/unreleased/118609-design-comment-edit-comment-text.yml
new file mode 100644
index 00000000000..d5fdc2ca274
--- /dev/null
+++ b/changelogs/unreleased/118609-design-comment-edit-comment-text.yml
@@ -0,0 +1,5 @@
+---
+title: 'Resolve Design Comment: Edit Comment text'
+merge_request: 30479
+author:
+type: added
diff --git a/changelogs/unreleased/195887-jira-comment-details-include-branch-name.yml b/changelogs/unreleased/195887-jira-comment-details-include-branch-name.yml
new file mode 100644
index 00000000000..8a5721cc596
--- /dev/null
+++ b/changelogs/unreleased/195887-jira-comment-details-include-branch-name.yml
@@ -0,0 +1,5 @@
+---
+title: Update Jira comment to include more information
+merge_request: 30258
+author:
+type: added
diff --git a/changelogs/unreleased/195889-integrations-list-views-should-use-recommended-page-layout.yml b/changelogs/unreleased/195889-integrations-list-views-should-use-recommended-page-layout.yml
new file mode 100644
index 00000000000..580c970ad14
--- /dev/null
+++ b/changelogs/unreleased/195889-integrations-list-views-should-use-recommended-page-layout.yml
@@ -0,0 +1,5 @@
+---
+title: Apply shared integrations view to project level
+merge_request: 30971
+author:
+type: changed
diff --git a/changelogs/unreleased/197344-use-cookies-with-metadata.yml b/changelogs/unreleased/197344-use-cookies-with-metadata.yml
new file mode 100644
index 00000000000..c07927ee6ad
--- /dev/null
+++ b/changelogs/unreleased/197344-use-cookies-with-metadata.yml
@@ -0,0 +1,5 @@
+---
+title: Use cookies with metadata to prevent reuse as another cookie
+merge_request: 31311
+author:
+type: other
diff --git a/changelogs/unreleased/198324-avoid_subqueries.yml b/changelogs/unreleased/198324-avoid_subqueries.yml
new file mode 100644
index 00000000000..4aa37fd4c0d
--- /dev/null
+++ b/changelogs/unreleased/198324-avoid_subqueries.yml
@@ -0,0 +1,5 @@
+---
+title: Speed up NOT Issue filters
+merge_request: 27639
+author:
+type: performance
diff --git a/changelogs/unreleased/199053-inconsistent-help-icon-styling.yml b/changelogs/unreleased/199053-inconsistent-help-icon-styling.yml
new file mode 100644
index 00000000000..3d11351ca8b
--- /dev/null
+++ b/changelogs/unreleased/199053-inconsistent-help-icon-styling.yml
@@ -0,0 +1,5 @@
+---
+title: Update merge request widget question mark icons
+merge_request: 30759
+author:
+type: other
diff --git a/changelogs/unreleased/204839-registry-application-settings.yml b/changelogs/unreleased/204839-registry-application-settings.yml
new file mode 100644
index 00000000000..a04fd2e756d
--- /dev/null
+++ b/changelogs/unreleased/204839-registry-application-settings.yml
@@ -0,0 +1,5 @@
+---
+title: Add container registry settings to application_settings table
+merge_request: 31125
+author:
+type: added
diff --git a/changelogs/unreleased/207235-snippets-vue-ff-on-by-default.yml b/changelogs/unreleased/207235-snippets-vue-ff-on-by-default.yml
new file mode 100644
index 00000000000..352d80eaa93
--- /dev/null
+++ b/changelogs/unreleased/207235-snippets-vue-ff-on-by-default.yml
@@ -0,0 +1,5 @@
+---
+title: Refactored Snippet view to Vue
+merge_request: 31450
+author:
+type: added
diff --git a/changelogs/unreleased/207267-expiration-policy-copy.yml b/changelogs/unreleased/207267-expiration-policy-copy.yml
new file mode 100644
index 00000000000..9ddff8a76fb
--- /dev/null
+++ b/changelogs/unreleased/207267-expiration-policy-copy.yml
@@ -0,0 +1,5 @@
+---
+title: Update the example regex in the image expiration policy UI
+merge_request: 31104
+author:
+type: changed
diff --git a/changelogs/unreleased/207324-search-api-scoped-to-blobs-does-not-honor-per_page.yml b/changelogs/unreleased/207324-search-api-scoped-to-blobs-does-not-honor-per_page.yml
new file mode 100644
index 00000000000..e1e24bfdd7d
--- /dev/null
+++ b/changelogs/unreleased/207324-search-api-scoped-to-blobs-does-not-honor-per_page.yml
@@ -0,0 +1,5 @@
+---
+title: Honor per_page in Search API
+merge_request: 29197
+author:
+type: fixed
diff --git a/changelogs/unreleased/207471-expose-note-confidential-attribute-in-apis-and-display-on-frontend.yml b/changelogs/unreleased/207471-expose-note-confidential-attribute-in-apis-and-display-on-frontend.yml
new file mode 100644
index 00000000000..ed347a93dbc
--- /dev/null
+++ b/changelogs/unreleased/207471-expose-note-confidential-attribute-in-apis-and-display-on-frontend.yml
@@ -0,0 +1,5 @@
+---
+title: Add confidential status support for new comments
+merge_request: 30570
+author:
+type: added
diff --git a/changelogs/unreleased/212279-webide-vue-files.yml b/changelogs/unreleased/212279-webide-vue-files.yml
new file mode 100644
index 00000000000..957c1642c0c
--- /dev/null
+++ b/changelogs/unreleased/212279-webide-vue-files.yml
@@ -0,0 +1,5 @@
+---
+title: 'Web IDE: Introduce syntax highlighting for .vue files.'
+merge_request: 30986
+author:
+type: added
diff --git a/changelogs/unreleased/213572-drop-lm-template-support.yml b/changelogs/unreleased/213572-drop-lm-template-support.yml
new file mode 100644
index 00000000000..4d6163bf1a3
--- /dev/null
+++ b/changelogs/unreleased/213572-drop-lm-template-support.yml
@@ -0,0 +1,5 @@
+---
+title: Drop support for License-Management CI template
+merge_request: 30645
+author:
+type: removed
diff --git a/changelogs/unreleased/214522-list.yml b/changelogs/unreleased/214522-list.yml
new file mode 100644
index 00000000000..f390c037c66
--- /dev/null
+++ b/changelogs/unreleased/214522-list.yml
@@ -0,0 +1,5 @@
+---
+title: Alert Management mobile styling
+merge_request: 31082
+author:
+type: other
diff --git a/changelogs/unreleased/214583-add-ability-to-query-projects.yml b/changelogs/unreleased/214583-add-ability-to-query-projects.yml
new file mode 100644
index 00000000000..57187afa250
--- /dev/null
+++ b/changelogs/unreleased/214583-add-ability-to-query-projects.yml
@@ -0,0 +1,5 @@
+---
+title: Add ability to query Projects using GraphQL API
+merge_request: 30146
+author:
+type: added
diff --git a/changelogs/unreleased/215472-single-chart-from-url.yml b/changelogs/unreleased/215472-single-chart-from-url.yml
new file mode 100644
index 00000000000..f5fef9e76c3
--- /dev/null
+++ b/changelogs/unreleased/215472-single-chart-from-url.yml
@@ -0,0 +1,5 @@
+---
+title: Display expanded dashboard from a panel's "Link to chart" URL
+merge_request: 30476
+author:
+type: added
diff --git a/changelogs/unreleased/215473-url-update-single-panel.yml b/changelogs/unreleased/215473-url-update-single-panel.yml
new file mode 100644
index 00000000000..730c35ddce0
--- /dev/null
+++ b/changelogs/unreleased/215473-url-update-single-panel.yml
@@ -0,0 +1,5 @@
+---
+title: Update metrics dashboard url when a panel is expanded or contracted
+merge_request: 30704
+author:
+type: added
diff --git a/changelogs/unreleased/215598-alert-management-graphql-sort-backend.yml b/changelogs/unreleased/215598-alert-management-graphql-sort-backend.yml
new file mode 100644
index 00000000000..5ab1107ef32
--- /dev/null
+++ b/changelogs/unreleased/215598-alert-management-graphql-sort-backend.yml
@@ -0,0 +1,5 @@
+---
+title: Add sorting to AlertManagement Alert Graphql
+merge_request: 30964
+author:
+type: added
diff --git a/changelogs/unreleased/215955-redirect-loop-when-logging-in-for-the-experimental-sign_up-flow.yml b/changelogs/unreleased/215955-redirect-loop-when-logging-in-for-the-experimental-sign_up-flow.yml
new file mode 100644
index 00000000000..c0a1a586d44
--- /dev/null
+++ b/changelogs/unreleased/215955-redirect-loop-when-logging-in-for-the-experimental-sign_up-flow.yml
@@ -0,0 +1,5 @@
+---
+title: Fix redirect loop on .com when 2FA is required
+merge_request: 31229
+author:
+type: fixed
diff --git a/changelogs/unreleased/216031-show-accurate-error-message-when-pipelines-disabled-mr-must-succee.yml b/changelogs/unreleased/216031-show-accurate-error-message-when-pipelines-disabled-mr-must-succee.yml
new file mode 100644
index 00000000000..c7868e90106
--- /dev/null
+++ b/changelogs/unreleased/216031-show-accurate-error-message-when-pipelines-disabled-mr-must-succee.yml
@@ -0,0 +1,7 @@
+---
+title:
+ Add clear explanation to the MR widget when no CI is available and Pipeline
+ must succeed option is activated
+merge_request: 31112
+author:
+type: changed
diff --git a/changelogs/unreleased/216157-add-usage-ping-recording_finished_at-field.yml b/changelogs/unreleased/216157-add-usage-ping-recording_finished_at-field.yml
new file mode 100644
index 00000000000..5f0e8cbb94b
--- /dev/null
+++ b/changelogs/unreleased/216157-add-usage-ping-recording_finished_at-field.yml
@@ -0,0 +1,5 @@
+---
+title: Record usage ping finish time
+merge_request: 31222
+author:
+type: performance
diff --git a/changelogs/unreleased/216216-fix-mr-diffs-external-diffs-store-bug.yml b/changelogs/unreleased/216216-fix-mr-diffs-external-diffs-store-bug.yml
new file mode 100644
index 00000000000..6051b3f70c6
--- /dev/null
+++ b/changelogs/unreleased/216216-fix-mr-diffs-external-diffs-store-bug.yml
@@ -0,0 +1,5 @@
+---
+title: Correctly track the store that external MR diffs are placed on
+merge_request: 31005
+author:
+type: fixed
diff --git a/changelogs/unreleased/216243.yml b/changelogs/unreleased/216243.yml
new file mode 100644
index 00000000000..dfdfac5832a
--- /dev/null
+++ b/changelogs/unreleased/216243.yml
@@ -0,0 +1,5 @@
+---
+title: Add docs for alert management list
+merge_request: 31225
+author:
+type: other
diff --git a/changelogs/unreleased/216345-extend-project-group-membership-checks-to-group-ancestors.yml b/changelogs/unreleased/216345-extend-project-group-membership-checks-to-group-ancestors.yml
new file mode 100644
index 00000000000..6a82569a74b
--- /dev/null
+++ b/changelogs/unreleased/216345-extend-project-group-membership-checks-to-group-ancestors.yml
@@ -0,0 +1,5 @@
+---
+title: Consider project group and group ancestors when processing CODEOWNERS entries
+merge_request: 31152
+author:
+type: added
diff --git a/changelogs/unreleased/216472-move-embeding-metrics-to-core.yml b/changelogs/unreleased/216472-move-embeding-metrics-to-core.yml
new file mode 100644
index 00000000000..bd3dcda4c89
--- /dev/null
+++ b/changelogs/unreleased/216472-move-embeding-metrics-to-core.yml
@@ -0,0 +1,5 @@
+---
+title: Moves embedded metrics for Prometheus alerts to Core
+merge_request: 31203
+author:
+type: changed
diff --git a/changelogs/unreleased/216477-gllink-updates.yml b/changelogs/unreleased/216477-gllink-updates.yml
new file mode 100644
index 00000000000..3a786fa479e
--- /dev/null
+++ b/changelogs/unreleased/216477-gllink-updates.yml
@@ -0,0 +1,5 @@
+---
+title: Update style of buttons on the Releases page
+merge_request: 31129
+author: Özgür Adem Işıklı @iozguradem
+type: changed
diff --git a/changelogs/unreleased/216728-actionview-template-error-undefined-method-pages_domain-for-pagesd.yml b/changelogs/unreleased/216728-actionview-template-error-undefined-method-pages_domain-for-pagesd.yml
new file mode 100644
index 00000000000..d34e092c9ee
--- /dev/null
+++ b/changelogs/unreleased/216728-actionview-template-error-undefined-method-pages_domain-for-pagesd.yml
@@ -0,0 +1,5 @@
+---
+title: Fix 500 on creating an invalid domains and verification
+merge_request: 31190
+author:
+type: fixed
diff --git a/changelogs/unreleased/217310.yml b/changelogs/unreleased/217310.yml
new file mode 100644
index 00000000000..bdae668659e
--- /dev/null
+++ b/changelogs/unreleased/217310.yml
@@ -0,0 +1,5 @@
+---
+title: Fix missing space on system notes
+merge_request: 31598
+author:
+type: fixed
diff --git a/changelogs/unreleased/24295-freeze-period-db-changes.yml b/changelogs/unreleased/24295-freeze-period-db-changes.yml
new file mode 100644
index 00000000000..eace0795545
--- /dev/null
+++ b/changelogs/unreleased/24295-freeze-period-db-changes.yml
@@ -0,0 +1,5 @@
+---
+title: Add freeze period model
+merge_request: 29162
+author:
+type: added
diff --git a/changelogs/unreleased/33200-add-empty-needs-to-auto-devops-test.yml b/changelogs/unreleased/33200-add-empty-needs-to-auto-devops-test.yml
new file mode 100644
index 00000000000..81f02558134
--- /dev/null
+++ b/changelogs/unreleased/33200-add-empty-needs-to-auto-devops-test.yml
@@ -0,0 +1,5 @@
+---
+title: Allow Auto DevOps Test stage to start immediately
+merge_request: 31185
+author:
+type: other
diff --git a/changelogs/unreleased/39467-allow-a-release-s-associated-milestones-to-be-edited-through-the-ed.yml b/changelogs/unreleased/39467-allow-a-release-s-associated-milestones-to-be-edited-through-the-ed.yml
new file mode 100644
index 00000000000..f182418b0e1
--- /dev/null
+++ b/changelogs/unreleased/39467-allow-a-release-s-associated-milestones-to-be-edited-through-the-ed.yml
@@ -0,0 +1,5 @@
+---
+title: 'Allow to assign milestones to a release on the "Edit Release page"'
+merge_request: 28583
+author:
+type: added
diff --git a/changelogs/unreleased/add-ci-kubernetes-active-pipeline-variable.yml b/changelogs/unreleased/add-ci-kubernetes-active-pipeline-variable.yml
new file mode 100644
index 00000000000..d8aa1b0e0e9
--- /dev/null
+++ b/changelogs/unreleased/add-ci-kubernetes-active-pipeline-variable.yml
@@ -0,0 +1,6 @@
+---
+title: Add a CI variable CI_KUBERNETES_ACTIVE as an alternative to only:kubernetes/except:kubernetes
+ that works with the rules syntax
+merge_request: 31146
+author:
+type: added
diff --git a/changelogs/unreleased/add_confidential_issue_url_param.yml b/changelogs/unreleased/add_confidential_issue_url_param.yml
new file mode 100644
index 00000000000..bb3ce4166e6
--- /dev/null
+++ b/changelogs/unreleased/add_confidential_issue_url_param.yml
@@ -0,0 +1,5 @@
+---
+title: Adds URL parameter for confidential new issue creation
+merge_request: 30250
+author:
+type: added
diff --git a/changelogs/unreleased/cl-wiki-result.yml b/changelogs/unreleased/cl-wiki-result.yml
new file mode 100644
index 00000000000..515b43d72a3
--- /dev/null
+++ b/changelogs/unreleased/cl-wiki-result.yml
@@ -0,0 +1,5 @@
+---
+title: Wrap wiki blob search result in its own object
+merge_request: 31155
+author:
+type: fixed
diff --git a/changelogs/unreleased/cleanup_user_highest_roles_background_migration.yml b/changelogs/unreleased/cleanup_user_highest_roles_background_migration.yml
new file mode 100644
index 00000000000..fa7af7c7f34
--- /dev/null
+++ b/changelogs/unreleased/cleanup_user_highest_roles_background_migration.yml
@@ -0,0 +1,5 @@
+---
+title: Cleanup background migration for populating user_highest_roles table
+merge_request: 31218
+author:
+type: other
diff --git a/changelogs/unreleased/feat-x509-tag.yml b/changelogs/unreleased/feat-x509-tag.yml
new file mode 100644
index 00000000000..b57b87a889f
--- /dev/null
+++ b/changelogs/unreleased/feat-x509-tag.yml
@@ -0,0 +1,5 @@
+---
+title: Display x509 signed tags
+merge_request: 27211
+author: Roger Meier
+type: added
diff --git a/changelogs/unreleased/fix-istio-url-should-be-raw.yml b/changelogs/unreleased/fix-istio-url-should-be-raw.yml
new file mode 100644
index 00000000000..9956260a347
--- /dev/null
+++ b/changelogs/unreleased/fix-istio-url-should-be-raw.yml
@@ -0,0 +1,5 @@
+---
+title: Fix Istio broken Istio metrics installation
+merge_request: 31382
+author:
+type: fixed
diff --git a/changelogs/unreleased/fj-update-snippet-backfilling-with-migrate-bot.yml b/changelogs/unreleased/fj-update-snippet-backfilling-with-migrate-bot.yml
new file mode 100644
index 00000000000..07030a44875
--- /dev/null
+++ b/changelogs/unreleased/fj-update-snippet-backfilling-with-migrate-bot.yml
@@ -0,0 +1,5 @@
+---
+title: Use migration bot user in snippet migration
+merge_request: 30762
+author:
+type: fixed
diff --git a/changelogs/unreleased/jira-user-importer-prep.yml b/changelogs/unreleased/jira-user-importer-prep.yml
new file mode 100644
index 00000000000..539b8e26a8b
--- /dev/null
+++ b/changelogs/unreleased/jira-user-importer-prep.yml
@@ -0,0 +1,5 @@
+---
+title: Fix mapping group membets as Jira issues authors/assignees
+merge_request: 30820
+author:
+type: fixed
diff --git a/changelogs/unreleased/jivanvl-use-metrics-url-query-param.yml b/changelogs/unreleased/jivanvl-use-metrics-url-query-param.yml
new file mode 100644
index 00000000000..0d97385664f
--- /dev/null
+++ b/changelogs/unreleased/jivanvl-use-metrics-url-query-param.yml
@@ -0,0 +1,5 @@
+---
+title: In metrics dashboard use custom variables from URL in queries
+merge_request: 30560
+author:
+type: added
diff --git a/changelogs/unreleased/remove_kwargs_from_storage_move_worker.yml b/changelogs/unreleased/remove_kwargs_from_storage_move_worker.yml
new file mode 100644
index 00000000000..96c98842847
--- /dev/null
+++ b/changelogs/unreleased/remove_kwargs_from_storage_move_worker.yml
@@ -0,0 +1,5 @@
+---
+title: Remove kwargs from storage move worker
+merge_request: 31412
+author:
+type: fixed
diff --git a/changelogs/unreleased/rw-exclude-skipped-tests-from-success.yml b/changelogs/unreleased/rw-exclude-skipped-tests-from-success.yml
new file mode 100644
index 00000000000..c5d348f104e
--- /dev/null
+++ b/changelogs/unreleased/rw-exclude-skipped-tests-from-success.yml
@@ -0,0 +1,4 @@
+---
+title: Changed test success calculation to exclude skipped tests
+merge_request: 31154
+type: changed
diff --git a/changelogs/unreleased/sh-fix-overwrite-import-export-check.yml b/changelogs/unreleased/sh-fix-overwrite-import-export-check.yml
new file mode 100644
index 00000000000..6a897c1cca5
--- /dev/null
+++ b/changelogs/unreleased/sh-fix-overwrite-import-export-check.yml
@@ -0,0 +1,5 @@
+---
+title: Fix overwrite check in GitLab import/export
+merge_request: 31439
+author:
+type: fixed
diff --git a/changelogs/unreleased/sh-fix-render-rst.yml b/changelogs/unreleased/sh-fix-render-rst.yml
new file mode 100644
index 00000000000..31b60693d06
--- /dev/null
+++ b/changelogs/unreleased/sh-fix-render-rst.yml
@@ -0,0 +1,5 @@
+---
+title: Fix RST rendering hanging on large files
+merge_request: 31287
+author:
+type: fixed
diff --git a/changelogs/unreleased/sh-fix-squash-error-handling.yml b/changelogs/unreleased/sh-fix-squash-error-handling.yml
new file mode 100644
index 00000000000..d011d424a27
--- /dev/null
+++ b/changelogs/unreleased/sh-fix-squash-error-handling.yml
@@ -0,0 +1,5 @@
+---
+title: Improve error handling of squash and rebase
+merge_request: 23740
+author:
+type: other
diff --git a/changelogs/unreleased/sh-handle-deployments-no-pods.yml b/changelogs/unreleased/sh-handle-deployments-no-pods.yml
new file mode 100644
index 00000000000..72ffb22518a
--- /dev/null
+++ b/changelogs/unreleased/sh-handle-deployments-no-pods.yml
@@ -0,0 +1,5 @@
+---
+title: Fix 500 error loading environments index
+merge_request: 31184
+author:
+type: fixed
diff --git a/changelogs/unreleased/sk-add-validation-on-params-for-podlogs-service.yml b/changelogs/unreleased/sk-add-validation-on-params-for-podlogs-service.yml
new file mode 100644
index 00000000000..daef625d7b9
--- /dev/null
+++ b/changelogs/unreleased/sk-add-validation-on-params-for-podlogs-service.yml
@@ -0,0 +1,5 @@
+---
+title: Return validation errors for invalid pod name or container name when viewing pod logs
+merge_request: 30165
+author: Sashi Kumar
+type: changed
diff --git a/changelogs/unreleased/sk-fix-tag-deletion-duplicate-events.yml b/changelogs/unreleased/sk-fix-tag-deletion-duplicate-events.yml
new file mode 100644
index 00000000000..8dc6dcb1317
--- /dev/null
+++ b/changelogs/unreleased/sk-fix-tag-deletion-duplicate-events.yml
@@ -0,0 +1,5 @@
+---
+title: Fix duplicated activity and events on deletion of tag
+merge_request: 28861
+author: Sashi Kumar
+type: fixed
diff --git a/changelogs/unreleased/sk-organize-package-models.yml b/changelogs/unreleased/sk-organize-package-models.yml
new file mode 100644
index 00000000000..d85acc0e9ce
--- /dev/null
+++ b/changelogs/unreleased/sk-organize-package-models.yml
@@ -0,0 +1,5 @@
+---
+title: Organize package models by package type
+merge_request: 31346
+author: Sashi Kumar
+type: other
diff --git a/changelogs/unreleased/switch-thread-to-process-memory-cache.yml b/changelogs/unreleased/switch-thread-to-process-memory-cache.yml
new file mode 100644
index 00000000000..7cc12849d5f
--- /dev/null
+++ b/changelogs/unreleased/switch-thread-to-process-memory-cache.yml
@@ -0,0 +1,5 @@
+---
+title: Use process-wide cache for application settings and performance bar
+merge_request: 31135
+author:
+type: performance
diff --git a/changelogs/unreleased/update-gitlab-runner-helm-chart-to-0-16-1.yml b/changelogs/unreleased/update-gitlab-runner-helm-chart-to-0-16-1.yml
new file mode 100644
index 00000000000..ef7394ccddd
--- /dev/null
+++ b/changelogs/unreleased/update-gitlab-runner-helm-chart-to-0-16-1.yml
@@ -0,0 +1,5 @@
+---
+title: Update GitLab Runner Helm Chart to 0.16.1
+merge_request: 31492
+author:
+type: other
diff --git a/changelogs/unreleased/update-recursive-open-struct-gem.yml b/changelogs/unreleased/update-recursive-open-struct-gem.yml
new file mode 100644
index 00000000000..0bab3114d85
--- /dev/null
+++ b/changelogs/unreleased/update-recursive-open-struct-gem.yml
@@ -0,0 +1,5 @@
+---
+title: Update recursive-open-struct to 1.1.1 to make it compatible with ruby 2.7
+merge_request: 31047
+author:
+type: fixed
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 71cd5200415..0c9033c45bc 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -1,12 +1,12 @@
require 'gitlab/testing/request_blocker_middleware'
require 'gitlab/testing/request_inspector_middleware'
-require 'gitlab/testing/clear_thread_memory_cache_middleware'
+require 'gitlab/testing/clear_process_memory_cache_middleware'
Rails.application.configure do
# Make sure the middleware is inserted first in middleware chain
config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::RequestBlockerMiddleware)
config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::RequestInspectorMiddleware)
- config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::ClearThreadMemoryCacheMiddleware)
+ config.middleware.insert_before(ActionDispatch::Static, Gitlab::Testing::ClearProcessMemoryCacheMiddleware)
# Settings specified here will take precedence over those in config/application.rb
diff --git a/config/feature_categories.yml b/config/feature_categories.yml
index 6033a128284..010d3d14fcb 100644
--- a/config/feature_categories.yml
+++ b/config/feature_categories.yml
@@ -19,7 +19,6 @@
- backup_restore
- behavior_analytics
- billing
-- chaos_engineering
- chatops
- cloud_native_installation
- cluster_cost_optimization
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 9136bb0b569..1a042f0e349 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -770,7 +770,7 @@ production: &base
# Allow smartcard authentication
enabled: false
- # Path to a file containing a CA certificate
+ # Path to a file containing a CA certificate bundle
ca_file: '/etc/ssl/certs/CA.pem'
# Host and port where the client side certificate is requested by the
diff --git a/config/initializers/0_thread_cache.rb b/config/initializers/0_thread_cache.rb
deleted file mode 100644
index feb8057132e..00000000000
--- a/config/initializers/0_thread_cache.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-# frozen_string_literal: true
-
-Gitlab::ThreadMemoryCache.cache_backend
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index a4461e07861..c0cd491547a 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -701,7 +701,6 @@ Settings.rack_attack.git_basic_auth['ip_whitelist'] ||= %w{127.0.0.1}
Settings.rack_attack.git_basic_auth['maxretry'] ||= 10
Settings.rack_attack.git_basic_auth['findtime'] ||= 1.minute
Settings.rack_attack.git_basic_auth['bantime'] ||= 1.hour
-Settings.rack_attack['admin_area_protected_paths_enabled'] ||= false
#
# Gitaly
diff --git a/config/initializers/cookies_serializer.rb b/config/initializers/cookies_serializer.rb
index a04d5044f4e..fa1736dfea6 100644
--- a/config/initializers/cookies_serializer.rb
+++ b/config/initializers/cookies_serializer.rb
@@ -1,4 +1,4 @@
# Be sure to restart your server when you modify this file.
-Rails.application.config.action_dispatch.use_cookies_with_metadata = false
+Rails.application.config.action_dispatch.use_cookies_with_metadata = true
Rails.application.config.action_dispatch.cookies_serializer = :hybrid
diff --git a/config/initializers/rack_attack.rb.example b/config/initializers/rack_attack.rb.example
deleted file mode 100644
index 69052c029f2..00000000000
--- a/config/initializers/rack_attack.rb.example
+++ /dev/null
@@ -1,29 +0,0 @@
-# 1. Rename this file to rack_attack.rb
-# 2. Review the paths_to_be_protected and add any other path you need protecting
-#
-# If you change this file in a Merge Request, please also create a Merge Request on https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests
-
-paths_to_be_protected = [
- "#{Rails.application.config.relative_url_root}/users/password",
- "#{Rails.application.config.relative_url_root}/users/sign_in",
- "#{Rails.application.config.relative_url_root}/api/#{API::API.version}/session.json",
- "#{Rails.application.config.relative_url_root}/api/#{API::API.version}/session",
- "#{Rails.application.config.relative_url_root}/users",
- "#{Rails.application.config.relative_url_root}/users/confirmation",
- "#{Rails.application.config.relative_url_root}/unsubscribes/",
- "#{Rails.application.config.relative_url_root}/import/github/personal_access_token"
-
-]
-
-# Create one big regular expression that matches strings starting with any of
-# the paths_to_be_protected.
-paths_regex = Regexp.union(paths_to_be_protected.map { |path| /\A#{Regexp.escape(path)}/ })
-rack_attack_enabled = Gitlab.config.rack_attack.git_basic_auth['enabled']
-
-unless Rails.env.test? || !rack_attack_enabled
- Rack::Attack.throttle('protected paths', limit: 10, period: 60.seconds) do |req|
- if req.post? && req.path =~ paths_regex
- req.ip
- end
- end
-end
diff --git a/config/initializers/rack_attack_new.rb b/config/initializers/rack_attack_new.rb
index 267d4c1eda9..38e581f188f 100644
--- a/config/initializers/rack_attack_new.rb
+++ b/config/initializers/rack_attack_new.rb
@@ -8,17 +8,9 @@ module Gitlab::Throttle
# Returns true if we should use the Admin Area protected paths throttle
def self.protected_paths_enabled?
- return false if should_use_omnibus_protected_paths?
-
self.settings.throttle_protected_paths_enabled?
end
- # To be removed in 13.0: https://gitlab.com/gitlab-org/gitlab/issues/29952
- def self.should_use_omnibus_protected_paths?
- !Settings.rack_attack.admin_area_protected_paths_enabled &&
- self.omnibus_protected_paths_present?
- end
-
def self.omnibus_protected_paths_present?
Rack::Attack.throttles.key?('protected paths')
end
diff --git a/config/prometheus/common_metrics.yml b/config/prometheus/common_metrics.yml
index 4d0ea4a345d..f0491df3db9 100644
--- a/config/prometheus/common_metrics.yml
+++ b/config/prometheus/common_metrics.yml
@@ -10,7 +10,7 @@ panel_groups:
weight: 4
metrics:
- id: system_metrics_kubernetes_container_memory_total
- query_range: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) /1024/1024/1024'
+ query_range: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-(.*)",namespace="{{kube_namespace}}"}) by (job)) without (job) /1024/1024/1024'
label: Total (GB)
unit: GB
- title: "Core Usage (Total)"
@@ -19,7 +19,7 @@ panel_groups:
weight: 3
metrics:
- id: system_metrics_kubernetes_container_cores_total
- query_range: 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job)'
+ query_range: 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-(.*)",namespace="{{kube_namespace}}"}[15m])) by (job)) without (job)'
label: Total (cores)
unit: "cores"
- title: "Memory Usage (Pod average)"
@@ -28,7 +28,7 @@ panel_groups:
weight: 2
metrics:
- id: system_metrics_kubernetes_container_memory_average
- query_range: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024'
+ query_range: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="{{kube_namespace}}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="{{kube_namespace}}"}) without (job)) /1024/1024'
label: Pod average (MB)
unit: MB
- title: "Canary: Memory Usage (Pod Average)"
@@ -37,7 +37,7 @@ panel_groups:
weight: 2
metrics:
- id: system_metrics_kubernetes_container_memory_average_canary
- query_range: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024'
+ query_range: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-canary-(.*)",namespace="{{kube_namespace}}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-canary-(.*)",namespace="{{kube_namespace}}"}) without (job)) /1024/1024'
label: Pod average (MB)
unit: MB
track: canary
@@ -47,7 +47,7 @@ panel_groups:
weight: 1
metrics:
- id: system_metrics_kubernetes_container_core_usage
- query_range: 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}[15m])) by (pod_name))'
+ query_range: 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="{{kube_namespace}}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="{{kube_namespace}}"}[15m])) by (pod_name))'
label: Pod average (cores)
unit: "cores"
- title: "Canary: Core Usage (Pod Average)"
@@ -56,7 +56,7 @@ panel_groups:
weight: 1
metrics:
- id: system_metrics_kubernetes_container_core_usage_canary
- query_range: 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-canary-(.*)",namespace="%{kube_namespace}"}[15m])) by (pod_name))'
+ query_range: 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-canary-(.*)",namespace="{{kube_namespace}}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^{{ci_environment_slug}}-canary-(.*)",namespace="{{kube_namespace}}"}[15m])) by (pod_name))'
label: Pod average (cores)
unit: "cores"
track: canary
@@ -66,7 +66,7 @@ panel_groups:
weight: 1
metrics:
- id: system_metrics_knative_function_invocation_count
- query_range: 'sum(ceil(rate(istio_requests_total{destination_service_namespace="%{kube_namespace}", destination_service=~"%{function_name}.*"}[1m])*60))'
+ query_range: 'sum(ceil(rate(istio_requests_total{destination_service_namespace="{{kube_namespace}}", destination_service=~"{{function_name}}.*"}[1m])*60))'
label: invocations / minute
unit: requests
# NGINX Ingress metrics for pre-0.16.0 versions
@@ -79,7 +79,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_ingress_throughput_status_code
- query_range: 'sum(rate(nginx_upstream_responses_total{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[2m])) by (status_code)'
+ query_range: 'sum(rate(nginx_upstream_responses_total{upstream=~"{{kube_namespace}}-{{ci_environment_slug}}-.*"}[2m])) by (status_code)'
unit: req / sec
label: Status Code
- title: "Latency"
@@ -90,7 +90,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_ingress_latency_pod_average
- query_range: 'avg(nginx_upstream_response_msecs_avg{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"})'
+ query_range: 'avg(nginx_upstream_response_msecs_avg{upstream=~"{{kube_namespace}}-{{ci_environment_slug}}-.*"})'
label: Pod average (ms)
unit: ms
- title: "HTTP Error Rate"
@@ -101,7 +101,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_ingress_http_error_rate
- query_range: 'sum(rate(nginx_upstream_responses_total{status_code="5xx", upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[2m])) / sum(rate(nginx_upstream_responses_total{upstream=~"%{kube_namespace}-%{ci_environment_slug}-.*"}[2m])) * 100'
+ query_range: 'sum(rate(nginx_upstream_responses_total{status_code="5xx", upstream=~"{{kube_namespace}}-{{ci_environment_slug}}-.*"}[2m])) / sum(rate(nginx_upstream_responses_total{upstream=~"{{kube_namespace}}-{{ci_environment_slug}}-.*"}[2m])) * 100'
label: 5xx Errors (%)
unit: "%"
# NGINX Ingress metrics for post-0.16.0 versions
@@ -114,7 +114,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_ingress_16_throughput_status_code
- query_range: 'sum(label_replace(rate(nginx_ingress_controller_requests{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m]), "status_code", "${1}xx", "status", "(.)..")) by (status_code)'
+ query_range: 'sum(label_replace(rate(nginx_ingress_controller_requests{namespace="{{kube_namespace}}",ingress=~".*{{ci_environment_slug}}.*"}[2m]), "status_code", "${1}xx", "status", "(.)..")) by (status_code)'
unit: req / sec
label: Status Code
- title: "Latency"
@@ -123,7 +123,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_ingress_16_latency_pod_average
- query_range: 'sum(rate(nginx_ingress_controller_ingress_upstream_latency_seconds_sum{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) / sum(rate(nginx_ingress_controller_ingress_upstream_latency_seconds_count{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) * 1000'
+ query_range: 'sum(rate(nginx_ingress_controller_ingress_upstream_latency_seconds_sum{namespace="{{kube_namespace}}",ingress=~".*{{ci_environment_slug}}.*"}[2m])) / sum(rate(nginx_ingress_controller_ingress_upstream_latency_seconds_count{namespace="{{kube_namespace}}",ingress=~".*{{ci_environment_slug}}.*"}[2m])) * 1000'
label: Pod average (ms)
unit: ms
- title: "HTTP Error Rate"
@@ -132,7 +132,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_ingress_16_http_error_rate
- query_range: 'sum(rate(nginx_ingress_controller_requests{status=~"5.*",namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) / sum(rate(nginx_ingress_controller_requests{namespace="%{kube_namespace}",ingress=~".*%{ci_environment_slug}.*"}[2m])) * 100'
+ query_range: 'sum(rate(nginx_ingress_controller_requests{status=~"5.*",namespace="{{kube_namespace}}",ingress=~".*{{ci_environment_slug}}.*"}[2m])) / sum(rate(nginx_ingress_controller_requests{namespace="{{kube_namespace}}",ingress=~".*{{ci_environment_slug}}.*"}[2m])) * 100'
label: 5xx Errors (%)
unit: "%"
- group: Response metrics (HA Proxy)
@@ -144,7 +144,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_ha_proxy_throughput_status_code
- query_range: 'sum(rate(haproxy_frontend_http_requests_total{%{environment_filter}}[2m])) by (code)'
+ query_range: 'sum(rate(haproxy_frontend_http_requests_total{ {{environment_filter}} }[2m])) by (code)'
unit: req / sec
label: Status Code
- title: "HTTP Error Rate"
@@ -153,7 +153,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_ha_proxy_http_error_rate
- query_range: 'sum(rate(haproxy_frontend_http_responses_total{code="5xx",%{environment_filter}}[2m])) / sum(rate(haproxy_frontend_http_responses_total{%{environment_filter}}[2m]))'
+ query_range: 'sum(rate(haproxy_frontend_http_responses_total{code="5xx",{{environment_filter}} }[2m])) / sum(rate(haproxy_frontend_http_responses_total{ {{environment_filter}} }[2m]))'
label: HTTP Errors (%)
unit: "%"
- group: Response metrics (AWS ELB)
@@ -165,7 +165,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_aws_elb_throughput_requests
- query_range: 'sum(aws_elb_request_count_sum{%{environment_filter}}) / 60'
+ query_range: 'sum(aws_elb_request_count_sum{ {{environment_filter}} }) / 60'
label: Total (req/sec)
unit: req / sec
- title: "Latency"
@@ -174,7 +174,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_aws_elb_latency_average
- query_range: 'avg(aws_elb_latency_average{%{environment_filter}}) * 1000'
+ query_range: 'avg(aws_elb_latency_average{ {{environment_filter}} }) * 1000'
label: Average (ms)
unit: ms
- title: "HTTP Error Rate"
@@ -183,7 +183,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_aws_elb_http_error_rate
- query_range: 'sum(aws_elb_httpcode_backend_5_xx_sum{%{environment_filter}}) / sum(aws_elb_request_count_sum{%{environment_filter}})'
+ query_range: 'sum(aws_elb_httpcode_backend_5_xx_sum{ {{environment_filter}} }) / sum(aws_elb_request_count_sum{ {{environment_filter}} })'
label: HTTP Errors (%)
unit: "%"
- group: Response metrics (NGINX)
@@ -195,7 +195,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_throughput_status_code
- query_range: 'sum(rate(nginx_server_requests{server_zone!="*", server_zone!="_", %{environment_filter}}[2m])) by (code)'
+ query_range: 'sum(rate(nginx_server_requests{server_zone!="*", server_zone!="_", {{environment_filter}} }[2m])) by (code)'
unit: req / sec
label: Status Code
- title: "Latency"
@@ -204,7 +204,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_latency
- query_range: 'avg(nginx_server_requestMsec{%{environment_filter}})'
+ query_range: 'avg(nginx_server_requestMsec{ {{environment_filter}} })'
label: Upstream (ms)
unit: ms
- title: "HTTP Error Rate (Errors / Sec)"
@@ -215,7 +215,7 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_http_error_rate
- query_range: 'sum(rate(nginx_server_requests{code="5xx", %{environment_filter}}[2m]))'
+ query_range: 'sum(rate(nginx_server_requests{code="5xx", {{environment_filter}} }[2m]))'
label: HTTP Errors
unit: "errors / sec"
- title: "HTTP Error Rate"
@@ -224,7 +224,6 @@ panel_groups:
weight: 1
metrics:
- id: response_metrics_nginx_http_error_percentage
- query_range: 'sum(rate(nginx_server_requests{code=~"5.*", host="*", %{environment_filter}}[2m])) / sum(rate(nginx_server_requests{code="total", host="*", %{environment_filter}}[2m])) * 100'
+ query_range: 'sum(rate(nginx_server_requests{code=~"5.*", host="*", {{environment_filter}} }[2m])) / sum(rate(nginx_server_requests{code="total", host="*", {{environment_filter}} }[2m])) * 100'
label: 5xx Errors (%)
unit: "%"
-
diff --git a/danger/gitlab_ui_wg/Dangerfile b/danger/gitlab_ui_wg/Dangerfile
deleted file mode 100644
index 672b1deecb3..00000000000
--- a/danger/gitlab_ui_wg/Dangerfile
+++ /dev/null
@@ -1,62 +0,0 @@
-FRONTEND_MAINTAINERS = %w[filipa iamphill psimyn sarahghp mishunov].freeze
-UX_MAINTAINERS = %w[tauriedavis rverissimo].freeze
-NO_REVIEWER = 'No reviewer available'.freeze
-
-def mention_single_codebase_approvers
- canonical_branch_name =
- roulette.canonical_branch_name(gitlab.mr_json['source_branch'])
-
- random = roulette.new_random(canonical_branch_name)
-
- frontend_maintainers = helper.new_teammates(FRONTEND_MAINTAINERS)
- ux_maintainers = helper.new_teammates(UX_MAINTAINERS)
-
- rows = []
-
- if gitlab.mr_labels.include?('frontend')
- frontend_maintainer =
- roulette.spin_for_person(frontend_maintainers, random: random)
-
- rows << "| ~frontend | #{frontend_maintainer&.markdown_name || NO_REVIEWER}"
- end
-
- if gitlab.mr_labels.include?('UX')
- ux_maintainers =
- roulette.spin_for_person(ux_maintainers, random: random)
-
- rows << "| ~UX | #{ux_maintainers&.markdown_name || NO_REVIEWER}"
- end
-
- if rows.empty?
- backup_maintainer = frontend_maintainers.sample
-
- rows << "| ~frontend / ~UX | #{backup_maintainer.markdown_name}"
- end
-
- markdown(<<~MARKDOWN.strip)
- ## GitLab UI Working Group changes
-
- This merge request contains changes related to the work of [cleaning up CSS and creating
- reusable components](https://gitlab.com/groups/gitlab-org/-/epics/950).
- These changes will need to be reviewed and approved by the following engineers:
-
- | Category | Reviewer
- |----------|---------
- #{rows.join("\n")}
-
- To make sure this happens, please follow these steps:
-
- 1. Add all of the mentioned users to the list of merge request approvals.
- 2. Assign the merge request to the first person in the above list.
-
- If you are a reviewer, please follow these steps:
-
- 1. Review the merge request. If it is good to go, approve it.
- 2. Once approved, assign to the next person in the above list. If you are
- the last person in the list, merge the merge request.
- MARKDOWN
-end
-
-if gitlab.mr_labels.include?('CSS cleanup')
- mention_single_codebase_approvers
-end
diff --git a/danger/roulette/Dangerfile b/danger/roulette/Dangerfile
index 721ca8ba475..d73f6bf4f10 100644
--- a/danger/roulette/Dangerfile
+++ b/danger/roulette/Dangerfile
@@ -77,9 +77,7 @@ categories = changes.keys - [:unknown]
# Ensure to spin for database reviewer/maintainer when ~database is applied (e.g. to review SQL queries)
categories << :database if gitlab.mr_labels.include?('database') && !categories.include?(:database)
-# CSS Clean up MRs are reviewed using a slightly different process, so we
-# disable the review roulette for such MRs.
-if changes.any? && !gitlab.mr_labels.include?('CSS cleanup')
+if changes.any?
# Strip leading and trailing CE/EE markers
canonical_branch_name =
roulette.canonical_branch_name(gitlab.mr_json['source_branch'])
diff --git a/danger/telemetry/Dangerfile b/danger/telemetry/Dangerfile
index dd3c8a6a322..c18a15fcb03 100644
--- a/danger/telemetry/Dangerfile
+++ b/danger/telemetry/Dangerfile
@@ -9,12 +9,24 @@ USAGE_DATA_FILES_MESSAGE = <<~MSG
For the following files, a review from the [Data team and Telemetry team](https://gitlab.com/groups/gitlab-org/growth/telemetry/engineers/-/group_members?with_inherited_permissions=exclude) is recommended:
MSG
+tracking_files = [
+ 'lib/gitlab/tracking.rb',
+ 'spec/lib/gitlab/tracking_spec.rb',
+ 'app/helpers/tracking_helper.rb',
+ 'spec/helpers/tracking_helper_spec.rb',
+ 'app/assets/javascripts/tracking.js',
+ 'spec/frontend/tracking_spec.js'
+ ]
+
usage_data_changed_files = git.modified_files.grep(%r{usage_data})
+snowplow_events_changed_files = git.modified_files & tracking_files
+
+changed_files = (usage_data_changed_files + snowplow_events_changed_files)
-if usage_data_changed_files.any?
+if changed_files.any?
warn format(TELEMETRY_CHANGED_FILES_MESSAGE)
- markdown(USAGE_DATA_FILES_MESSAGE + helper.markdown_list(usage_data_changed_files))
+ markdown(USAGE_DATA_FILES_MESSAGE + helper.markdown_list(changed_files))
telemetry_labels = ['telemetry']
telemetry_labels << 'telemetry::review pending' unless helper.mr_has_labels?('telemetry::reviewed')
diff --git a/db/migrate/20200408125046_create_ci_freeze_periods.rb b/db/migrate/20200408125046_create_ci_freeze_periods.rb
new file mode 100644
index 00000000000..42a385150b8
--- /dev/null
+++ b/db/migrate/20200408125046_create_ci_freeze_periods.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+class CreateCiFreezePeriods < ActiveRecord::Migration[6.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ def up
+ unless table_exists?(:ci_freeze_periods)
+ create_table :ci_freeze_periods do |t|
+ t.references :project, foreign_key: true, null: false
+ t.text :freeze_start, null: false
+ t.text :freeze_end, null: false
+ t.text :cron_timezone, null: false
+
+ t.timestamps_with_timezone null: false
+ end
+ end
+
+ add_text_limit :ci_freeze_periods, :freeze_start, 998
+ add_text_limit :ci_freeze_periods, :freeze_end, 998
+ add_text_limit :ci_freeze_periods, :cron_timezone, 255
+ end
+
+ def down
+ drop_table :ci_freeze_periods
+ end
+end
diff --git a/db/migrate/20200424135319_create_nuget_dependency_link_metadata.rb b/db/migrate/20200424135319_create_nuget_dependency_link_metadata.rb
new file mode 100644
index 00000000000..8aa3d98aa80
--- /dev/null
+++ b/db/migrate/20200424135319_create_nuget_dependency_link_metadata.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+class CreateNugetDependencyLinkMetadata < ActiveRecord::Migration[6.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ CONSTRAINT_NAME = 'packages_nuget_dependency_link_metadata_target_framework_constraint'
+
+ def up
+ unless table_exists?(:packages_nuget_dependency_link_metadata)
+ create_table :packages_nuget_dependency_link_metadata, id: false do |t|
+ t.references :dependency_link, primary_key: true, default: nil, foreign_key: { to_table: :packages_dependency_links, on_delete: :cascade }, index: { name: 'index_packages_nuget_dl_metadata_on_dependency_link_id' }, type: :bigint
+ t.text :target_framework, null: false
+ end
+ end
+
+ add_text_limit :packages_nuget_dependency_link_metadata, :target_framework, 255, constraint_name: CONSTRAINT_NAME
+ end
+
+ def down
+ drop_table :packages_nuget_dependency_link_metadata
+ end
+end
diff --git a/db/migrate/20200429181335_add_default_value_for_file_store_to_lfs_objects.rb b/db/migrate/20200429181335_add_default_value_for_file_store_to_lfs_objects.rb
new file mode 100644
index 00000000000..f316a092bfc
--- /dev/null
+++ b/db/migrate/20200429181335_add_default_value_for_file_store_to_lfs_objects.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class AddDefaultValueForFileStoreToLfsObjects < ActiveRecord::Migration[6.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ def up
+ with_lock_retries do
+ change_column_default :lfs_objects, :file_store, 1
+ end
+ end
+
+ def down
+ with_lock_retries do
+ change_column_default :lfs_objects, :file_store, nil
+ end
+ end
+end
diff --git a/db/migrate/20200429181955_add_default_value_for_file_store_to_ci_job_artifacts.rb b/db/migrate/20200429181955_add_default_value_for_file_store_to_ci_job_artifacts.rb
new file mode 100644
index 00000000000..ac3d5e41e3e
--- /dev/null
+++ b/db/migrate/20200429181955_add_default_value_for_file_store_to_ci_job_artifacts.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class AddDefaultValueForFileStoreToCiJobArtifacts < ActiveRecord::Migration[6.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ def up
+ with_lock_retries do
+ change_column_default :ci_job_artifacts, :file_store, 1
+ end
+ end
+
+ def down
+ with_lock_retries do
+ change_column_default :ci_job_artifacts, :file_store, nil
+ end
+ end
+end
diff --git a/db/migrate/20200429182245_add_default_value_for_store_to_uploads.rb b/db/migrate/20200429182245_add_default_value_for_store_to_uploads.rb
new file mode 100644
index 00000000000..f28fcce8f2f
--- /dev/null
+++ b/db/migrate/20200429182245_add_default_value_for_store_to_uploads.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+
+class AddDefaultValueForStoreToUploads < ActiveRecord::Migration[6.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ def up
+ with_lock_retries do
+ change_column_default :uploads, :store, 1
+ end
+ end
+
+ def down
+ with_lock_retries do
+ change_column_default :uploads, :store, nil
+ end
+ end
+end
diff --git a/db/migrate/20200505164958_add_registry_settings_to_application_settings.rb b/db/migrate/20200505164958_add_registry_settings_to_application_settings.rb
new file mode 100644
index 00000000000..65407d69191
--- /dev/null
+++ b/db/migrate/20200505164958_add_registry_settings_to_application_settings.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+class AddRegistrySettingsToApplicationSettings < ActiveRecord::Migration[6.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ # rubocop:disable Migration/AddLimitToTextColumns
+ def up
+ add_column_with_default(:application_settings,
+ :container_registry_vendor,
+ :text,
+ default: '',
+ allow_null: false)
+
+ add_column_with_default(:application_settings,
+ :container_registry_version,
+ :text,
+ default: '',
+ allow_null: false)
+ end
+ # rubocop:enable Migration/AddLimitToTextColumns
+
+ def down
+ remove_column :application_settings, :container_registry_vendor
+ remove_column :application_settings, :container_registry_version
+ end
+end
diff --git a/db/migrate/20200505171834_add_text_limit_to_container_registry_vendor.rb b/db/migrate/20200505171834_add_text_limit_to_container_registry_vendor.rb
new file mode 100644
index 00000000000..242dcc9a837
--- /dev/null
+++ b/db/migrate/20200505171834_add_text_limit_to_container_registry_vendor.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class AddTextLimitToContainerRegistryVendor < ActiveRecord::Migration[6.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ def up
+ add_text_limit :application_settings, :container_registry_vendor, 255
+ end
+
+ def down
+ remove_text_limit :application_settings, :container_registry_vendor
+ end
+end
diff --git a/db/migrate/20200505172405_add_text_limit_to_container_registry_version.rb b/db/migrate/20200505172405_add_text_limit_to_container_registry_version.rb
new file mode 100644
index 00000000000..36589c9cc75
--- /dev/null
+++ b/db/migrate/20200505172405_add_text_limit_to_container_registry_version.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+class AddTextLimitToContainerRegistryVersion < ActiveRecord::Migration[6.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ def up
+ add_text_limit :application_settings, :container_registry_version, 255
+ end
+
+ def down
+ remove_text_limit :application_settings, :container_registry_version
+ end
+end
diff --git a/db/migrate/20200507221434_add_container_registry_features_to_application_settings.rb b/db/migrate/20200507221434_add_container_registry_features_to_application_settings.rb
new file mode 100644
index 00000000000..b333db56eee
--- /dev/null
+++ b/db/migrate/20200507221434_add_container_registry_features_to_application_settings.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+class AddContainerRegistryFeaturesToApplicationSettings < ActiveRecord::Migration[6.0]
+ DOWNTIME = false
+
+ def up
+ add_column :application_settings, :container_registry_features, :text, array: true, default: [], null: false # rubocop:disable Migration/AddLimitToTextColumns
+ end
+
+ def down
+ remove_column :application_settings, :container_registry_features
+ end
+end
diff --git a/db/post_migrate/20200506125731_cleanup_user_highest_roles_population.rb b/db/post_migrate/20200506125731_cleanup_user_highest_roles_population.rb
new file mode 100644
index 00000000000..5e613228c56
--- /dev/null
+++ b/db/post_migrate/20200506125731_cleanup_user_highest_roles_population.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+class CleanupUserHighestRolesPopulation < ActiveRecord::Migration[6.0]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+ INDEX_NAME = 'index_for_migrating_user_highest_roles_table'
+
+ disable_ddl_transaction!
+
+ def up
+ Gitlab::BackgroundMigration.steal('PopulateUserHighestRolesTable')
+
+ remove_concurrent_index(:users, :id, name: INDEX_NAME)
+ end
+
+ def down
+ add_concurrent_index(:users,
+ :id,
+ where: "state = 'active' AND user_type IS NULL AND bot_type IS NULL AND ghost IS NOT TRUE",
+ name: INDEX_NAME)
+ end
+end
diff --git a/db/structure.sql b/db/structure.sql
index 73edcc371ce..84a1b3a3ba0 100644
--- a/db/structure.sql
+++ b/db/structure.sql
@@ -438,7 +438,12 @@ CREATE TABLE public.application_settings (
container_expiration_policies_enable_historic_entries boolean DEFAULT false NOT NULL,
issues_create_limit integer DEFAULT 300 NOT NULL,
push_rule_id bigint,
- group_owners_can_manage_default_branch_protection boolean DEFAULT true NOT NULL
+ group_owners_can_manage_default_branch_protection boolean DEFAULT true NOT NULL,
+ container_registry_vendor text DEFAULT ''::text NOT NULL,
+ container_registry_version text DEFAULT ''::text NOT NULL,
+ container_registry_features text[] DEFAULT '{}'::text[] NOT NULL,
+ CONSTRAINT check_d03919528d CHECK ((char_length(container_registry_vendor) <= 255)),
+ CONSTRAINT check_e5aba18f02 CHECK ((char_length(container_registry_version) <= 255))
);
CREATE SEQUENCE public.application_settings_id_seq
@@ -1064,6 +1069,25 @@ CREATE SEQUENCE public.ci_daily_report_results_id_seq
ALTER SEQUENCE public.ci_daily_report_results_id_seq OWNED BY public.ci_daily_report_results.id;
+CREATE TABLE public.ci_freeze_periods (
+ id bigint NOT NULL,
+ project_id bigint NOT NULL,
+ freeze_start character varying(998) NOT NULL,
+ freeze_end character varying(998) NOT NULL,
+ cron_timezone character varying(255) NOT NULL,
+ created_at timestamp with time zone NOT NULL,
+ updated_at timestamp with time zone NOT NULL
+);
+
+CREATE SEQUENCE public.ci_freeze_periods_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+ALTER SEQUENCE public.ci_freeze_periods_id_seq OWNED BY public.ci_freeze_periods.id;
+
CREATE TABLE public.ci_group_variables (
id integer NOT NULL,
key character varying NOT NULL,
@@ -1120,7 +1144,7 @@ CREATE TABLE public.ci_job_artifacts (
updated_at timestamp with time zone NOT NULL,
expire_at timestamp with time zone,
file character varying,
- file_store integer,
+ file_store integer DEFAULT 1,
file_sha256 bytea,
file_format smallint,
file_location smallint,
@@ -3644,7 +3668,7 @@ CREATE TABLE public.lfs_objects (
created_at timestamp without time zone,
updated_at timestamp without time zone,
file character varying,
- file_store integer
+ file_store integer DEFAULT 1
);
CREATE SEQUENCE public.lfs_objects_id_seq
@@ -4617,6 +4641,12 @@ CREATE SEQUENCE public.packages_maven_metadata_id_seq
ALTER SEQUENCE public.packages_maven_metadata_id_seq OWNED BY public.packages_maven_metadata.id;
+CREATE TABLE public.packages_nuget_dependency_link_metadata (
+ dependency_link_id bigint NOT NULL,
+ target_framework text NOT NULL,
+ CONSTRAINT packages_nuget_dependency_link_metadata_target_framework_constr CHECK ((char_length(target_framework) <= 255))
+);
+
CREATE TABLE public.packages_package_files (
id bigint NOT NULL,
package_id bigint NOT NULL,
@@ -6487,7 +6517,7 @@ CREATE TABLE public.uploads (
model_type character varying,
uploader character varying NOT NULL,
created_at timestamp without time zone NOT NULL,
- store integer,
+ store integer DEFAULT 1,
mount_point character varying,
secret character varying
);
@@ -7308,6 +7338,8 @@ ALTER TABLE ONLY public.ci_daily_build_group_report_results ALTER COLUMN id SET
ALTER TABLE ONLY public.ci_daily_report_results ALTER COLUMN id SET DEFAULT nextval('public.ci_daily_report_results_id_seq'::regclass);
+ALTER TABLE ONLY public.ci_freeze_periods ALTER COLUMN id SET DEFAULT nextval('public.ci_freeze_periods_id_seq'::regclass);
+
ALTER TABLE ONLY public.ci_group_variables ALTER COLUMN id SET DEFAULT nextval('public.ci_group_variables_id_seq'::regclass);
ALTER TABLE ONLY public.ci_instance_variables ALTER COLUMN id SET DEFAULT nextval('public.ci_instance_variables_id_seq'::regclass);
@@ -7981,6 +8013,9 @@ ALTER TABLE ONLY public.ci_daily_build_group_report_results
ALTER TABLE ONLY public.ci_daily_report_results
ADD CONSTRAINT ci_daily_report_results_pkey PRIMARY KEY (id);
+ALTER TABLE ONLY public.ci_freeze_periods
+ ADD CONSTRAINT ci_freeze_periods_pkey PRIMARY KEY (id);
+
ALTER TABLE ONLY public.ci_group_variables
ADD CONSTRAINT ci_group_variables_pkey PRIMARY KEY (id);
@@ -8476,6 +8511,9 @@ ALTER TABLE ONLY public.packages_dependency_links
ALTER TABLE ONLY public.packages_maven_metadata
ADD CONSTRAINT packages_maven_metadata_pkey PRIMARY KEY (id);
+ALTER TABLE ONLY public.packages_nuget_dependency_link_metadata
+ ADD CONSTRAINT packages_nuget_dependency_link_metadata_pkey PRIMARY KEY (dependency_link_id);
+
ALTER TABLE ONLY public.packages_package_files
ADD CONSTRAINT packages_package_files_pkey PRIMARY KEY (id);
@@ -9176,6 +9214,8 @@ CREATE INDEX index_ci_daily_build_group_report_results_on_last_pipeline_id ON pu
CREATE INDEX index_ci_daily_report_results_on_last_pipeline_id ON public.ci_daily_report_results USING btree (last_pipeline_id);
+CREATE INDEX index_ci_freeze_periods_on_project_id ON public.ci_freeze_periods USING btree (project_id);
+
CREATE UNIQUE INDEX index_ci_group_variables_on_group_id_and_key ON public.ci_group_variables USING btree (group_id, key);
CREATE UNIQUE INDEX index_ci_instance_variables_on_key ON public.ci_instance_variables USING btree (key);
@@ -9556,8 +9596,6 @@ CREATE UNIQUE INDEX index_feature_gates_on_feature_key_and_key_and_value ON publ
CREATE UNIQUE INDEX index_features_on_key ON public.features USING btree (key);
-CREATE INDEX index_for_migrating_user_highest_roles_table ON public.users USING btree (id) WHERE (((state)::text = 'active'::text) AND (user_type IS NULL) AND (bot_type IS NULL) AND (ghost IS NOT TRUE));
-
CREATE INDEX index_for_resource_group ON public.ci_builds USING btree (resource_group_id, id) WHERE (resource_group_id IS NOT NULL);
CREATE INDEX index_for_status_per_branch_per_project ON public.merge_trains USING btree (target_project_id, target_branch, status);
@@ -10106,6 +10144,8 @@ CREATE INDEX index_packages_dependency_links_on_dependency_id ON public.packages
CREATE INDEX index_packages_maven_metadata_on_package_id_and_path ON public.packages_maven_metadata USING btree (package_id, path);
+CREATE INDEX index_packages_nuget_dl_metadata_on_dependency_link_id ON public.packages_nuget_dependency_link_metadata USING btree (dependency_link_id);
+
CREATE INDEX index_packages_package_files_on_package_id_and_file_name ON public.packages_package_files USING btree (package_id, file_name);
CREATE INDEX index_packages_packages_on_name_trigram ON public.packages_packages USING gin (name public.gin_trgm_ops);
@@ -11656,6 +11696,9 @@ ALTER TABLE ONLY public.geo_repository_updated_events
ALTER TABLE ONLY public.protected_branch_unprotect_access_levels
ADD CONSTRAINT fk_rails_2d2aba21ef FOREIGN KEY (user_id) REFERENCES public.users(id) ON DELETE CASCADE;
+ALTER TABLE ONLY public.ci_freeze_periods
+ ADD CONSTRAINT fk_rails_2e02bbd1a6 FOREIGN KEY (project_id) REFERENCES public.projects(id);
+
ALTER TABLE ONLY public.saml_providers
ADD CONSTRAINT fk_rails_306d459be7 FOREIGN KEY (group_id) REFERENCES public.namespaces(id) ON DELETE CASCADE;
@@ -12304,6 +12347,9 @@ ALTER TABLE ONLY public.user_canonical_emails
ALTER TABLE ONLY public.project_repositories
ADD CONSTRAINT fk_rails_c3258dc63b FOREIGN KEY (shard_id) REFERENCES public.shards(id) ON DELETE RESTRICT;
+ALTER TABLE ONLY public.packages_nuget_dependency_link_metadata
+ ADD CONSTRAINT fk_rails_c3313ee2e4 FOREIGN KEY (dependency_link_id) REFERENCES public.packages_dependency_links(id) ON DELETE CASCADE;
+
ALTER TABLE ONLY public.merge_request_user_mentions
ADD CONSTRAINT fk_rails_c440b9ea31 FOREIGN KEY (note_id) REFERENCES public.notes(id) ON DELETE CASCADE;
@@ -13642,6 +13688,7 @@ COPY "schema_migrations" (version) FROM STDIN;
20200407182205
20200407222647
20200408110856
+20200408125046
20200408133211
20200408153842
20200408154331
@@ -13704,7 +13751,16 @@ COPY "schema_migrations" (version) FROM STDIN;
20200424043515
20200424050250
20200424101920
+20200424135319
20200427064130
20200429015603
+20200429181335
+20200429181955
+20200429182245
+20200505164958
+20200505171834
+20200505172405
+20200506125731
+20200507221434
\.
diff --git a/doc/.vale/gitlab/BadgeCapitalization.yml b/doc/.vale/gitlab/BadgeCapitalization.yml
new file mode 100644
index 00000000000..7e68a06b4d5
--- /dev/null
+++ b/doc/.vale/gitlab/BadgeCapitalization.yml
@@ -0,0 +1,42 @@
+---
+# Verifies that badges are not lower case, which won't render properly.
+#
+# For a list of all options, see https://errata-ai.github.io/vale/styles/
+extends: existence
+message: 'Badge "%s" must be capitalized.'
+link: https://docs.gitlab.com/ee/development/documentation/styleguide.html#product-badges
+level: error
+scope: raw
+raw:
+ - '(\*\*\(Core\)\*\*|'
+ - '\*\*\(core\)\*\*|'
+ - '\*\*\(Starter\)\*\*|'
+ - '\*\*\(starter\)\*\*|'
+ - '\*\*\(Premium\)\*\*|'
+ - '\*\*\(premium\)\*\*|'
+ - '\*\*\(Ultimate\)\*\*|'
+ - '\*\*\(ultimate\)\*\*|'
+ - '\*\*\(Core Only\)\*\*|'
+ - '\*\*\(Core only\)\*\*|'
+ - '\*\*\(core only\)\*\*|'
+ - '\*\*\(Starter Only\)\*\*|'
+ - '\*\*\(Starter only\)\*\*|'
+ - '\*\*\(starter only\)\*\*|'
+ - '\*\*\(Premium Only\)\*\*|'
+ - '\*\*\(Premium only\)\*\*|'
+ - '\*\*\(premium only\)\*\*|'
+ - '\*\*\(Ultimate Only\)\*\*|'
+ - '\*\*\(Ultimate only\)\*\*|'
+ - '\*\*\(ultimate only\)\*\*|'
+ - '\*\*\(Free Only\)\*\*|'
+ - '\*\*\(Free only\)\*\*|'
+ - '\*\*\(free only\)\*\*|'
+ - '\*\*\(Bronze Only\)\*\*|'
+ - '\*\*\(Bronze only\)\*\*|'
+ - '\*\*\(bronze only\)\*\*|'
+ - '\*\*\(Silver Only\)\*\*|'
+ - '\*\*\(Silver only\)\*\*|'
+ - '\*\*\(silver only\)\*\*|'
+ - '\*\*\(Gold Only\)\*\*|'
+ - '\*\*\(Gold only\)\*\*|'
+ - '\*\*\(gold only\)\*\*)'
diff --git a/doc/.vale/gitlab/spelling-exceptions.txt b/doc/.vale/gitlab/spelling-exceptions.txt
index bf78eaaee8c..c5e89f72043 100644
--- a/doc/.vale/gitlab/spelling-exceptions.txt
+++ b/doc/.vale/gitlab/spelling-exceptions.txt
@@ -101,6 +101,7 @@ failovers
failsafe
favicon
firewalled
+Flawfinder
Flowdock
Fluentd
Forgerock
@@ -112,9 +113,11 @@ Gitea
GitHub
GitLab
gitlabsos
+Gitleaks
Gitter
Gmail
Google
+Gosec
Gradle
Grafana
gravatar
@@ -160,6 +163,7 @@ Kibana
Knative
Kramdown
Kubernetes
+Kubesec
Laravel
LDAP
Libravatar
@@ -302,12 +306,14 @@ sanitization
serializer
serializers
serializing
+Sitespeed
Slack
Slony
SMTP
-Sourcegraph
+Sobelow
spidering
Splunk
+SpotBugs
SSH
storable
strace
diff --git a/doc/administration/audit_events.md b/doc/administration/audit_events.md
index 9019cf0a630..525348464db 100644
--- a/doc/administration/audit_events.md
+++ b/doc/administration/audit_events.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Audit Events **(STARTER)**
GitLab offers a way to view the changes made within the GitLab server for owners and administrators on a [paid plan](https://about.gitlab.com/pricing/).
diff --git a/doc/administration/auth/oidc.md b/doc/administration/auth/oidc.md
index 76e83c8e0ad..7a808636e94 100644
--- a/doc/administration/auth/oidc.md
+++ b/doc/administration/auth/oidc.md
@@ -94,7 +94,7 @@ The OpenID Connect will provide you with a client details and secret for you to
- `basic` - HTTP Basic Authentication
- `jwt_bearer` - JWT based authentication (private key and client secret signing)
- `mtls` - Mutual TLS or X.509 certificate validation
- - Any other value will POST the client id and secret in the request body
+ - Any other value will POST the client ID and secret in the request body
- If not specified, defaults to `basic`.
- `<uid_field>` (optional) is the field name from the `user_info` details that will be used as `uid` value. For example, `preferred_username`.
If this value is not provided or the field with the configured value is missing from the `user_info` details, the `uid` will use the `sub` field.
diff --git a/doc/administration/geo/disaster_recovery/index.md b/doc/administration/geo/disaster_recovery/index.md
index 6f417f955ac..a73a79c4862 100644
--- a/doc/administration/geo/disaster_recovery/index.md
+++ b/doc/administration/geo/disaster_recovery/index.md
@@ -167,6 +167,44 @@ do this manually.
previously for the **secondary**.
1. Success! The **secondary** has now been promoted to **primary**.
+#### Promoting a **secondary** node with an external PostgreSQL database
+
+The `gitlab-ctl promote-to-primary-node` command cannot be used in conjunction with
+an external PostgreSQL database, as it can only perform changes on a **secondary**
+node with GitLab and the database on the same machine. As a result, a manual process is
+required. For example, PostgreSQL databases hosted on Amazon RDS:
+
+1. Promote the replica database associated with the **secondary** site. This will
+ set the database to read-write:
+ - Amazon RDS - [Promoting a Read Replica to Be a Standalone DB Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html#USER_ReadRepl.Promote)
+
+1. Edit `/etc/gitlab/gitlab.rb` on every node in the **secondary** site to
+ reflect its new status as **primary** by removing any lines that enabled the
+ `geo_secondary_role`:
+
+ ```ruby
+ ## In GitLab 11.4 and earlier, remove this line.
+ geo_secondary_role['enable'] = true
+
+ ## In GitLab 11.5 and later, remove this line.
+ roles ['geo_secondary_role']
+ ```
+
+ After making these changes [Reconfigure GitLab](../../restart_gitlab.md#omnibus-gitlab-reconfigure)
+ on each node so the changes take effect.
+
+1. Promote the **secondary** to **primary**. SSH into a single secondary application
+ node and execute:
+
+ ```shell
+ sudo gitlab-rake geo:set_secondary_as_primary
+ ```
+
+1. Verify you can connect to the newly promoted **primary** site using the URL used
+ previously for the **secondary** site.
+
+Success! The **secondary** site has now been promoted to **primary**.
+
### Step 4. (Optional) Updating the primary domain DNS record
Updating the DNS records for the primary domain to point to the **secondary** node
diff --git a/doc/administration/geo/replication/troubleshooting.md b/doc/administration/geo/replication/troubleshooting.md
index c19b0f775ce..cdc4c3cdc14 100644
--- a/doc/administration/geo/replication/troubleshooting.md
+++ b/doc/administration/geo/replication/troubleshooting.md
@@ -544,6 +544,27 @@ or `gitlab-ctl promote-to-primary-node`, either:
bug](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/22021) was
fixed.
+### Message: ``NoMethodError: undefined method `secondary?' for nil:NilClass``
+
+When [promoting a **secondary** node](../disaster_recovery/index.md#step-3-promoting-a-secondary-node),
+you might encounter the following error:
+
+```plaintext
+sudo gitlab-rake geo:set_secondary_as_primary
+
+rake aborted!
+NoMethodError: undefined method `secondary?' for nil:NilClass
+/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/geo.rake:232:in `block (3 levels) in <top (required)>'
+/opt/gitlab/embedded/service/gitlab-rails/ee/lib/tasks/geo.rake:221:in `block (2 levels) in <top (required)>'
+/opt/gitlab/embedded/bin/bundle:23:in `load'
+/opt/gitlab/embedded/bin/bundle:23:in `<main>'
+Tasks: TOP => geo:set_secondary_as_primary
+(See full trace by running task with --trace)
+```
+
+This command is intended to be executed on a secondary node only, and this error
+is displayed if you attempt to run this command on a primary node.
+
### Message: `sudo: gitlab-pg-ctl: command not found`
When
diff --git a/doc/administration/gitaly/index.md b/doc/administration/gitaly/index.md
index b250254077d..5d114475924 100644
--- a/doc/administration/gitaly/index.md
+++ b/doc/administration/gitaly/index.md
@@ -104,11 +104,29 @@ Omnibus GitLab or install it from source:
### 2. Authentication
Gitaly and GitLab use two shared secrets for authentication, one to authenticate gRPC requests
-to Gitaly, and a second for authentication callbacks from Gitaly to the GitLab internal API.
+to Gitaly, and a second for authentication callbacks from GitLab-Shell to the GitLab internal API.
**For Omnibus GitLab**
-There are two ways to configure the required tokens:
+To configure the Gitaly token:
+
+1. On the client server, edit `/etc/gitlab/gitlab.rb`:
+
+ ```ruby
+ gitlab_rails['gitaly_token'] = 'abc123secret'
+ ```
+
+1. Save the file and [reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure).
+
+1. On the Gitaly server, edit `/etc/gitlab/gitlab.rb`:
+
+ ```ruby
+ gitaly['auth_token'] = 'abc123secret'
+ ```
+
+1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure).
+
+There are two ways to configure the GitLab-Shell token:
1. Copy `/etc/gitlab/gitlab-secrets.json` from the client server to same path on the Gitaly server.
1. [Reconfigure GitLab](../restart_gitlab.md#omnibus-gitlab-reconfigure).
@@ -118,7 +136,6 @@ There are two ways to configure the required tokens:
1. On the client server, edit `/etc/gitlab/gitlab.rb`:
```ruby
- gitlab_rails['gitaly_token'] = 'abc123secret'
gitlab_shell['secret_token'] = 'shellsecret'
```
@@ -127,7 +144,6 @@ There are two ways to configure the required tokens:
1. On the Gitaly server, edit `/etc/gitlab/gitlab.rb`:
```ruby
- gitaly['auth_token'] = 'abc123secret'
gitlab_shell['secret_token'] = 'shellsecret'
```
@@ -415,9 +431,9 @@ with a Gitaly instance that listens for secure connections you will need to use
scheme in the `gitaly_address` of the corresponding storage entry in the GitLab configuration.
You will need to bring your own certificates as this isn't provided automatically.
-The certificate to be used needs to be installed on all Gitaly nodes, and the
-certificate (or CA of certificate) on all
-client nodes that communicate with it following the procedure described in
+The certificate, or its certificate authority, must be installed on all Gitaly
+nodes (including the Gitaly node using the certificate) and on all client nodes
+that communicate with it following the procedure described in
[GitLab custom certificate configuration](https://docs.gitlab.com/omnibus/settings/ssl.html#install-custom-public-certificates).
NOTE: **Note**
diff --git a/doc/administration/high_availability/gitlab.md b/doc/administration/high_availability/gitlab.md
index c2860f5452b..6c90c66973d 100644
--- a/doc/administration/high_availability/gitlab.md
+++ b/doc/administration/high_availability/gitlab.md
@@ -133,6 +133,9 @@ need some extra configuration.
1. Run `sudo gitlab-ctl reconfigure` to compile the configuration.
+NOTE: **Note:** You will need to restart the GitLab applications nodes after an update has occurred and database
+migrations performed.
+
## Enable Monitoring
> [Introduced](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/3786) in GitLab 12.0.
diff --git a/doc/administration/high_availability/sidekiq.md b/doc/administration/high_availability/sidekiq.md
index ed273c3b113..2c1dea890af 100644
--- a/doc/administration/high_availability/sidekiq.md
+++ b/doc/administration/high_availability/sidekiq.md
@@ -94,6 +94,9 @@ you want using steps 1 and 2 from the GitLab downloads page.
1. Run `gitlab-ctl reconfigure`.
+NOTE: **Note:** You will need to restart the Sidekiq nodes after an update has occurred and database
+migrations performed.
+
## Example configuration
Here's what the ending `/etc/gitlab/gitlab.rb` would look like:
diff --git a/doc/administration/integration/plantuml.md b/doc/administration/integration/plantuml.md
index 71428da90ab..76655a945a3 100644
--- a/doc/administration/integration/plantuml.md
+++ b/doc/administration/integration/plantuml.md
@@ -169,10 +169,10 @@ diagram delimiters `@startuml`/`@enduml` as these are replaced by the AsciiDoc `
Some parameters can be added to the AsciiDoc block definition:
-- *format*: Can be either `png` or `svg`. Note that `svg` is not supported by
+- `format`: Can be either `png` or `svg`. Note that `svg` is not supported by
all browsers so use with care. The default is `png`.
-- *id*: A CSS id added to the diagram HTML tag.
-- *width*: Width attribute added to the image tag.
-- *height*: Height attribute added to the image tag.
+- `id`: A CSS ID added to the diagram HTML tag.
+- `width`: Width attribute added to the image tag.
+- `height`: Height attribute added to the image tag.
Markdown does not support any parameters and will always use PNG format.
diff --git a/doc/administration/lfs/index.md b/doc/administration/lfs/index.md
index d333d3ff3b8..e2b982448ef 100644
--- a/doc/administration/lfs/index.md
+++ b/doc/administration/lfs/index.md
@@ -141,18 +141,23 @@ There are two ways to manually do the same thing as automatic uploading (describ
**Option 1: Rake task**
```shell
-rake gitlab:lfs:migrate
+gitlab-rake gitlab:lfs:migrate
```
-**Option 2: rails console**
+**Option 2: Rails console**
+
+Log into the Rails console:
```shell
-$ sudo gitlab-rails console # Login to rails console
+sudo gitlab-rails console
+```
-> # Upload LFS files manually
-> LfsObject.where(file_store: [nil, 1]).find_each do |lfs_object|
-> lfs_object.file.migrate!(ObjectStorage::Store::REMOTE) if lfs_object.file.file.exists?
-> end
+Upload LFS files manually
+
+```ruby
+LfsObject.where(file_store: [nil, 1]).find_each do |lfs_object|
+ lfs_object.file.migrate!(ObjectStorage::Store::REMOTE) if lfs_object.file.file.exists?
+end
```
### S3 for Omnibus installations
@@ -244,19 +249,29 @@ If LFS integration is configured with Google Cloud Storage and background upload
Sidekiq workers may encounter this error. This is because the uploading timed out with very large files.
LFS files up to 6Gb can be uploaded without any extra steps, otherwise you need to use the following workaround.
+Log into Rails console:
+
```shell
-$ sudo gitlab-rails console # Login to rails console
-
-> # Set up timeouts. 20 minutes is enough to upload 30GB LFS files.
-> # These settings are only in effect for the same session, i.e. they are not effective for sidekiq workers.
-> ::Google::Apis::ClientOptions.default.open_timeout_sec = 1200
-> ::Google::Apis::ClientOptions.default.read_timeout_sec = 1200
-> ::Google::Apis::ClientOptions.default.send_timeout_sec = 1200
-
-> # Upload LFS files manually. This process does not use sidekiq at all.
-> LfsObject.where(file_store: [nil, 1]).find_each do |lfs_object|
-> lfs_object.file.migrate!(ObjectStorage::Store::REMOTE) if lfs_object.file.file.exists?
-> end
+sudo gitlab-rails console
+```
+
+Set up timeouts:
+
+- These settings are only in effect for the same session. For example, they are not effective for Sidekiq workers.
+- 20 minutes (1200 sec) is enough to upload 30GB LFS files:
+
+```ruby
+::Google::Apis::ClientOptions.default.open_timeout_sec = 1200
+::Google::Apis::ClientOptions.default.read_timeout_sec = 1200
+::Google::Apis::ClientOptions.default.send_timeout_sec = 1200
+```
+
+Upload LFS files manually (this process does not use Sidekiq at all):
+
+```ruby
+LfsObject.where(file_store: [nil, 1]).find_each do |lfs_object|
+ lfs_object.file.migrate!(ObjectStorage::Store::REMOTE) if lfs_object.file.file.exists?
+end
```
See more information in [!19581](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/19581)
diff --git a/doc/administration/logs.md b/doc/administration/logs.md
index fd9556278a1..1af3d93edb6 100644
--- a/doc/administration/logs.md
+++ b/doc/administration/logs.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Log system
GitLab has an advanced log system where everything is logged, so you
diff --git a/doc/administration/monitoring/prometheus/gitlab_exporter.md b/doc/administration/monitoring/prometheus/gitlab_exporter.md
index 9c5c67e7f67..3effca4a2bf 100644
--- a/doc/administration/monitoring/prometheus/gitlab_exporter.md
+++ b/doc/administration/monitoring/prometheus/gitlab_exporter.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# GitLab exporter
>- Available since [Omnibus GitLab 8.17](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/1132).
diff --git a/doc/administration/monitoring/prometheus/gitlab_metrics.md b/doc/administration/monitoring/prometheus/gitlab_metrics.md
index ef1d9d95ffa..62f9ebd0168 100644
--- a/doc/administration/monitoring/prometheus/gitlab_metrics.md
+++ b/doc/administration/monitoring/prometheus/gitlab_metrics.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# GitLab Prometheus metrics
>**Note:**
@@ -78,7 +84,7 @@ The following metrics are available:
| `gitlab_transaction_event_remove_tag_total` | Counter | 9.4 | Counter when a tag is remove for any repository | |
| `gitlab_transaction_event_sidekiq_exception_total` | Counter | 9.4 | Counter of Sidekiq exceptions | |
| `gitlab_transaction_event_stuck_import_jobs_total` | Counter | 9.4 | Count of stuck import jobs | `projects_without_jid_count`, `projects_with_jid_count` |
-| `gitlab_transaction_event_update_build_total` | Counter | 9.4 | Counter for update build for API /jobs/request/:id | |
+| `gitlab_transaction_event_update_build_total` | Counter | 9.4 | Counter for update build for API `/jobs/request/:id` | |
| `gitlab_transaction_new_redis_connections_total` | Counter | 9.4 | Counter for new Redis connections | |
| `gitlab_transaction_queue_duration_total` | Counter | 9.4 | Duration jobs were enqueued before processing | |
| `gitlab_transaction_rails_queue_duration_total` | Counter | 9.4 | Measures latency between GitLab Workhorse forwarding a request to Rails | `controller`, `action` |
diff --git a/doc/administration/monitoring/prometheus/index.md b/doc/administration/monitoring/prometheus/index.md
index 8749e79f3fe..1fd6dfca802 100644
--- a/doc/administration/monitoring/prometheus/index.md
+++ b/doc/administration/monitoring/prometheus/index.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Monitoring GitLab with Prometheus
> **Notes:**
diff --git a/doc/administration/monitoring/prometheus/node_exporter.md b/doc/administration/monitoring/prometheus/node_exporter.md
index d75b04f1ccd..357303ee4e1 100644
--- a/doc/administration/monitoring/prometheus/node_exporter.md
+++ b/doc/administration/monitoring/prometheus/node_exporter.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Node exporter
>**Note:**
diff --git a/doc/administration/monitoring/prometheus/pgbouncer_exporter.md b/doc/administration/monitoring/prometheus/pgbouncer_exporter.md
index ba8e464efcb..92ba2d9bb52 100644
--- a/doc/administration/monitoring/prometheus/pgbouncer_exporter.md
+++ b/doc/administration/monitoring/prometheus/pgbouncer_exporter.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# PgBouncer exporter
>**Note:**
diff --git a/doc/administration/monitoring/prometheus/postgres_exporter.md b/doc/administration/monitoring/prometheus/postgres_exporter.md
index 853e3837184..77ca502b21d 100644
--- a/doc/administration/monitoring/prometheus/postgres_exporter.md
+++ b/doc/administration/monitoring/prometheus/postgres_exporter.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# PostgreSQL Server Exporter
>**Note:**
diff --git a/doc/administration/monitoring/prometheus/redis_exporter.md b/doc/administration/monitoring/prometheus/redis_exporter.md
index 76f4add0c1b..bef87400f5a 100644
--- a/doc/administration/monitoring/prometheus/redis_exporter.md
+++ b/doc/administration/monitoring/prometheus/redis_exporter.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Redis exporter
>**Note:**
diff --git a/doc/administration/monitoring/prometheus/registry_exporter.md b/doc/administration/monitoring/prometheus/registry_exporter.md
index 2e2440389ed..3d28b26b685 100644
--- a/doc/administration/monitoring/prometheus/registry_exporter.md
+++ b/doc/administration/monitoring/prometheus/registry_exporter.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Registry exporter
> [Introduced](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/2884) in GitLab 11.9.
diff --git a/doc/administration/operations/extra_sidekiq_processes.md b/doc/administration/operations/extra_sidekiq_processes.md
index f53dc129b14..8f54b82c325 100644
--- a/doc/administration/operations/extra_sidekiq_processes.md
+++ b/doc/administration/operations/extra_sidekiq_processes.md
@@ -1,13 +1,13 @@
-# Running multiple Sidekiq processes **(CORE ONLY)**
-
-NOTE: **Note:**
-The information in this page applies only to Omnibus GitLab.
+# Run multiple Sidekiq processes **(CORE ONLY)**
GitLab allows you to start multiple Sidekiq processes.
These processes can be used to consume a dedicated set
of queues. This can be used to ensure certain queues always have dedicated
workers, no matter the number of jobs that need to be processed.
+NOTE: **Note:**
+The information in this page applies only to Omnibus GitLab.
+
## Available Sidekiq queues
For a list of the existing Sidekiq queues, check the following files:
@@ -18,7 +18,11 @@ For a list of the existing Sidekiq queues, check the following files:
Each entry in the above files represents a queue on which Sidekiq processes
can be started.
-## Starting multiple processes
+## Start multiple processes
+
+> - [Introduced](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4006) in GitLab 12.10, starting multiple processes with Sidekiq cluster.
+> - [Sidekiq cluster moved](https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/181) to GitLab [Core](https://about.gitlab.com/pricing/#self-managed) in GitLab 12.10.
+> - [Sidekiq cluster became default](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4140) in GitLab 13.0.
To start multiple processes:
@@ -68,7 +72,7 @@ To start multiple processes:
automatically pick up jobs in queues created in the future.
If `sidekiq-cluster` is running on more than one node, you can also use
- [`--negate`](#negating-settings) and list all the queues that are already being
+ [`--negate`](#negate-settings) and list all the queues that are already being
processed.
1. Save the file and reconfigure GitLab for the changes to take effect:
@@ -77,17 +81,17 @@ To start multiple processes:
sudo gitlab-ctl reconfigure
```
-Once the extra Sidekiq processes are added, you can visit the
-**Admin Area > Monitoring > Background Jobs** (`/admin/background_jobs`) in GitLab.
+After the extra Sidekiq processes are added, navigate to
+**{admin}** **Admin Area > Monitoring > Background Jobs** (`/admin/background_jobs`) in GitLab.
![Multiple Sidekiq processes](img/sidekiq-cluster.png)
-## Negating settings
+## Negate settings
To have the additional Sidekiq processes work on every queue **except** the ones
you list:
-1. After you follow the steps for [starting extra processes](#starting-multiple-processes),
+1. After you follow the steps for [starting extra processes](#start-multiple-processes),
edit `/etc/gitlab/gitlab.rb` and add:
```ruby
@@ -193,10 +197,7 @@ sidekiq['queue_groups'] = [
]
```
-### Migrating to Sidekiq-cluster
-
-> - [Introduced](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/4006) in GitLab 12.10.
-> - [Moved](https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/181) to GitLab [Core](https://about.gitlab.com/pricing/#self-managed) in GitLab 12.10.
+### Disable Sidekiq cluster
CAUTION: **Warning:**
Sidekiq cluster is [scheduled](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/240)
@@ -234,7 +235,7 @@ setting `sidekiq['cluster'] = true`.
When using this feature, the service called `sidekiq` will now be
running `sidekiq-cluster`.
-The [concurrency](#managing-concurrency) and other options configured
+The [concurrency](#manage-concurrency) and other options configured
for Sidekiq will be respected.
By default, logs for `sidekiq-cluster` go to `/var/log/gitlab/sidekiq`
@@ -282,7 +283,7 @@ number of threads that equals the number of queues, plus one spare thread.
For example, a process that handles the `process_commit` and `post_receive`
queues will use three threads in total.
-## Managing concurrency
+## Manage concurrency
When setting the maximum concurrency, keep in mind this normally should
not exceed the number of CPU cores available. The values in the examples
@@ -293,29 +294,10 @@ latency and potentially cause client timeouts. See the [Sidekiq documentation
about Redis](https://github.com/mperham/sidekiq/wiki/Using-Redis) for more
details.
-### When running a single Sidekiq process
-
-CAUTION: **Warning:**
-Running Sidekiq directly is scheduled to be removed in GitLab
-[14.0](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/240).
-
-1. Edit `/etc/gitlab/gitlab.rb` and add:
-
- ```ruby
- sidekiq['cluster'] = false
- sidekiq['concurrency'] = 25
- ```
-
-1. Save the file and reconfigure GitLab for the changes to take effect:
-
- ```shell
- sudo gitlab-ctl reconfigure
- ```
-
-This will set the concurrency (number of threads) for the Sidekiq process.
-
### When running Sidekiq cluster (default)
+Running Sidekiq cluster is the default in GitLab 13.0 and later.
+
1. Edit `/etc/gitlab/gitlab.rb` and add:
```ruby
@@ -345,7 +327,30 @@ regardless of the number of queues.
When `min_concurrency` is greater than `max_concurrency`, it is treated as
being equal to `max_concurrency`.
-## Modifying the check interval
+### When running a single Sidekiq process
+
+Running a single Sidekiq process is the default in GitLab 12.10 and earlier.
+
+CAUTION: **Warning:**
+Running Sidekiq directly is scheduled to be removed in GitLab
+[14.0](https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/240).
+
+1. Edit `/etc/gitlab/gitlab.rb` and add:
+
+ ```ruby
+ sidekiq['cluster'] = false
+ sidekiq['concurrency'] = 25
+ ```
+
+1. Save the file and reconfigure GitLab for the changes to take effect:
+
+ ```shell
+ sudo gitlab-ctl reconfigure
+ ```
+
+This will set the concurrency (number of threads) for the Sidekiq process.
+
+## Modify the check interval
To modify the check interval for the additional Sidekiq processes:
@@ -359,7 +364,7 @@ To modify the check interval for the additional Sidekiq processes:
This tells the additional processes how often to check for enqueued jobs.
-## Troubleshooting using the CLI
+## Troubleshoot using the CLI
CAUTION: **Warning:**
It's recommended to use `/etc/gitlab/gitlab.rb` to configure the Sidekiq processes.
@@ -407,7 +412,7 @@ you'd use the following:
/opt/gitlab/embedded/service/gitlab-rails/bin/sidekiq-cluster process_commit,post_receive gitlab_shell
```
-### Monitoring the `sidekiq-cluster` command
+### Monitor the `sidekiq-cluster` command
The `sidekiq-cluster` command will not terminate once it has started the desired
amount of Sidekiq processes. Instead, the process will continue running and
@@ -420,7 +425,7 @@ processes will terminate themselves after a few seconds. This ensures you don't
end up with zombie Sidekiq processes.
All of this makes monitoring the processes fairly easy. Simply hook up
-`sidekiq-cluster` to your supervisor of choice (e.g. runit) and you're good to
+`sidekiq-cluster` to your supervisor of choice (for example, runit) and you're good to
go.
If a child process died the `sidekiq-cluster` command will signal all remaining
diff --git a/doc/administration/operations/ssh_certificates.md b/doc/administration/operations/ssh_certificates.md
index eaf0e4ab284..b652f282b7b 100644
--- a/doc/administration/operations/ssh_certificates.md
+++ b/doc/administration/operations/ssh_certificates.md
@@ -50,7 +50,7 @@ the GitLab server itself, but your setup may vary. If the CA is only
used for GitLab consider putting this in the `Match User git` section
(described below).
-The SSH certificates being issued by that CA **MUST** have a "key id"
+The SSH certificates being issued by that CA **MUST** have a "key ID"
corresponding to that user's username on GitLab, e.g. (some output
omitted for brevity):
@@ -77,7 +77,7 @@ own `AuthorizedPrincipalsCommand` to do that mapping instead of using
our provided default.
The important part is that the `AuthorizedPrincipalsCommand` must be
-able to map from the "key id" to a GitLab username in some way, the
+able to map from the "key ID" to a GitLab username in some way, the
default command we ship assumes there's a 1=1 mapping between the two,
since the whole point of this is to allow us to extract a GitLab
username from the key itself, instead of relying on something like the
@@ -122,7 +122,7 @@ into multiple lines of `authorized_keys` output, as described in the
Normally when using the `AuthorizedKeysCommand` with OpenSSH the
principal is some "group" that's allowed to log into that
server. However with GitLab it's only used to appease OpenSSH's
-requirement for it, we effectively only care about the "key id" being
+requirement for it, we effectively only care about the "key ID" being
correct. Once that's extracted GitLab will enforce its own ACLs for
that user (e.g. what projects the user can access).
diff --git a/doc/administration/reference_architectures/10k_users.md b/doc/administration/reference_architectures/10k_users.md
new file mode 100644
index 00000000000..7f31f336251
--- /dev/null
+++ b/doc/administration/reference_architectures/10k_users.md
@@ -0,0 +1,79 @@
+# Reference architecture: up to 10,000 users
+
+This page describes GitLab reference architecture for up to 10,000 users.
+For a full list of reference architectures, see
+[Available reference architectures](index.md#available-reference-architectures).
+
+> - **Supported users (approximate):** 10,000
+> - **High Availability:** True
+> - **Test RPS rates:** API: 200 RPS, Web: 20 RPS, Git: 20 RPS
+
+| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS ([9](#footnotes)) | Azure([9](#footnotes)) |
+|--------------------------------------------------------------|-------|---------------------------------|----------------|-----------------------|------------------------|
+| GitLab Rails ([1](#footnotes)) | 3 | 32 vCPU, 28.8GB Memory | n1-highcpu-32 | c5.9xlarge | F32s v2 |
+| PostgreSQL | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 16 vCPU, 60GB Memory | n1-standard-16 | m5.4xlarge | D16s v3 |
+| Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS |
+| Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS |
+| Consul | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Sidekiq | 4 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| Object Storage ([4](#footnotes)) | - | - | - | - | - |
+| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+| Monitoring node | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+
+## Footnotes
+
+1. In our architectures we run each GitLab Rails node using the Puma webserver
+ and have its number of workers set to 90% of available CPUs along with four threads. For
+ nodes that are running Rails with other components the worker value should be reduced
+ accordingly where we've found 50% achieves a good balance but this is dependent
+ on workload.
+
+1. Gitaly node requirements are dependent on customer data, specifically the number of
+ projects and their sizes. We recommend two nodes as an absolute minimum for HA environments
+ and at least four nodes should be used when supporting 50,000 or more users.
+ We also recommend that each Gitaly node should store no more than 5TB of data
+ and have the number of [`gitaly-ruby` workers](../gitaly/index.md#gitaly-ruby)
+ set to 20% of available CPUs. Additional nodes should be considered in conjunction
+ with a review of expected data size and spread based on the recommendations above.
+
+1. Recommended Redis setup differs depending on the size of the architecture.
+ For smaller architectures (less than 3,000 users) a single instance should suffice.
+ For medium sized installs (3,000 - 5,000) we suggest one Redis cluster for all
+ classes and that Redis Sentinel is hosted alongside Consul.
+ For larger architectures (10,000 users or more) we suggest running a separate
+ [Redis Cluster](../high_availability/redis.md#running-multiple-redis-clusters) for the Cache class
+ and another for the Queues and Shared State classes respectively. We also recommend
+ that you run the Redis Sentinel clusters separately for each Redis Cluster.
+
+1. For data objects such as LFS, Uploads, Artifacts, etc. We recommend an [Object Storage service](../object_storage.md)
+ over NFS where possible, due to better performance and availability.
+
+1. NFS can be used as an alternative for both repository data (replacing Gitaly) and
+ object storage but this isn't typically recommended for performance reasons. Note however it is required for
+ [GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/issues/196).
+
+1. Our architectures have been tested and validated with [HAProxy](https://www.haproxy.org/)
+ as the load balancer. Although other load balancers with similar feature sets
+ could also be used, those load balancers have not been validated.
+
+1. We strongly recommend that any Gitaly or NFS nodes be set up with SSD disks over
+ HDD with a throughput of at least 8,000 IOPS for read operations and 2,000 IOPS for write
+ as these components have heavy I/O. These IOPS values are recommended only as a starter
+ as with time they may be adjusted higher or lower depending on the scale of your
+ environment's workload. If you're running the environment on a Cloud provider
+ you may need to refer to their documentation on how configure IOPS correctly.
+
+1. The architectures were built and tested with the [Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
+ CPU platform on GCP. On different hardware you may find that adjustments, either lower
+ or higher, are required for your CPU or Node counts accordingly. For more information, a
+ [Sysbench](https://github.com/akopytov/sysbench) benchmark of the CPU can be found
+ [here](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+
+1. AWS-equivalent and Azure-equivalent configurations are rough suggestions
+ and may change in the future. They have not yet been tested and validated.
diff --git a/doc/administration/reference_architectures/1k_users.md b/doc/administration/reference_architectures/1k_users.md
new file mode 100644
index 00000000000..615da2b14c9
--- /dev/null
+++ b/doc/administration/reference_architectures/1k_users.md
@@ -0,0 +1,82 @@
+# Reference architecture: up to 1,000 users
+
+This page describes GitLab reference architecture for up to 1,000 users.
+For a full list of reference architectures, see
+[Available reference architectures](index.md#available-reference-architectures).
+
+> - **Supported users (approximate):** 1,000
+> - **High Availability:** False
+
+| Users | Configuration([8](#footnotes)) | GCP type | AWS type([9](#footnotes)) |
+|-------|--------------------------------|---------------|---------------------------|
+| 100 | 2 vCPU, 7.2GB Memory | n1-standard-2 | c5.2xlarge |
+| 500 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
+| 1000 | 8 vCPU, 30GB Memory | n1-standard-8 | m5.2xlarge |
+
+For situations where you need to serve up to 1,000 users, a single-node
+solution with [frequent backups](index.md#automated-backups-core-only) is appropriate
+for many organizations. With automatic backup of the GitLab repositories,
+configuration, and the database, if you don't have strict availability
+requirements, this is the ideal solution.
+
+## Setup instructions
+
+- For this default reference architecture, use the standard [installation instructions](../../install/README.md) to install GitLab.
+
+NOTE: **Note:**
+You can also optionally configure GitLab to use an
+[external PostgreSQL service](../external_database.md) or an
+[external object storage service](../high_availability/object_storage.md) for
+added performance and reliability at a reduced complexity cost.
+
+## Footnotes
+
+1. In our architectures we run each GitLab Rails node using the Puma webserver
+ and have its number of workers set to 90% of available CPUs along with four threads. For
+ nodes that are running Rails with other components the worker value should be reduced
+ accordingly where we've found 50% achieves a good balance but this is dependent
+ on workload.
+
+1. Gitaly node requirements are dependent on customer data, specifically the number of
+ projects and their sizes. We recommend two nodes as an absolute minimum for HA environments
+ and at least four nodes should be used when supporting 50,000 or more users.
+ We also recommend that each Gitaly node should store no more than 5TB of data
+ and have the number of [`gitaly-ruby` workers](../gitaly/index.md#gitaly-ruby)
+ set to 20% of available CPUs. Additional nodes should be considered in conjunction
+ with a review of expected data size and spread based on the recommendations above.
+
+1. Recommended Redis setup differs depending on the size of the architecture.
+ For smaller architectures (less than 3,000 users) a single instance should suffice.
+ For medium sized installs (3,000 - 5,000) we suggest one Redis cluster for all
+ classes and that Redis Sentinel is hosted alongside Consul.
+ For larger architectures (10,000 users or more) we suggest running a separate
+ [Redis Cluster](../high_availability/redis.md#running-multiple-redis-clusters) for the Cache class
+ and another for the Queues and Shared State classes respectively. We also recommend
+ that you run the Redis Sentinel clusters separately for each Redis Cluster.
+
+1. For data objects such as LFS, Uploads, Artifacts, etc. We recommend an [Object Storage service](../object_storage.md)
+ over NFS where possible, due to better performance and availability.
+
+1. NFS can be used as an alternative for both repository data (replacing Gitaly) and
+ object storage but this isn't typically recommended for performance reasons. Note however it is required for
+ [GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/issues/196).
+
+1. Our architectures have been tested and validated with [HAProxy](https://www.haproxy.org/)
+ as the load balancer. Although other load balancers with similar feature sets
+ could also be used, those load balancers have not been validated.
+
+1. We strongly recommend that any Gitaly or NFS nodes be set up with SSD disks over
+ HDD with a throughput of at least 8,000 IOPS for read operations and 2,000 IOPS for write
+ as these components have heavy I/O. These IOPS values are recommended only as a starter
+ as with time they may be adjusted higher or lower depending on the scale of your
+ environment's workload. If you're running the environment on a Cloud provider
+ you may need to refer to their documentation on how configure IOPS correctly.
+
+1. The architectures were built and tested with the [Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
+ CPU platform on GCP. On different hardware you may find that adjustments, either lower
+ or higher, are required for your CPU or Node counts accordingly. For more information, a
+ [Sysbench](https://github.com/akopytov/sysbench) benchmark of the CPU can be found
+ [here](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+
+1. AWS-equivalent and Azure-equivalent configurations are rough suggestions
+ and may change in the future. They have not yet been tested and validated.
diff --git a/doc/administration/reference_architectures/25k_users.md b/doc/administration/reference_architectures/25k_users.md
new file mode 100644
index 00000000000..2ee692d635c
--- /dev/null
+++ b/doc/administration/reference_architectures/25k_users.md
@@ -0,0 +1,79 @@
+# Reference architecture: up to 25,000 users
+
+This page describes GitLab reference architecture for up to 25,000 users.
+For a full list of reference architectures, see
+[Available reference architectures](index.md#available-reference-architectures).
+
+> - **Supported users (approximate):** 25,000
+> - **High Availability:** True
+> - **Test RPS rates:** API: 500 RPS, Web: 50 RPS, Git: 50 RPS
+
+| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS ([9](#footnotes)) | Azure([9](#footnotes)) |
+|--------------------------------------------------------------|-------|---------------------------------|----------------|-----------------------|------------------------|
+| GitLab Rails ([1](#footnotes)) | 5 | 32 vCPU, 28.8GB Memory | n1-highcpu-32 | c5.9xlarge | F32s v2 |
+| PostgreSQL | 3 | 8 vCPU, 30GB Memory | n1-standard-8 | m5.2xlarge | D8s v3 |
+| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 32 vCPU, 120GB Memory | n1-standard-32 | m5.8xlarge | D32s v3 |
+| Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS |
+| Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS |
+| Consul | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Sidekiq | 4 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| Object Storage ([4](#footnotes)) | - | - | - | - | - |
+| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+| Monitoring node | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Internal load balancing node ([6](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+
+## Footnotes
+
+1. In our architectures we run each GitLab Rails node using the Puma webserver
+ and have its number of workers set to 90% of available CPUs along with four threads. For
+ nodes that are running Rails with other components the worker value should be reduced
+ accordingly where we've found 50% achieves a good balance but this is dependent
+ on workload.
+
+1. Gitaly node requirements are dependent on customer data, specifically the number of
+ projects and their sizes. We recommend two nodes as an absolute minimum for HA environments
+ and at least four nodes should be used when supporting 50,000 or more users.
+ We also recommend that each Gitaly node should store no more than 5TB of data
+ and have the number of [`gitaly-ruby` workers](../gitaly/index.md#gitaly-ruby)
+ set to 20% of available CPUs. Additional nodes should be considered in conjunction
+ with a review of expected data size and spread based on the recommendations above.
+
+1. Recommended Redis setup differs depending on the size of the architecture.
+ For smaller architectures (less than 3,000 users) a single instance should suffice.
+ For medium sized installs (3,000 - 5,000) we suggest one Redis cluster for all
+ classes and that Redis Sentinel is hosted alongside Consul.
+ For larger architectures (10,000 users or more) we suggest running a separate
+ [Redis Cluster](../high_availability/redis.md#running-multiple-redis-clusters) for the Cache class
+ and another for the Queues and Shared State classes respectively. We also recommend
+ that you run the Redis Sentinel clusters separately for each Redis Cluster.
+
+1. For data objects such as LFS, Uploads, Artifacts, etc. We recommend an [Object Storage service](../object_storage.md)
+ over NFS where possible, due to better performance and availability.
+
+1. NFS can be used as an alternative for both repository data (replacing Gitaly) and
+ object storage but this isn't typically recommended for performance reasons. Note however it is required for
+ [GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/issues/196).
+
+1. Our architectures have been tested and validated with [HAProxy](https://www.haproxy.org/)
+ as the load balancer. Although other load balancers with similar feature sets
+ could also be used, those load balancers have not been validated.
+
+1. We strongly recommend that any Gitaly or NFS nodes be set up with SSD disks over
+ HDD with a throughput of at least 8,000 IOPS for read operations and 2,000 IOPS for write
+ as these components have heavy I/O. These IOPS values are recommended only as a starter
+ as with time they may be adjusted higher or lower depending on the scale of your
+ environment's workload. If you're running the environment on a Cloud provider
+ you may need to refer to their documentation on how configure IOPS correctly.
+
+1. The architectures were built and tested with the [Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
+ CPU platform on GCP. On different hardware you may find that adjustments, either lower
+ or higher, are required for your CPU or Node counts accordingly. For more information, a
+ [Sysbench](https://github.com/akopytov/sysbench) benchmark of the CPU can be found
+ [here](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+
+1. AWS-equivalent and Azure-equivalent configurations are rough suggestions
+ and may change in the future. They have not yet been tested and validated.
diff --git a/doc/administration/reference_architectures/2k_users.md b/doc/administration/reference_architectures/2k_users.md
new file mode 100644
index 00000000000..874e00e6722
--- /dev/null
+++ b/doc/administration/reference_architectures/2k_users.md
@@ -0,0 +1,90 @@
+# Reference architecture: up to 2,000 users
+
+This page describes GitLab reference architecture for up to 2,000 users.
+For a full list of reference architectures, see
+[Available reference architectures](index.md#available-reference-architectures).
+
+> - **Supported users (approximate):** 2,000
+> - **High Availability:** False
+> - **Test RPS rates:** API: 40 RPS, Web: 4 RPS, Git: 4 RPS
+
+| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS ([9](#footnotes)) | Azure([9](#footnotes)) |
+|--------------------------------------------------------------|-------|---------------------------------|---------------|-----------------------|----------------|
+| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Object Storage ([4](#footnotes)) | - | - | - | - | - |
+| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+| PostgreSQL | 1 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 |
+| Redis ([3](#footnotes)) | 1 | 1 vCPU, 3.75GB Memory | n1-standard-1 | m5.large | D2s v3 |
+| Gitaly ([5](#footnotes)) ([7](#footnotes)) | X ([2](#footnotes)) | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| GitLab Rails ([1](#footnotes)) | 2 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge | F8s v2 |
+| Monitoring node | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+
+## Setup instructions
+
+1. [Configure the external load balancing node](../high_availability/load_balancer.md)
+ that will handle the load balancing of the two GitLab application services nodes.
+1. [Configure the Object Storage](../object_storage.md) ([4](#footnotes)) used for shared data objects.
+1. (Optional) [Configure NFS](../high_availability/nfs.md) to have
+ shared disk storage service as an alternative to Gitaly and/or
+ [Object Storage](../object_storage.md) (although not recommended).
+ NFS is required for GitLab Pages, you can skip this step if you're not using that feature.
+1. [Configure PostgreSQL](../high_availability/load_balancer.md), the database for GitLab.
+1. [Configure Redis](../high_availability/redis.md).
+1. [Configure Gitaly](../gitaly/index.md#running-gitaly-on-its-own-server),
+ which is used to provide access to the Git repositories.
+1. [Configure the main GitLab Rails application](../high_availability/gitlab.md)
+ to run Puma/Unicorn, Workhorse, GitLab Shell, and to serve all
+ frontend requests (UI, API, Git over HTTP/SSH).
+1. [Configure Prometheus](../high_availability/monitoring_node.md) to monitor your GitLab environment.
+
+## Footnotes
+
+1. In our architectures we run each GitLab Rails node using the Puma webserver
+ and have its number of workers set to 90% of available CPUs along with four threads. For
+ nodes that are running Rails with other components the worker value should be reduced
+ accordingly where we've found 50% achieves a good balance but this is dependent
+ on workload.
+
+1. Gitaly node requirements are dependent on customer data, specifically the number of
+ projects and their sizes. We recommend two nodes as an absolute minimum for HA environments
+ and at least four nodes should be used when supporting 50,000 or more users.
+ We also recommend that each Gitaly node should store no more than 5TB of data
+ and have the number of [`gitaly-ruby` workers](../gitaly/index.md#gitaly-ruby)
+ set to 20% of available CPUs. Additional nodes should be considered in conjunction
+ with a review of expected data size and spread based on the recommendations above.
+
+1. Recommended Redis setup differs depending on the size of the architecture.
+ For smaller architectures (less than 3,000 users) a single instance should suffice.
+ For medium sized installs (3,000 - 5,000) we suggest one Redis cluster for all
+ classes and that Redis Sentinel is hosted alongside Consul.
+ For larger architectures (10,000 users or more) we suggest running a separate
+ [Redis Cluster](../high_availability/redis.md#running-multiple-redis-clusters) for the Cache class
+ and another for the Queues and Shared State classes respectively. We also recommend
+ that you run the Redis Sentinel clusters separately for each Redis Cluster.
+
+1. For data objects such as LFS, Uploads, Artifacts, etc. We recommend an [Object Storage service](../object_storage.md)
+ over NFS where possible, due to better performance and availability.
+
+1. NFS can be used as an alternative for both repository data (replacing Gitaly) and
+ object storage but this isn't typically recommended for performance reasons. Note however it is required for
+ [GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/issues/196).
+
+1. Our architectures have been tested and validated with [HAProxy](https://www.haproxy.org/)
+ as the load balancer. Although other load balancers with similar feature sets
+ could also be used, those load balancers have not been validated.
+
+1. We strongly recommend that any Gitaly or NFS nodes be set up with SSD disks over
+ HDD with a throughput of at least 8,000 IOPS for read operations and 2,000 IOPS for write
+ as these components have heavy I/O. These IOPS values are recommended only as a starter
+ as with time they may be adjusted higher or lower depending on the scale of your
+ environment's workload. If you're running the environment on a Cloud provider
+ you may need to refer to their documentation on how configure IOPS correctly.
+
+1. The architectures were built and tested with the [Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
+ CPU platform on GCP. On different hardware you may find that adjustments, either lower
+ or higher, are required for your CPU or Node counts accordingly. For more information, a
+ [Sysbench](https://github.com/akopytov/sysbench) benchmark of the CPU can be found
+ [here](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+
+1. AWS-equivalent and Azure-equivalent configurations are rough suggestions
+ and may change in the future. They have not yet been tested and validated.
diff --git a/doc/administration/reference_architectures/3k_users.md b/doc/administration/reference_architectures/3k_users.md
new file mode 100644
index 00000000000..bd429fbc4b4
--- /dev/null
+++ b/doc/administration/reference_architectures/3k_users.md
@@ -0,0 +1,82 @@
+# Reference architecture: up to 3,000 users
+
+This page describes GitLab reference architecture for up to 3,000 users.
+For a full list of reference architectures, see
+[Available reference architectures](index.md#available-reference-architectures).
+
+NOTE: **Note:** The 3,000-user reference architecture documented below is
+designed to help your organization achieve a highly-available GitLab deployment.
+If you do not have the expertise or need to maintain a highly-available
+environment, you can have a simpler and less costly-to-operate environment by
+following the [2,000-user reference architecture](2k_users.md).
+
+> - **Supported users (approximate):** 3,000
+> - **High Availability:** True
+> - **Test RPS rates:** API: 60 RPS, Web: 6 RPS, Git: 6 RPS
+
+| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS ([9](#footnotes)) | Azure([9](#footnotes)) |
+|--------------------------------------------------------------|-------|---------------------------------|---------------|-----------------------|------------------------|
+| GitLab Rails ([1](#footnotes)) | 3 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge | F8s v2 |
+| PostgreSQL | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 |
+| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| Redis ([3](#footnotes)) | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 |
+| Consul + Sentinel ([3](#footnotes)) | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Sidekiq | 4 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 |
+| Object Storage ([4](#footnotes)) | - | - | - | - | - |
+| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+| Monitoring node | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+
+## Footnotes
+
+1. In our architectures we run each GitLab Rails node using the Puma webserver
+ and have its number of workers set to 90% of available CPUs along with four threads. For
+ nodes that are running Rails with other components the worker value should be reduced
+ accordingly where we've found 50% achieves a good balance but this is dependent
+ on workload.
+
+1. Gitaly node requirements are dependent on customer data, specifically the number of
+ projects and their sizes. We recommend two nodes as an absolute minimum for HA environments
+ and at least four nodes should be used when supporting 50,000 or more users.
+ We also recommend that each Gitaly node should store no more than 5TB of data
+ and have the number of [`gitaly-ruby` workers](../gitaly/index.md#gitaly-ruby)
+ set to 20% of available CPUs. Additional nodes should be considered in conjunction
+ with a review of expected data size and spread based on the recommendations above.
+
+1. Recommended Redis setup differs depending on the size of the architecture.
+ For smaller architectures (less than 3,000 users) a single instance should suffice.
+ For medium sized installs (3,000 - 5,000) we suggest one Redis cluster for all
+ classes and that Redis Sentinel is hosted alongside Consul.
+ For larger architectures (10,000 users or more) we suggest running a separate
+ [Redis Cluster](../high_availability/redis.md#running-multiple-redis-clusters) for the Cache class
+ and another for the Queues and Shared State classes respectively. We also recommend
+ that you run the Redis Sentinel clusters separately for each Redis Cluster.
+
+1. For data objects such as LFS, Uploads, Artifacts, etc. We recommend an [Object Storage service](../object_storage.md)
+ over NFS where possible, due to better performance and availability.
+
+1. NFS can be used as an alternative for both repository data (replacing Gitaly) and
+ object storage but this isn't typically recommended for performance reasons. Note however it is required for
+ [GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/issues/196).
+
+1. Our architectures have been tested and validated with [HAProxy](https://www.haproxy.org/)
+ as the load balancer. Although other load balancers with similar feature sets
+ could also be used, those load balancers have not been validated.
+
+1. We strongly recommend that any Gitaly or NFS nodes be set up with SSD disks over
+ HDD with a throughput of at least 8,000 IOPS for read operations and 2,000 IOPS for write
+ as these components have heavy I/O. These IOPS values are recommended only as a starter
+ as with time they may be adjusted higher or lower depending on the scale of your
+ environment's workload. If you're running the environment on a Cloud provider
+ you may need to refer to their documentation on how configure IOPS correctly.
+
+1. The architectures were built and tested with the [Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
+ CPU platform on GCP. On different hardware you may find that adjustments, either lower
+ or higher, are required for your CPU or Node counts accordingly. For more information, a
+ [Sysbench](https://github.com/akopytov/sysbench) benchmark of the CPU can be found
+ [here](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+
+1. AWS-equivalent and Azure-equivalent configurations are rough suggestions
+ and may change in the future. They have not yet been tested and validated.
diff --git a/doc/administration/reference_architectures/50k_users.md b/doc/administration/reference_architectures/50k_users.md
new file mode 100644
index 00000000000..67f773a021f
--- /dev/null
+++ b/doc/administration/reference_architectures/50k_users.md
@@ -0,0 +1,79 @@
+# Reference architecture: up to 50,000 users
+
+This page describes GitLab reference architecture for up to 50,000 users.
+For a full list of reference architectures, see
+[Available reference architectures](index.md#available-reference-architectures).
+
+> - **Supported users (approximate):** 50,000
+> - **High Availability:** True
+> - **Test RPS rates:** API: 1000 RPS, Web: 100 RPS, Git: 100 RPS
+
+| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS ([9](#footnotes)) | Azure([9](#footnotes)) |
+|--------------------------------------------------------------|-------|---------------------------------|----------------|-----------------------|------------------------|
+| GitLab Rails ([1](#footnotes)) | 12 | 32 vCPU, 28.8GB Memory | n1-highcpu-32 | c5.9xlarge | F32s v2 |
+| PostgreSQL | 3 | 16 vCPU, 60GB Memory | n1-standard-16 | m5.4xlarge | D16s v3 |
+| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 64 vCPU, 240GB Memory | n1-standard-64 | m5.16xlarge | D64s v3 |
+| Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS |
+| Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small | B1MS |
+| Consul | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Sidekiq | 4 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge | D4s v3 |
+| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+| Object Storage ([4](#footnotes)) | - | - | - | - | - |
+| Monitoring node | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Internal load balancing node ([6](#footnotes)) | 1 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge | F8s v2 |
+
+## Footnotes
+
+1. In our architectures we run each GitLab Rails node using the Puma webserver
+ and have its number of workers set to 90% of available CPUs along with four threads. For
+ nodes that are running Rails with other components the worker value should be reduced
+ accordingly where we've found 50% achieves a good balance but this is dependent
+ on workload.
+
+1. Gitaly node requirements are dependent on customer data, specifically the number of
+ projects and their sizes. We recommend two nodes as an absolute minimum for HA environments
+ and at least four nodes should be used when supporting 50,000 or more users.
+ We also recommend that each Gitaly node should store no more than 5TB of data
+ and have the number of [`gitaly-ruby` workers](../gitaly/index.md#gitaly-ruby)
+ set to 20% of available CPUs. Additional nodes should be considered in conjunction
+ with a review of expected data size and spread based on the recommendations above.
+
+1. Recommended Redis setup differs depending on the size of the architecture.
+ For smaller architectures (less than 3,000 users) a single instance should suffice.
+ For medium sized installs (3,000 - 5,000) we suggest one Redis cluster for all
+ classes and that Redis Sentinel is hosted alongside Consul.
+ For larger architectures (10,000 users or more) we suggest running a separate
+ [Redis Cluster](../high_availability/redis.md#running-multiple-redis-clusters) for the Cache class
+ and another for the Queues and Shared State classes respectively. We also recommend
+ that you run the Redis Sentinel clusters separately for each Redis Cluster.
+
+1. For data objects such as LFS, Uploads, Artifacts, etc. We recommend an [Object Storage service](../object_storage.md)
+ over NFS where possible, due to better performance and availability.
+
+1. NFS can be used as an alternative for both repository data (replacing Gitaly) and
+ object storage but this isn't typically recommended for performance reasons. Note however it is required for
+ [GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/issues/196).
+
+1. Our architectures have been tested and validated with [HAProxy](https://www.haproxy.org/)
+ as the load balancer. Although other load balancers with similar feature sets
+ could also be used, those load balancers have not been validated.
+
+1. We strongly recommend that any Gitaly or NFS nodes be set up with SSD disks over
+ HDD with a throughput of at least 8,000 IOPS for read operations and 2,000 IOPS for write
+ as these components have heavy I/O. These IOPS values are recommended only as a starter
+ as with time they may be adjusted higher or lower depending on the scale of your
+ environment's workload. If you're running the environment on a Cloud provider
+ you may need to refer to their documentation on how configure IOPS correctly.
+
+1. The architectures were built and tested with the [Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
+ CPU platform on GCP. On different hardware you may find that adjustments, either lower
+ or higher, are required for your CPU or Node counts accordingly. For more information, a
+ [Sysbench](https://github.com/akopytov/sysbench) benchmark of the CPU can be found
+ [here](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+
+1. AWS-equivalent and Azure-equivalent configurations are rough suggestions
+ and may change in the future. They have not yet been tested and validated.
diff --git a/doc/administration/reference_architectures/5k_users.md b/doc/administration/reference_architectures/5k_users.md
new file mode 100644
index 00000000000..41ef6f369c2
--- /dev/null
+++ b/doc/administration/reference_architectures/5k_users.md
@@ -0,0 +1,76 @@
+# Reference architecture: up to 5,000 users
+
+This page describes GitLab reference architecture for up to 5,000 users.
+For a full list of reference architectures, see
+[Available reference architectures](index.md#available-reference-architectures).
+
+> - **Supported users (approximate):** 5,000
+> - **High Availability:** True
+> - **Test RPS rates:** API: 100 RPS, Web: 10 RPS, Git: 10 RPS
+
+| Service | Nodes | Configuration ([8](#footnotes)) | GCP | AWS ([9](#footnotes)) | Azure([9](#footnotes)) |
+|--------------------------------------------------------------|-------|---------------------------------|---------------|-----------------------|------------------------|
+| GitLab Rails ([1](#footnotes)) | 3 | 16 vCPU, 14.4GB Memory | n1-highcpu-16 | c5.4xlarge | F16s v2 |
+| PostgreSQL | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 |
+| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 8 vCPU, 30GB Memory | n1-standard-8 | m5.2xlarge | D8s v3 |
+| Redis ([3](#footnotes)) | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 |
+| Consul + Sentinel ([3](#footnotes)) | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Sidekiq | 4 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large | D2s v3 |
+| Object Storage ([4](#footnotes)) | - | - | - | - | - |
+| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge | F4s v2 |
+| Monitoring node | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+| Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large | F2s v2 |
+
+## Footnotes
+
+1. In our architectures we run each GitLab Rails node using the Puma webserver
+ and have its number of workers set to 90% of available CPUs along with four threads. For
+ nodes that are running Rails with other components the worker value should be reduced
+ accordingly where we've found 50% achieves a good balance but this is dependent
+ on workload.
+
+1. Gitaly node requirements are dependent on customer data, specifically the number of
+ projects and their sizes. We recommend two nodes as an absolute minimum for HA environments
+ and at least four nodes should be used when supporting 50,000 or more users.
+ We also recommend that each Gitaly node should store no more than 5TB of data
+ and have the number of [`gitaly-ruby` workers](../gitaly/index.md#gitaly-ruby)
+ set to 20% of available CPUs. Additional nodes should be considered in conjunction
+ with a review of expected data size and spread based on the recommendations above.
+
+1. Recommended Redis setup differs depending on the size of the architecture.
+ For smaller architectures (less than 3,000 users) a single instance should suffice.
+ For medium sized installs (3,000 - 5,000) we suggest one Redis cluster for all
+ classes and that Redis Sentinel is hosted alongside Consul.
+ For larger architectures (10,000 users or more) we suggest running a separate
+ [Redis Cluster](../high_availability/redis.md#running-multiple-redis-clusters) for the Cache class
+ and another for the Queues and Shared State classes respectively. We also recommend
+ that you run the Redis Sentinel clusters separately for each Redis Cluster.
+
+1. For data objects such as LFS, Uploads, Artifacts, etc. We recommend an [Object Storage service](../object_storage.md)
+ over NFS where possible, due to better performance and availability.
+
+1. NFS can be used as an alternative for both repository data (replacing Gitaly) and
+ object storage but this isn't typically recommended for performance reasons. Note however it is required for
+ [GitLab Pages](https://gitlab.com/gitlab-org/gitlab-pages/issues/196).
+
+1. Our architectures have been tested and validated with [HAProxy](https://www.haproxy.org/)
+ as the load balancer. Although other load balancers with similar feature sets
+ could also be used, those load balancers have not been validated.
+
+1. We strongly recommend that any Gitaly or NFS nodes be set up with SSD disks over
+ HDD with a throughput of at least 8,000 IOPS for read operations and 2,000 IOPS for write
+ as these components have heavy I/O. These IOPS values are recommended only as a starter
+ as with time they may be adjusted higher or lower depending on the scale of your
+ environment's workload. If you're running the environment on a Cloud provider
+ you may need to refer to their documentation on how configure IOPS correctly.
+
+1. The architectures were built and tested with the [Intel Xeon E5 v3 (Haswell)](https://cloud.google.com/compute/docs/cpu-platforms)
+ CPU platform on GCP. On different hardware you may find that adjustments, either lower
+ or higher, are required for your CPU or Node counts accordingly. For more information, a
+ [Sysbench](https://github.com/akopytov/sysbench) benchmark of the CPU can be found
+ [here](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
+
+1. AWS-equivalent and Azure-equivalent configurations are rough suggestions
+ and may change in the future. They have not yet been tested and validated.
diff --git a/doc/administration/reference_architectures/index.md b/doc/administration/reference_architectures/index.md
index 79d4a3328b1..604a9de1957 100644
--- a/doc/administration/reference_architectures/index.md
+++ b/doc/administration/reference_architectures/index.md
@@ -31,9 +31,6 @@ by [installing GitLab](../../install/README.md) on a single machine to minimize
If your organization has more than 2,000 users, the recommendation is to scale GitLab's components to multiple
machine nodes. The machine nodes are grouped by component(s). The addition of these
nodes increases the performance and scalability of to your GitLab instance.
-As long as there is at least one of each component online and capable of handling
-the instance's usage load, your team's productivity will not be interrupted.
-Scaling GitLab in this manner also enables you to perform [zero-downtime updates](https://docs.gitlab.com/omnibus/update/#zero-downtime-updates).
When scaling GitLab, there are several factors to consider:
@@ -48,164 +45,26 @@ how much automation you use, mirroring, and repository/change size. Additionally
displayed memory values are provided by [GCP machine types](https://cloud.google.com/compute/docs/machine-types).
For different cloud vendors, attempt to select options that best match the provided architecture.
-## Up to 1,000 users
-
-From 1 to 1,000 users, a [single-node setup with frequent backups](#automated-backups-core-only) is adequate.
-
-| Users | Configuration([8](#footnotes)) | GCP type | AWS type([9](#footnotes)) |
-|-------|--------------------------------|---------------|---------------------------|
-| 100 | 2 vCPU, 7.2GB Memory | n1-standard-2 | c5.2xlarge |
-| 500 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| 1000 | 8 vCPU, 30GB Memory | n1-standard-8 | m5.2xlarge |
-
-This solution is appropriate for many teams that have a single server at their disposal. With automatic backup of the GitLab repositories, configuration, and the database, this can be an optimal solution if you don't have strict availability requirements.
-
-You can also optionally configure GitLab to use an [external PostgreSQL service](../external_database.md) or an [external object storage service](../high_availability/object_storage.md) for added performance and reliability at a relatively low complexity cost.
-
-## Up to 2,000 users
-
-> - **Supported users (approximate):** 2,000
-> - **High Availability:** False
-> - **Test RPS rates:** API: 40 RPS, Web: 4 RPS, Git: 4 RPS
-
-| Service | Nodes | Configuration ([8](#footnotes)) | GCP type | AWS type ([9](#footnotes)) |
-|--------------------------------------------------------------|-------|---------------------------------|---------------|----------------------------|
-| GitLab Rails, Sidekiq, Consul ([1](#footnotes)) | 2 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge |
-| PostgreSQL | 1 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large |
-| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Cloud Object Storage ([4](#footnotes)) | - | - | - | - |
-| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-
-## Up to 3,000 users
-
-NOTE: **Note:** The 3,000-user reference architecture documented below is
-designed to help your organization achieve a highly-available GitLab deployment.
-If you do not have the expertise or need to maintain a highly-available
-environment, you can have a simpler and less costly-to-operate environment by
-deploying two or more GitLab Rails servers, external load balancing, an NFS
-server, a PostgreSQL server and a Redis server. A reference architecture with
-this alternative in mind is [being worked on](https://gitlab.com/gitlab-org/quality/performance/-/issues/223).
-
-> - **Supported users (approximate):** 3,000
-> - **High Availability:** True
-> - **Test RPS rates:** API: 60 RPS, Web: 6 RPS, Git: 6 RPS
-
-| Service | Nodes | Configuration ([8](#footnotes)) | GCP type | AWS type ([9](#footnotes)) |
-|--------------------------------------------------------------|-------|---------------------------------|---------------|----------------------------|
-| GitLab Rails ([1](#footnotes)) | 3 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge |
-| PostgreSQL | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large |
-| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Redis ([3](#footnotes)) | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large |
-| Consul + Sentinel ([3](#footnotes)) | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Sidekiq | 4 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large |
-| Cloud Object Storage ([4](#footnotes)) | - | - | - | - |
-| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-| Monitoring node | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-
-## Up to 5,000 users
-
-> - **Supported users (approximate):** 5,000
-> - **High Availability:** True
-> - **Test RPS rates:** API: 100 RPS, Web: 10 RPS, Git: 10 RPS
-
-| Service | Nodes | Configuration ([8](#footnotes)) | GCP type | AWS type ([9](#footnotes)) |
-|--------------------------------------------------------------|-------|---------------------------------|---------------|----------------------------|
-| GitLab Rails ([1](#footnotes)) | 3 | 16 vCPU, 14.4GB Memory | n1-highcpu-16 | c5.4xlarge |
-| PostgreSQL | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large |
-| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 8 vCPU, 30GB Memory | n1-standard-8 | m5.2xlarge |
-| Redis ([3](#footnotes)) | 3 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large |
-| Consul + Sentinel ([3](#footnotes)) | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Sidekiq | 4 | 2 vCPU, 7.5GB Memory | n1-standard-2 | m5.large |
-| Cloud Object Storage ([4](#footnotes)) | - | - | - | - |
-| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-| Monitoring node | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-
-## Up to 10,000 users
-
-> - **Supported users (approximate):** 10,000
-> - **High Availability:** True
-> - **Test RPS rates:** API: 200 RPS, Web: 20 RPS, Git: 20 RPS
-
-| Service | Nodes | GCP Configuration ([8](#footnotes)) | GCP type | AWS type ([9](#footnotes)) |
-|--------------------------------------------------------------|-------|-------------------------------------|----------------|----------------------------|
-| GitLab Rails ([1](#footnotes)) | 3 | 32 vCPU, 28.8GB Memory | n1-highcpu-32 | c5.9xlarge |
-| PostgreSQL | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 16 vCPU, 60GB Memory | n1-standard-16 | m5.4xlarge |
-| Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small |
-| Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small |
-| Consul | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Sidekiq | 4 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Cloud Object Storage ([4](#footnotes)) | - | - | - | - |
-| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-| Monitoring node | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Internal load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-
-## Up to 25,000 users
-
-> - **Supported users (approximate):** 25,000
-> - **High Availability:** True
-> - **Test RPS rates:** API: 500 RPS, Web: 50 RPS, Git: 50 RPS
-
-| Service | Nodes | Configuration ([8](#footnotes)) | GCP type | AWS type ([9](#footnotes)) |
-|--------------------------------------------------------------|-------|---------------------------------|----------------|----------------------------|
-| GitLab Rails ([1](#footnotes)) | 5 | 32 vCPU, 28.8GB Memory | n1-highcpu-32 | c5.9xlarge |
-| PostgreSQL | 3 | 8 vCPU, 30GB Memory | n1-standard-8 | m5.2xlarge |
-| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 32 vCPU, 120GB Memory | n1-standard-32 | m5.8xlarge |
-| Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small |
-| Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small |
-| Consul | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Sidekiq | 4 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Cloud Object Storage ([4](#footnotes)) | - | - | - | - |
-| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-| Monitoring node | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Internal load balancing node ([6](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-
-## Up to 50,000 users
-
-> - **Supported users (approximate):** 50,000
-> - **High Availability:** True
-> - **Test RPS rates:** API: 1000 RPS, Web: 100 RPS, Git: 100 RPS
-
-| Service | Nodes | Configuration ([8](#footnotes)) | GCP type | AWS type ([9](#footnotes)) |
-|--------------------------------------------------------------|-------|---------------------------------|----------------|----------------------------|
-| GitLab Rails ([1](#footnotes)) | 12 | 32 vCPU, 28.8GB Memory | n1-highcpu-32 | c5.9xlarge |
-| PostgreSQL | 3 | 16 vCPU, 60GB Memory | n1-standard-16 | m5.4xlarge |
-| PgBouncer | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Gitaly ([2](#footnotes)) ([5](#footnotes)) ([7](#footnotes)) | X | 64 vCPU, 240GB Memory | n1-standard-64 | m5.16xlarge |
-| Redis ([3](#footnotes)) - Cache | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Redis ([3](#footnotes)) - Queues / Shared State | 3 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| Redis Sentinel ([3](#footnotes)) - Cache | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small |
-| Redis Sentinel ([3](#footnotes)) - Queues / Shared State | 3 | 1 vCPU, 1.7GB Memory | g1-small | t2.small |
-| Consul | 3 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Sidekiq | 4 | 4 vCPU, 15GB Memory | n1-standard-4 | m5.xlarge |
-| NFS Server ([5](#footnotes)) ([7](#footnotes)) | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-| Cloud Object Storage ([4](#footnotes)) | - | - | - | - |
-| Monitoring node | 1 | 4 vCPU, 3.6GB Memory | n1-highcpu-4 | c5.xlarge |
-| External load balancing node ([6](#footnotes)) | 1 | 2 vCPU, 1.8GB Memory | n1-highcpu-2 | c5.large |
-| Internal load balancing node ([6](#footnotes)) | 1 | 8 vCPU, 7.2GB Memory | n1-highcpu-8 | c5.2xlarge |
-
-## Availability complexity
-
-GitLab comes with the following availability complexity for your use, listed from
+## Available reference architectures
+
+The following reference architectures are available:
+
+- [Up to 1,000 users](1k_users.md)
+- [Up to 2,000 users](2k_users.md)
+- [Up to 3,000 users](3k_users.md)
+- [Up to 5,000 users](5k_users.md)
+- [Up to 10,000 users](10k_users.md)
+- [Up to 25,000 users](25k_users.md)
+- [Up to 50,000 users](50k_users.md)
+
+## Availability components
+
+GitLab comes with the following availability components for your use, listed from
least to most complex:
1. [Automated backups](#automated-backups-core-only)
-1. [Traffic Load Balancer](#Traffic-load-balancer-starter-only)
+1. [Traffic load balancer](#traffic-load-balancer-starter-only)
+1. [Zero downtime updates](#zero-downtime-updates-starter-only)
1. [Automated database failover](#automated-database-failover-premium-only)
1. [Instance level replication with GitLab Geo](#instance-level-replication-with-gitlab-geo-premium-only)
@@ -248,6 +107,16 @@ to the default installation:
- Enable zero-downtime upgrades.
- Increase availability.
+### Zero downtime updates **(STARTER ONLY)**
+
+> - Level of complexity: **Medium**
+> - Required domain knowledge: PostgreSQL, HAProxy, shared storage, distributed systems
+> - Supported tiers: [GitLab Starter, Premium, and Ultimate](https://about.gitlab.com/pricing/)
+
+GitLab supports [zero-downtime updates](https://docs.gitlab.com/omnibus/update/#zero-downtime-updates).
+Although you can perform zero-downtime updates with a single GitLab node, the recommendation is to separate GitLab into several application nodes.
+As long as at least one of each component is online and capable of handling the instance's usage load, your team's productivity will not be interrupted during the update.
+
### Automated database failover **(PREMIUM ONLY)**
> - Level of complexity: **High**
@@ -286,7 +155,7 @@ column.
| Component | Description | Configuration instructions | Bundled with Omnibus GitLab |
|-----------|-------------|----------------------------|
| Load balancer(s) ([6](#footnotes)) | Handles load balancing, typically when you have multiple GitLab application services nodes | [Load balancer configuration](../high_availability/load_balancer.md) ([6](#footnotes)) | No |
-| Object storage service ([4](#footnotes)) | Recommended store for shared data objects | [Cloud Object Storage configuration](../object_storage.md) | No |
+| Object storage service ([4](#footnotes)) | Recommended store for shared data objects | [Object Storage configuration](../object_storage.md) | No |
| NFS ([5](#footnotes)) ([7](#footnotes)) | Shared disk storage service. Can be used as an alternative for Gitaly or Object Storage. Required for GitLab Pages | [NFS configuration](../high_availability/nfs.md) | No |
| [Consul](../../development/architecture.md#consul) ([3](#footnotes)) | Service discovery and health checks/failover | [Consul HA configuration](../high_availability/consul.md) **(PREMIUM ONLY)** | Yes |
| [PostgreSQL](../../development/architecture.md#postgresql) | Database | [PostgreSQL configuration](https://docs.gitlab.com/omnibus/settings/database.html) | Yes |
@@ -316,14 +185,15 @@ column.
with a review of expected data size and spread based on the recommendations above.
1. Recommended Redis setup differs depending on the size of the architecture.
- For smaller architectures (less than 5,000 users), we suggest one Redis cluster for all
+ For smaller architectures (less than 3,000 users) a single instance should suffice.
+ For medium sized installs (3,000 - 5,000) we suggest one Redis cluster for all
classes and that Redis Sentinel is hosted alongside Consul.
For larger architectures (10,000 users or more) we suggest running a separate
[Redis Cluster](../high_availability/redis.md#running-multiple-redis-clusters) for the Cache class
and another for the Queues and Shared State classes respectively. We also recommend
that you run the Redis Sentinel clusters separately for each Redis Cluster.
-1. For data objects such as LFS, Uploads, Artifacts, etc. We recommend a [Cloud Object Storage service](../object_storage.md)
+1. For data objects such as LFS, Uploads, Artifacts, etc. We recommend an [Object Storage service](../object_storage.md)
over NFS where possible, due to better performance and availability.
1. NFS can be used as an alternative for both repository data (replacing Gitaly) and
@@ -347,5 +217,5 @@ column.
[Sysbench](https://github.com/akopytov/sysbench) benchmark of the CPU can be found
[here](https://gitlab.com/gitlab-org/quality/performance/-/wikis/Reference-Architectures/GCP-CPU-Benchmarks).
-1. AWS-equivalent configurations are rough suggestions and may change in the
- future. They have not yet been tested and validated.
+1. AWS-equivalent and Azure-equivalent configurations are rough suggestions
+ and may change in the future. They have not yet been tested and validated.
diff --git a/doc/administration/repository_storage_types.md b/doc/administration/repository_storage_types.md
index 1281131fab1..e285e938bfc 100644
--- a/doc/administration/repository_storage_types.md
+++ b/doc/administration/repository_storage_types.md
@@ -124,7 +124,7 @@ GitLab server. For example, on a default Omnibus installation this would be
`/var/opt/gitlab/git-data/repositories/@hashed/b1/7e/b17ef6d19c7a5b1ee83b907c595526dcb1eb06db8227d650d5dda0a9f4ce8cd9.git`
with `.git` from the end of the directory name removed.
-The output includes the project id and the project name:
+The output includes the project ID and the project name:
```plaintext
=> #<Project id:16 it/supportteam/ticketsystem>
diff --git a/doc/administration/troubleshooting/sidekiq.md b/doc/administration/troubleshooting/sidekiq.md
index 31e41725834..ca21c038267 100644
--- a/doc/administration/troubleshooting/sidekiq.md
+++ b/doc/administration/troubleshooting/sidekiq.md
@@ -282,7 +282,8 @@ Commonly, `<condition>` references the job arguments, which depend on the type o
For example, `repository_import` has `project_id` as the job argument, while `update_merge_requests` has `project_id, user_id, oldrev, newrev, ref`.
-NOTE: **Note:** Arguments need to be referenced by their sequence id using `job.args[<id>]` because `job.args` is a list of all arguments provided to the Sidekiq job.
+NOTE: **Note:**
+Arguments need to be referenced by their sequence ID using `job.args[<id>]` because `job.args` is a list of all arguments provided to the Sidekiq job.
Here are some examples:
diff --git a/doc/api/README.md b/doc/api/README.md
index 76bb3506f38..6b9ca5703fe 100644
--- a/doc/api/README.md
+++ b/doc/api/README.md
@@ -77,10 +77,11 @@ authentication is not provided. For
those cases where it is not required, this will be mentioned in the documentation
for each individual endpoint. For example, the [`/projects/:id` endpoint](projects.md).
-There are four ways to authenticate with the GitLab API:
+There are several ways to authenticate with the GitLab API:
1. [OAuth2 tokens](#oauth2-tokens)
-1. [Personal access tokens](#personal-access-tokens)
+1. [Personal access tokens](../user/profile/personal_access_tokens.md)
+1. [Project access tokens](../user/project/settings/project_access_tokens.md) **(CORE ONLY)**
1. [Session cookie](#session-cookie)
1. [GitLab CI/CD job token](#gitlab-ci-job-token) **(Specific endpoints only)**
@@ -117,31 +118,29 @@ curl --header "Authorization: Bearer OAUTH-TOKEN" https://gitlab.example.com/api
Read more about [GitLab as an OAuth2 provider](oauth2.md).
-### Personal access tokens
+### Personal/project access tokens
-You can use a [personal access token](../user/profile/personal_access_tokens.md) to authenticate with the API by passing it in either the
-`private_token` parameter or the `Private-Token` header.
+Access tokens can be used to authenticate with the API by passing it in either the `private_token` parameter
+or the `Private-Token` header.
-Example of using the personal access token in a parameter:
+Example of using the personal/project access token in a parameter:
```shell
curl https://gitlab.example.com/api/v4/projects?private_token=<your_access_token>
```
-Example of using the personal access token in a header:
+Example of using the personal/project access token in a header:
```shell
curl --header "Private-Token: <your_access_token>" https://gitlab.example.com/api/v4/projects
```
-You can also use personal access tokens with OAuth-compliant headers:
+You can also use personal/project access tokens with OAuth-compliant headers:
```shell
curl --header "Authorization: Bearer <your_access_token>" https://gitlab.example.com/api/v4/projects
```
-Read more about [personal access tokens](../user/profile/personal_access_tokens.md).
-
### Session cookie
When signing in to the main GitLab application, a `_gitlab_session` cookie is
@@ -446,9 +445,9 @@ For example:
DELETE /projects/:id/share/:group_id
```
-The `:id` path parameter needs to be replaced with the project id, and the `:group_id` needs to be replaced with the id of the group. The colons `:` should not be included.
+The `:id` path parameter needs to be replaced with the project ID, and the `:group_id` needs to be replaced with the ID of the group. The colons `:` should not be included.
-The resulting cURL call for a project with id `5` and a group id of `17` is then:
+The resulting cURL call for a project with ID `5` and a group ID of `17` is then:
```shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/projects/5/share/17
diff --git a/doc/api/applications.md b/doc/api/applications.md
index c7bfebb75fa..eb0d130fd3c 100644
--- a/doc/api/applications.md
+++ b/doc/api/applications.md
@@ -93,7 +93,7 @@ Parameters:
| Attribute | Type | Required | Description |
|:----------|:--------|:---------|:----------------------------------------------------|
-| `id` | integer | yes | The id of the application (not the application_id). |
+| `id` | integer | yes | The ID of the application (not the application_id). |
Example request:
diff --git a/doc/api/commits.md b/doc/api/commits.md
index ec25f3a41ac..87fb60a7573 100644
--- a/doc/api/commits.md
+++ b/doc/api/commits.md
@@ -94,7 +94,7 @@ POST /projects/:id/repository/commits
| `previous_path` | string | no | Original full path to the file being moved. Ex. `lib/class1.rb`. Only considered for `move` action. |
| `content` | string | no | File content, required for all except `delete`, `chmod`, and `move`. Move actions that do not specify `content` will preserve the existing file content, and any other value of `content` will overwrite the file content. |
| `encoding` | string | no | `text` or `base64`. `text` is default. |
-| `last_commit_id` | string | no | Last known file commit id. Will be only considered in update, move and delete actions. |
+| `last_commit_id` | string | no | Last known file commit ID. Will be only considered in update, move, and delete actions. |
| `execute_filemode` | boolean | no | When `true/false` enables/disables the execute flag on the file. Only considered for `chmod` action. |
```shell
diff --git a/doc/api/epics.md b/doc/api/epics.md
index 7cdf6c2729b..0cffc1bee85 100644
--- a/doc/api/epics.md
+++ b/doc/api/epics.md
@@ -249,7 +249,7 @@ POST /groups/:id/epics
| `start_date_fixed` | string | no | The fixed start date of an epic (since 11.3) |
| `due_date_is_fixed` | boolean | no | Whether due date should be sourced from `due_date_fixed` or from milestones (since 11.3) |
| `due_date_fixed` | string | no | The fixed due date of an epic (since 11.3) |
-| `parent_id` | integer/string | no | The id of a parent epic (since 11.11) |
+| `parent_id` | integer/string | no | The ID of a parent epic (since 11.11) |
```shell
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/1/epics?title=Epic&description=Epic%20description
diff --git a/doc/api/graphql/reference/gitlab_schema.graphql b/doc/api/graphql/reference/gitlab_schema.graphql
index 69ca80015a7..89b3bbac938 100644
--- a/doc/api/graphql/reference/gitlab_schema.graphql
+++ b/doc/api/graphql/reference/gitlab_schema.graphql
@@ -249,6 +249,101 @@ type AlertManagementAlertEdge {
}
"""
+Values for sorting alerts
+"""
+enum AlertManagementAlertSort {
+ """
+ Created time by ascending order
+ """
+ CREATED_TIME_ASC
+
+ """
+ Created time by ascending order
+ """
+ CREATED_TIME_DESC
+
+ """
+ End time by ascending order
+ """
+ END_TIME_ASC
+
+ """
+ End time by descending order
+ """
+ END_TIME_DESC
+
+ """
+ Events count by ascending order
+ """
+ EVENTS_COUNT_ASC
+
+ """
+ Events count by descending order
+ """
+ EVENTS_COUNT_DESC
+
+ """
+ Severity by ascending order
+ """
+ SEVERITY_ASC
+
+ """
+ Severity by descending order
+ """
+ SEVERITY_DESC
+
+ """
+ Start time by ascending order
+ """
+ START_TIME_ASC
+
+ """
+ Start time by descending order
+ """
+ START_TIME_DESC
+
+ """
+ Status by ascending order
+ """
+ STATUS_ASC
+
+ """
+ Status by descending order
+ """
+ STATUS_DESC
+
+ """
+ Created time by ascending order
+ """
+ UPDATED_TIME_ASC
+
+ """
+ Created time by ascending order
+ """
+ UPDATED_TIME_DESC
+
+ """
+ Created at ascending order
+ """
+ created_asc
+
+ """
+ Created at descending order
+ """
+ created_desc
+
+ """
+ Updated at ascending order
+ """
+ updated_asc
+
+ """
+ Updated at descending order
+ """
+ updated_desc
+}
+
+"""
Alert severity values
"""
enum AlertManagementSeverity {
@@ -4062,6 +4157,11 @@ type Group {
first: Int
"""
+ Returns only the projects which have vulnerabilities
+ """
+ hasVulnerabilities: Boolean = false
+
+ """
Include also subgroup projects
"""
includeSubgroups: Boolean = false
@@ -4224,6 +4324,33 @@ enum HealthStatus {
onTrack
}
+type InstanceSecurityDashboard {
+ """
+ Projects selected in Instance Security Dashboard
+ """
+ projects(
+ """
+ Returns the elements in the list that come after the specified cursor.
+ """
+ after: String
+
+ """
+ Returns the elements in the list that come before the specified cursor.
+ """
+ before: String
+
+ """
+ Returns the first _n_ elements from the list.
+ """
+ first: Int
+
+ """
+ Returns the last _n_ elements from the list.
+ """
+ last: Int
+ ): ProjectConnection!
+}
+
"""
State of a GitLab issue or merge request
"""
@@ -6094,6 +6221,7 @@ type Mutation {
mergeRequestSetSubscription(input: MergeRequestSetSubscriptionInput!): MergeRequestSetSubscriptionPayload
mergeRequestSetWip(input: MergeRequestSetWipInput!): MergeRequestSetWipPayload
removeAwardEmoji(input: RemoveAwardEmojiInput!): RemoveAwardEmojiPayload
+ removeProjectFromSecurityDashboard(input: RemoveProjectFromSecurityDashboardInput!): RemoveProjectFromSecurityDashboardPayload
todoMarkDone(input: TodoMarkDoneInput!): TodoMarkDonePayload
todoRestore(input: TodoRestoreInput!): TodoRestorePayload
todoRestoreMany(input: TodoRestoreManyInput!): TodoRestoreManyPayload
@@ -6200,6 +6328,11 @@ type Namespace {
first: Int
"""
+ Returns only the projects which have vulnerabilities
+ """
+ hasVulnerabilities: Boolean = false
+
+ """
Include also subgroup projects
"""
includeSubgroups: Boolean = false
@@ -6705,6 +6838,11 @@ type Project {
IID of the alert. For example, "1"
"""
iid: String
+
+ """
+ Sort alerts by this criteria
+ """
+ sort: AlertManagementAlertSort
): AlertManagementAlert
"""
@@ -6735,6 +6873,11 @@ type Project {
Returns the last _n_ elements from the list.
"""
last: Int
+
+ """
+ Sort alerts by this criteria
+ """
+ sort: AlertManagementAlertSort
): AlertManagementAlertConnection
"""
@@ -7266,6 +7409,41 @@ type Project {
publicJobs: Boolean
"""
+ A single release of the project. Available only when feature flag `graphql_release_data` is enabled
+ """
+ release(
+ """
+ The name of the tag associated to the release
+ """
+ tagName: String!
+ ): Release
+
+ """
+ Releases of the project. Available only when feature flag `graphql_release_data` is enabled
+ """
+ releases(
+ """
+ Returns the elements in the list that come after the specified cursor.
+ """
+ after: String
+
+ """
+ Returns the elements in the list that come before the specified cursor.
+ """
+ before: String
+
+ """
+ Returns the first _n_ elements from the list.
+ """
+ first: Int
+
+ """
+ Returns the last _n_ elements from the list.
+ """
+ last: Int
+ ): ReleaseConnection
+
+ """
Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project
"""
removeSourceBranchAfterMerge: Boolean
@@ -7882,6 +8060,11 @@ type Query {
): Group
"""
+ Fields related to Instance Security Dashboard
+ """
+ instanceSecurityDashboard: InstanceSecurityDashboard
+
+ """
Metadata about GitLab
"""
metadata: Metadata
@@ -7907,6 +8090,41 @@ type Query {
): Project
"""
+ Find projects visible to the current user
+ """
+ projects(
+ """
+ Returns the elements in the list that come after the specified cursor.
+ """
+ after: String
+
+ """
+ Returns the elements in the list that come before the specified cursor.
+ """
+ before: String
+
+ """
+ Returns the first _n_ elements from the list.
+ """
+ first: Int
+
+ """
+ Returns the last _n_ elements from the list.
+ """
+ last: Int
+
+ """
+ Limit projects that the current user is a member of
+ """
+ membership: Boolean
+
+ """
+ Search criteria
+ """
+ search: String
+ ): ProjectConnection
+
+ """
Find Snippets visible to the current user
"""
snippets(
@@ -8032,6 +8250,118 @@ enum RegistryState {
SYNCED
}
+type Release {
+ """
+ User that created the release
+ """
+ author: User
+
+ """
+ The commit associated with the release
+ """
+ commit: Commit
+
+ """
+ Timestamp of when the release was created
+ """
+ createdAt: Time
+
+ """
+ Description (also known as "release notes") of the release
+ """
+ description: String
+
+ """
+ The GitLab Flavored Markdown rendering of `description`
+ """
+ descriptionHtml: String
+
+ """
+ SHA of the release's evidence
+ """
+ evidenceSha: String
+
+ """
+ Milestones associated to the release
+ """
+ milestones(
+ """
+ Returns the elements in the list that come after the specified cursor.
+ """
+ after: String
+
+ """
+ Returns the elements in the list that come before the specified cursor.
+ """
+ before: String
+
+ """
+ Returns the first _n_ elements from the list.
+ """
+ first: Int
+
+ """
+ Returns the last _n_ elements from the list.
+ """
+ last: Int
+ ): MilestoneConnection
+
+ """
+ Name of the release
+ """
+ name: String
+
+ """
+ Timestamp of when the release was released
+ """
+ releasedAt: Time
+
+ """
+ Name of the tag associated with the release
+ """
+ tagName: String!
+
+ """
+ Relative web path to the tag associated with the release
+ """
+ tagPath: String
+}
+
+"""
+The connection type for Release.
+"""
+type ReleaseConnection {
+ """
+ A list of edges.
+ """
+ edges: [ReleaseEdge]
+
+ """
+ A list of nodes.
+ """
+ nodes: [Release]
+
+ """
+ Information to aid in pagination.
+ """
+ pageInfo: PageInfo!
+}
+
+"""
+An edge in a connection.
+"""
+type ReleaseEdge {
+ """
+ A cursor for use in pagination.
+ """
+ cursor: String!
+
+ """
+ The item at the end of the edge.
+ """
+ node: Release
+}
+
"""
Autogenerated input type of RemoveAwardEmoji
"""
@@ -8072,6 +8402,36 @@ type RemoveAwardEmojiPayload {
errors: [String!]!
}
+"""
+Autogenerated input type of RemoveProjectFromSecurityDashboard
+"""
+input RemoveProjectFromSecurityDashboardInput {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ ID of the project to remove from the Instance Security Dashboard
+ """
+ projectId: ID!
+}
+
+"""
+Autogenerated return type of RemoveProjectFromSecurityDashboard
+"""
+type RemoveProjectFromSecurityDashboardPayload {
+ """
+ A unique identifier for the client performing the mutation.
+ """
+ clientMutationId: String
+
+ """
+ Reasons why the mutation failed.
+ """
+ errors: [String!]!
+}
+
type Repository {
"""
Indicates repository has no visible content
@@ -8870,7 +9230,7 @@ type Snippet implements Noteable {
httpUrlToRepo: String
"""
- Id of the snippet
+ ID of the snippet
"""
id: ID!
@@ -9316,7 +9676,7 @@ type Todo {
group: Group
"""
- Id of the todo
+ ID of the todo
"""
id: ID!
@@ -10375,10 +10735,9 @@ type Vulnerability {
id: ID!
"""
- The JSON location metadata for the vulnerability. Its format depends on the
- type of the security scan that found the vulnerability
+ Location metadata for the vulnerability. Its fields depend on the type of security scan that found the vulnerability
"""
- location: JSON
+ location: VulnerabilityLocation
"""
The project on which the vulnerability was found
@@ -10452,6 +10811,101 @@ type VulnerabilityEdge {
}
"""
+Represents a vulnerability location. The fields with data will depend on the vulnerability report type
+"""
+union VulnerabilityLocation = VulnerabilityLocationContainerScanning | VulnerabilityLocationDast | VulnerabilityLocationDependencyScanning | VulnerabilityLocationSast
+
+"""
+Represents the location of a vulnerability found by a container security scan
+"""
+type VulnerabilityLocationContainerScanning {
+ """
+ Dependency containing the vulnerability
+ """
+ dependency: VulnerableDependency
+
+ """
+ Name of the vulnerable container image
+ """
+ image: String
+
+ """
+ Operating system that runs on the vulnerable container image
+ """
+ operatingSystem: String
+}
+
+"""
+Represents the location of a vulnerability found by a DAST scan
+"""
+type VulnerabilityLocationDast {
+ """
+ Domain name of the vulnerable request
+ """
+ hostname: String
+
+ """
+ Query parameter for the URL on which the vulnerability occurred
+ """
+ param: String
+
+ """
+ URL path and query string of the vulnerable request
+ """
+ path: String
+
+ """
+ HTTP method of the vulnerable request
+ """
+ requestMethod: String
+}
+
+"""
+Represents the location of a vulnerability found by a dependency security scan
+"""
+type VulnerabilityLocationDependencyScanning {
+ """
+ Dependency containing the vulnerability
+ """
+ dependency: VulnerableDependency
+
+ """
+ Path to the vulnerable file
+ """
+ file: String
+}
+
+"""
+Represents the location of a vulnerability found by a SAST scan
+"""
+type VulnerabilityLocationSast {
+ """
+ Number of the last relevant line in the vulnerable file
+ """
+ endLine: String
+
+ """
+ Path to the vulnerable file
+ """
+ file: String
+
+ """
+ Number of the first relevant line in the vulnerable file
+ """
+ startLine: String
+
+ """
+ Class containing the vulnerability
+ """
+ vulnerableClass: String
+
+ """
+ Method containing the vulnerability
+ """
+ vulnerableMethod: String
+}
+
+"""
Check permissions for the current user on a vulnerability
"""
type VulnerabilityPermissions {
@@ -10561,4 +11015,29 @@ enum VulnerabilityState {
DETECTED
DISMISSED
RESOLVED
+}
+
+"""
+Represents a vulnerable dependency. Used in vulnerability location data
+"""
+type VulnerableDependency {
+ """
+ The package associated with the vulnerable dependency
+ """
+ package: VulnerablePackage
+
+ """
+ The version of the vulnerable dependency
+ """
+ version: String
+}
+
+"""
+Represents a vulnerable package. Used in vulnerability dependency data
+"""
+type VulnerablePackage {
+ """
+ The name of the vulnerable package
+ """
+ name: String
} \ No newline at end of file
diff --git a/doc/api/graphql/reference/gitlab_schema.json b/doc/api/graphql/reference/gitlab_schema.json
index 4ea50ac353e..3e845667e80 100644
--- a/doc/api/graphql/reference/gitlab_schema.json
+++ b/doc/api/graphql/reference/gitlab_schema.json
@@ -724,6 +724,125 @@
},
{
"kind": "ENUM",
+ "name": "AlertManagementAlertSort",
+ "description": "Values for sorting alerts",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": [
+ {
+ "name": "updated_desc",
+ "description": "Updated at descending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "updated_asc",
+ "description": "Updated at ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "created_desc",
+ "description": "Created at descending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "created_asc",
+ "description": "Created at ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "START_TIME_ASC",
+ "description": "Start time by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "START_TIME_DESC",
+ "description": "Start time by descending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "END_TIME_ASC",
+ "description": "End time by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "END_TIME_DESC",
+ "description": "End time by descending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "CREATED_TIME_ASC",
+ "description": "Created time by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "CREATED_TIME_DESC",
+ "description": "Created time by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UPDATED_TIME_ASC",
+ "description": "Created time by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "UPDATED_TIME_DESC",
+ "description": "Created time by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "EVENTS_COUNT_ASC",
+ "description": "Events count by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "EVENTS_COUNT_DESC",
+ "description": "Events count by descending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SEVERITY_ASC",
+ "description": "Severity by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "SEVERITY_DESC",
+ "description": "Severity by descending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "STATUS_ASC",
+ "description": "Status by ascending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "STATUS_DESC",
+ "description": "Status by descending order",
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "possibleTypes": null
+ },
+ {
+ "kind": "ENUM",
"name": "AlertManagementSeverity",
"description": "Alert severity values",
"fields": null,
@@ -11420,6 +11539,16 @@
"defaultValue": "false"
},
{
+ "name": "hasVulnerabilities",
+ "description": "Returns only the projects which have vulnerabilities",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
"name": "after",
"description": "Returns the elements in the list that come after the specified cursor.",
"type": {
@@ -11907,6 +12036,76 @@
"possibleTypes": null
},
{
+ "kind": "OBJECT",
+ "name": "InstanceSecurityDashboard",
+ "description": null,
+ "fields": [
+ {
+ "name": "projects",
+ "description": "Projects selected in Instance Security Dashboard",
+ "args": [
+ {
+ "name": "after",
+ "description": "Returns the elements in the list that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements in the list that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "first",
+ "description": "Returns the first _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns the last _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ProjectConnection",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "SCALAR",
"name": "Int",
"description": "Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",
@@ -18073,6 +18272,33 @@
"deprecationReason": null
},
{
+ "name": "removeProjectFromSecurityDashboard",
+ "description": null,
+ "args": [
+ {
+ "name": "input",
+ "description": null,
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "INPUT_OBJECT",
+ "name": "RemoveProjectFromSecurityDashboardInput",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "RemoveProjectFromSecurityDashboardPayload",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "todoMarkDone",
"description": null,
"args": [
@@ -18585,6 +18811,16 @@
"defaultValue": "false"
},
{
+ "name": "hasVulnerabilities",
+ "description": "Returns only the projects which have vulnerabilities",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": "false"
+ },
+ {
"name": "after",
"description": "Returns the elements in the list that come after the specified cursor.",
"type": {
@@ -20262,6 +20498,16 @@
"ofType": null
},
"defaultValue": null
+ },
+ {
+ "name": "sort",
+ "description": "Sort alerts by this criteria",
+ "type": {
+ "kind": "ENUM",
+ "name": "AlertManagementAlertSort",
+ "ofType": null
+ },
+ "defaultValue": null
}
],
"type": {
@@ -20287,6 +20533,16 @@
"defaultValue": null
},
{
+ "name": "sort",
+ "description": "Sort alerts by this criteria",
+ "type": {
+ "kind": "ENUM",
+ "name": "AlertManagementAlertSort",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
"name": "after",
"description": "Returns the elements in the list that come after the specified cursor.",
"type": {
@@ -21613,6 +21869,86 @@
"deprecationReason": null
},
{
+ "name": "release",
+ "description": "A single release of the project. Available only when feature flag `graphql_release_data` is enabled",
+ "args": [
+ {
+ "name": "tagName",
+ "description": "The name of the tag associated to the release",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Release",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "releases",
+ "description": "Releases of the project. Available only when feature flag `graphql_release_data` is enabled",
+ "args": [
+ {
+ "name": "after",
+ "description": "Returns the elements in the list that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements in the list that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "first",
+ "description": "Returns the first _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns the last _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ReleaseConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "removeSourceBranchAfterMerge",
"description": "Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project",
"args": [
@@ -23497,6 +23833,20 @@
"deprecationReason": null
},
{
+ "name": "instanceSecurityDashboard",
+ "description": "Fields related to Instance Security Dashboard",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "InstanceSecurityDashboard",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "metadata",
"description": "Metadata about GitLab",
"args": [
@@ -23565,6 +23915,79 @@
"deprecationReason": null
},
{
+ "name": "projects",
+ "description": "Find projects visible to the current user",
+ "args": [
+ {
+ "name": "membership",
+ "description": "Limit projects that the current user is a member of",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Boolean",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "search",
+ "description": "Search criteria",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "after",
+ "description": "Returns the elements in the list that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements in the list that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "first",
+ "description": "Returns the first _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns the last _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "ProjectConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
"name": "snippets",
"description": "Find Snippets visible to the current user",
"args": [
@@ -23854,6 +24277,328 @@
"possibleTypes": null
},
{
+ "kind": "OBJECT",
+ "name": "Release",
+ "description": null,
+ "fields": [
+ {
+ "name": "author",
+ "description": "User that created the release",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "User",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "commit",
+ "description": "The commit associated with the release",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Commit",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "createdAt",
+ "description": "Timestamp of when the release was created",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "description",
+ "description": "Description (also known as \"release notes\") of the release",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "descriptionHtml",
+ "description": "The GitLab Flavored Markdown rendering of `description`",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "evidenceSha",
+ "description": "SHA of the release's evidence",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "milestones",
+ "description": "Milestones associated to the release",
+ "args": [
+ {
+ "name": "after",
+ "description": "Returns the elements in the list that come after the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "before",
+ "description": "Returns the elements in the list that come before the specified cursor.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "first",
+ "description": "Returns the first _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "last",
+ "description": "Returns the last _n_ elements from the list.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "Int",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "MilestoneConnection",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "name",
+ "description": "Name of the release",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "releasedAt",
+ "description": "Timestamp of when the release was released",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "Time",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "tagName",
+ "description": "Name of the tag associated with the release",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "tagPath",
+ "description": "Relative web path to the tag associated with the release",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ReleaseConnection",
+ "description": "The connection type for Release.",
+ "fields": [
+ {
+ "name": "edges",
+ "description": "A list of edges.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "ReleaseEdge",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "nodes",
+ "description": "A list of nodes.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "Release",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "pageInfo",
+ "description": "Information to aid in pagination.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "OBJECT",
+ "name": "PageInfo",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "ReleaseEdge",
+ "description": "An edge in a connection.",
+ "fields": [
+ {
+ "name": "cursor",
+ "description": "A cursor for use in pagination.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "node",
+ "description": "The item at the end of the edge.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "Release",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "INPUT_OBJECT",
"name": "RemoveAwardEmojiInput",
"description": "Autogenerated input type of RemoveAwardEmoji",
@@ -23970,6 +24715,94 @@
"possibleTypes": null
},
{
+ "kind": "INPUT_OBJECT",
+ "name": "RemoveProjectFromSecurityDashboardInput",
+ "description": "Autogenerated input type of RemoveProjectFromSecurityDashboard",
+ "fields": null,
+ "inputFields": [
+ {
+ "name": "projectId",
+ "description": "ID of the project to remove from the Instance Security Dashboard",
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "ID",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "clientMutationId",
+ "description": "A unique identifier for the client performing the mutation.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "defaultValue": null
+ }
+ ],
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "RemoveProjectFromSecurityDashboardPayload",
+ "description": "Autogenerated return type of RemoveProjectFromSecurityDashboard",
+ "fields": [
+ {
+ "name": "clientMutationId",
+ "description": "A unique identifier for the client performing the mutation.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "errors",
+ "description": "Reasons why the mutation failed.",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "NON_NULL",
+ "name": null,
+ "ofType": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ }
+ }
+ }
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "Repository",
"description": null,
@@ -26583,7 +27416,7 @@
},
{
"name": "id",
- "description": "Id of the snippet",
+ "description": "ID of the snippet",
"args": [
],
@@ -28010,7 +28843,7 @@
},
{
"name": "id",
- "description": "Id of the todo",
+ "description": "ID of the todo",
"args": [
],
@@ -31099,13 +31932,13 @@
},
{
"name": "location",
- "description": "The JSON location metadata for the vulnerability. Its format depends on the type of the security scan that found the vulnerability",
+ "description": "Location metadata for the vulnerability. Its fields depend on the type of security scan that found the vulnerability",
"args": [
],
"type": {
- "kind": "SCALAR",
- "name": "JSON",
+ "kind": "UNION",
+ "name": "VulnerabilityLocation",
"ofType": null
},
"isDeprecated": false,
@@ -31334,6 +32167,285 @@
"possibleTypes": null
},
{
+ "kind": "UNION",
+ "name": "VulnerabilityLocation",
+ "description": "Represents a vulnerability location. The fields with data will depend on the vulnerability report type",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": [
+ {
+ "kind": "OBJECT",
+ "name": "VulnerabilityLocationContainerScanning",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "VulnerabilityLocationDast",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "VulnerabilityLocationDependencyScanning",
+ "ofType": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "VulnerabilityLocationSast",
+ "ofType": null
+ }
+ ]
+ },
+ {
+ "kind": "OBJECT",
+ "name": "VulnerabilityLocationContainerScanning",
+ "description": "Represents the location of a vulnerability found by a container security scan",
+ "fields": [
+ {
+ "name": "dependency",
+ "description": "Dependency containing the vulnerability",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "VulnerableDependency",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "image",
+ "description": "Name of the vulnerable container image",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "operatingSystem",
+ "description": "Operating system that runs on the vulnerable container image",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "VulnerabilityLocationDast",
+ "description": "Represents the location of a vulnerability found by a DAST scan",
+ "fields": [
+ {
+ "name": "hostname",
+ "description": "Domain name of the vulnerable request",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "param",
+ "description": "Query parameter for the URL on which the vulnerability occurred",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "path",
+ "description": "URL path and query string of the vulnerable request",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "requestMethod",
+ "description": "HTTP method of the vulnerable request",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "VulnerabilityLocationDependencyScanning",
+ "description": "Represents the location of a vulnerability found by a dependency security scan",
+ "fields": [
+ {
+ "name": "dependency",
+ "description": "Dependency containing the vulnerability",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "VulnerableDependency",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "file",
+ "description": "Path to the vulnerable file",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "VulnerabilityLocationSast",
+ "description": "Represents the location of a vulnerability found by a SAST scan",
+ "fields": [
+ {
+ "name": "endLine",
+ "description": "Number of the last relevant line in the vulnerable file",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "file",
+ "description": "Path to the vulnerable file",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "startLine",
+ "description": "Number of the first relevant line in the vulnerable file",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "vulnerableClass",
+ "description": "Class containing the vulnerability",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "vulnerableMethod",
+ "description": "Method containing the vulnerability",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
"kind": "OBJECT",
"name": "VulnerabilityPermissions",
"description": "Check permissions for the current user on a vulnerability",
@@ -31706,6 +32818,74 @@
},
{
"kind": "OBJECT",
+ "name": "VulnerableDependency",
+ "description": "Represents a vulnerable dependency. Used in vulnerability location data",
+ "fields": [
+ {
+ "name": "package",
+ "description": "The package associated with the vulnerable dependency",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "OBJECT",
+ "name": "VulnerablePackage",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
+ {
+ "name": "version",
+ "description": "The version of the vulnerable dependency",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
+ "name": "VulnerablePackage",
+ "description": "Represents a vulnerable package. Used in vulnerability dependency data",
+ "fields": [
+ {
+ "name": "name",
+ "description": "The name of the vulnerable package",
+ "args": [
+
+ ],
+ "type": {
+ "kind": "SCALAR",
+ "name": "String",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ }
+ ],
+ "inputFields": null,
+ "interfaces": [
+
+ ],
+ "enumValues": null,
+ "possibleTypes": null
+ },
+ {
+ "kind": "OBJECT",
"name": "__Directive",
"description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",
"fields": [
diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md
index 185df0c2fe4..3ca7164bff5 100644
--- a/doc/api/graphql/reference/index.md
+++ b/doc/api/graphql/reference/index.md
@@ -1073,6 +1073,7 @@ Information about pagination in a connection.
| `path` | String! | Path of the project |
| `printingMergeRequestLinkEnabled` | Boolean | Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line |
| `publicJobs` | Boolean | Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts |
+| `release` | Release | A single release of the project. Available only when feature flag `graphql_release_data` is enabled |
| `removeSourceBranchAfterMerge` | Boolean | Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project |
| `repository` | Repository | Git repository of the project |
| `requestAccessEnabled` | Boolean | Indicates if users can request member access to the project |
@@ -1154,6 +1155,21 @@ Information about pagination in a connection.
| `storageSize` | Float! | Storage size of the project |
| `wikiSize` | Float | Wiki size of the project |
+## Release
+
+| Name | Type | Description |
+| --- | ---- | ---------- |
+| `author` | User | User that created the release |
+| `commit` | Commit | The commit associated with the release |
+| `createdAt` | Time | Timestamp of when the release was created |
+| `description` | String | Description (also known as "release notes") of the release |
+| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
+| `evidenceSha` | String | SHA of the release's evidence |
+| `name` | String | Name of the release |
+| `releasedAt` | Time | Timestamp of when the release was released |
+| `tagName` | String! | Name of the tag associated with the release |
+| `tagPath` | String | Relative web path to the tag associated with the release |
+
## RemoveAwardEmojiPayload
Autogenerated return type of RemoveAwardEmoji
@@ -1164,6 +1180,15 @@ Autogenerated return type of RemoveAwardEmoji
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
+## RemoveProjectFromSecurityDashboardPayload
+
+Autogenerated return type of RemoveProjectFromSecurityDashboard
+
+| Name | Type | Description |
+| --- | ---- | ---------- |
+| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
+| `errors` | String! => Array | Reasons why the mutation failed. |
+
## Repository
| Name | Type | Description |
@@ -1349,7 +1374,7 @@ Represents a snippet entry
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `fileName` | String | File Name of the snippet |
| `httpUrlToRepo` | String | HTTP URL to the snippet repository |
-| `id` | ID! | Id of the snippet |
+| `id` | ID! | ID of the snippet |
| `project` | Project | The project the snippet is associated with |
| `rawUrl` | String! | Raw URL of the snippet |
| `sshUrlToRepo` | String | SSH URL to the snippet repository |
@@ -1444,7 +1469,7 @@ Representing a todo entry
| `body` | String! | Body of the todo |
| `createdAt` | Time! | Timestamp this todo was created |
| `group` | Group | Group this todo is associated with |
-| `id` | ID! | Id of the todo |
+| `id` | ID! | ID of the todo |
| `project` | Project | The project this todo is associated with |
| `state` | TodoStateEnum! | State of the todo |
| `targetType` | TodoTargetEnum! | Target type of the todo |
@@ -1616,7 +1641,7 @@ Represents a vulnerability.
| --- | ---- | ---------- |
| `description` | String | Description of the vulnerability |
| `id` | ID! | GraphQL ID of the vulnerability |
-| `location` | JSON | The JSON location metadata for the vulnerability. Its format depends on the type of the security scan that found the vulnerability |
+| `location` | VulnerabilityLocation | Location metadata for the vulnerability. Its fields depend on the type of security scan that found the vulnerability |
| `project` | Project | The project on which the vulnerability was found |
| `reportType` | VulnerabilityReportType | Type of the security report that found the vulnerability (SAST, DEPENDENCY_SCANNING, CONTAINER_SCANNING, DAST) |
| `severity` | VulnerabilitySeverity | Severity of the vulnerability (INFO, UNKNOWN, LOW, MEDIUM, HIGH, CRITICAL) |
@@ -1625,6 +1650,48 @@ Represents a vulnerability.
| `userPermissions` | VulnerabilityPermissions! | Permissions for the current user on the resource |
| `vulnerabilityPath` | String | URL to the vulnerability's details page |
+## VulnerabilityLocationContainerScanning
+
+Represents the location of a vulnerability found by a container security scan
+
+| Name | Type | Description |
+| --- | ---- | ---------- |
+| `dependency` | VulnerableDependency | Dependency containing the vulnerability |
+| `image` | String | Name of the vulnerable container image |
+| `operatingSystem` | String | Operating system that runs on the vulnerable container image |
+
+## VulnerabilityLocationDast
+
+Represents the location of a vulnerability found by a DAST scan
+
+| Name | Type | Description |
+| --- | ---- | ---------- |
+| `hostname` | String | Domain name of the vulnerable request |
+| `param` | String | Query parameter for the URL on which the vulnerability occurred |
+| `path` | String | URL path and query string of the vulnerable request |
+| `requestMethod` | String | HTTP method of the vulnerable request |
+
+## VulnerabilityLocationDependencyScanning
+
+Represents the location of a vulnerability found by a dependency security scan
+
+| Name | Type | Description |
+| --- | ---- | ---------- |
+| `dependency` | VulnerableDependency | Dependency containing the vulnerability |
+| `file` | String | Path to the vulnerable file |
+
+## VulnerabilityLocationSast
+
+Represents the location of a vulnerability found by a SAST scan
+
+| Name | Type | Description |
+| --- | ---- | ---------- |
+| `endLine` | String | Number of the last relevant line in the vulnerable file |
+| `file` | String | Path to the vulnerable file |
+| `startLine` | String | Number of the first relevant line in the vulnerable file |
+| `vulnerableClass` | String | Class containing the vulnerability |
+| `vulnerableMethod` | String | Method containing the vulnerability |
+
## VulnerabilityPermissions
Check permissions for the current user on a vulnerability
@@ -1652,3 +1719,20 @@ Represents vulnerability counts by severity
| `low` | Int | Number of vulnerabilities of LOW severity of the project |
| `medium` | Int | Number of vulnerabilities of MEDIUM severity of the project |
| `unknown` | Int | Number of vulnerabilities of UNKNOWN severity of the project |
+
+## VulnerableDependency
+
+Represents a vulnerable dependency. Used in vulnerability location data
+
+| Name | Type | Description |
+| --- | ---- | ---------- |
+| `package` | VulnerablePackage | The package associated with the vulnerable dependency |
+| `version` | String | The version of the vulnerable dependency |
+
+## VulnerablePackage
+
+Represents a vulnerable package. Used in vulnerability dependency data
+
+| Name | Type | Description |
+| --- | ---- | ---------- |
+| `name` | String | The name of the vulnerable package |
diff --git a/doc/api/group_badges.md b/doc/api/group_badges.md
index 6d5961a7eb8..5b7164cdd4d 100644
--- a/doc/api/group_badges.md
+++ b/doc/api/group_badges.md
@@ -7,7 +7,7 @@
Badges support placeholders that will be replaced in real time in both the link and image URL. The allowed placeholders are:
- **%{project_path}**: will be replaced by the project path.
-- **%{project_id}**: will be replaced by the project id.
+- **%{project_id}**: will be replaced by the project ID.
- **%{default_branch}**: will be replaced by the project default branch.
- **%{commit_sha}**: will be replaced by the last project's commit SHA.
diff --git a/doc/api/group_import_export.md b/doc/api/group_import_export.md
index ffaa15603f7..ec182cecd0d 100644
--- a/doc/api/group_import_export.md
+++ b/doc/api/group_import_export.md
@@ -1,6 +1,6 @@
# Group Import/Export API
-> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20353) in GitLab 12.8 as an experimental feature. May change in future releases.
+> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/20353) in GitLab 12.8.
Group Import/Export allows you to export group structure and import it to a new location.
When used with [Project Import/Export](project_import_export.md), you can preserve connections with
@@ -15,6 +15,19 @@ Group exports include the following:
- Group members
- Sub-groups. Each sub-group includes all data above
+## Version history
+
+GitLab can import bundles that were exported from a different GitLab deployment.
+This ability is limited to two previous GitLab [minor](../policy/maintenance.md#versioning)
+releases, which is similar to our process for [Security Releases](../policy/maintenance.md#security-releases).
+
+For example:
+
+| Current version | Can import bundles exported from |
+|-----------------|----------------------------------|
+| 13.0 | 13.0, 12.10, 12.9 |
+| 13.1 | 13.1, 13.0, 12.10 |
+
## Schedule new export
Start a new group export.
diff --git a/doc/api/groups.md b/doc/api/groups.md
index b987be58091..bc7bff2964b 100644
--- a/doc/api/groups.md
+++ b/doc/api/groups.md
@@ -392,7 +392,11 @@ Parameters:
| ------------------------ | -------------- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group](README.md#namespaced-path-encoding) owned by the authenticated user. |
| `with_custom_attributes` | boolean | no | Include [custom attributes](custom_attributes.md) in response (admins only). |
-| `with_projects` | boolean | no | Include details from projects that belong to the specified group (defaults to `true`). (Deprecated, [will be removed in 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use the [list a group's projects endpoint](#list-a-groups-projects).) |
+| `with_projects` | boolean | no | Include details from projects that belong to the specified group (defaults to `true`). (Deprecated, [will be removed in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use the [list a group's projects endpoint](#list-a-groups-projects).) |
+
+NOTE: **Note:**
+The `projects` and `shared_projects` attributes in the response are deprecated and will be [removed in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797).
+To get the details of all projects within a group, use either the [list a group's projects](#list-a-groups-projects) or the [list a group's shared projects](#list-a-groups-shared-projects) endpoint.
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/4
@@ -423,7 +427,7 @@ Example response:
"file_template_project_id": 1,
"parent_id": null,
"created_at": "2020-01-15T12:36:29.590Z",
- "projects": [
+ "projects": [ // Deprecated and will be removed in API v5
{
"id": 7,
"description": "Voluptas veniam qui et beatae voluptas doloremque explicabo facilis.",
@@ -501,7 +505,7 @@ Example response:
"request_access_enabled": false
}
],
- "shared_projects": [
+ "shared_projects": [ // Deprecated and will be removed in API v5
{
"id": 8,
"description": "Velit eveniet provident fugiat saepe eligendi autem.",
@@ -704,6 +708,10 @@ PUT /groups/:id
| `shared_runners_minutes_limit` | integer | no | **(STARTER ONLY)** Pipeline minutes quota for this group. |
| `extra_shared_runners_minutes_limit` | integer | no | **(STARTER ONLY)** Extra pipeline minutes quota for this group. |
+NOTE: **Note:**
+The `projects` and `shared_projects` attributes in the response are deprecated and will be [removed in API v5](https://gitlab.com/gitlab-org/gitlab/-/issues/213797).
+To get the details of all projects within a group, use either the [list a group's projects](#list-a-groups-projects) or the [list a group's shared projects](#list-a-groups-shared-projects) endpoint.
+
```shell
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/groups/5?name=Experimental"
```
@@ -715,9 +723,6 @@ This endpoint returns:
and later. To get the details of all projects within a group, use the
[list a group's projects endpoint](#list-a-groups-projects) instead.
-NOTE: **Note:**
-The `projects` and `shared_projects` attributes [will be deprecated in GitLab 13.0](https://gitlab.com/gitlab-org/gitlab/-/issues/213797). To get the details of all projects within a group, use the [list a group's projects endpoint](#list-a-groups-projects) instead.
-
Example response:
```json
@@ -735,7 +740,7 @@ Example response:
"file_template_project_id": 1,
"parent_id": null,
"created_at": "2020-01-15T12:36:29.590Z",
- "projects": [
+ "projects": [ // Deprecated and will be removed in API v5
{
"id": 9,
"description": "foo",
diff --git a/doc/api/jobs.md b/doc/api/jobs.md
index 0d16b99e241..c06dc56407c 100644
--- a/doc/api/jobs.md
+++ b/doc/api/jobs.md
@@ -543,8 +543,8 @@ GET /projects/:id/jobs/:job_id/trace
| Attribute | Type | Required | Description |
|-----------|----------------|----------|------------------------------------------------------------------------------------------------------------------|
-| id | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
-| job_id | integer | yes | ID of a job. |
+| `id` | integer/string | yes | ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user. |
+| `job_id` | integer | yes | ID of a job. |
```shell
curl --location --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/jobs/8/trace"
diff --git a/doc/api/managed_licenses.md b/doc/api/managed_licenses.md
index 66125d23a82..13eb3a3fea7 100644
--- a/doc/api/managed_licenses.md
+++ b/doc/api/managed_licenses.md
@@ -90,7 +90,7 @@ Example response:
## Delete a managed license
-Deletes a managed license with a given id.
+Deletes a managed license with a given ID.
```plaintext
DELETE /projects/:id/managed_licenses/:managed_license_id
diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md
index df87c18849b..86c558c582c 100644
--- a/doc/api/merge_requests.md
+++ b/doc/api/merge_requests.md
@@ -972,7 +972,7 @@ POST /projects/:id/merge_requests
| `assignee_id` | integer | no | Assignee user ID |
| `assignee_ids` | integer array | no | The ID of the user(s) to assign the MR to. Set to `0` or provide an empty value to unassign all assignees. |
| `description` | string | no | Description of MR. Limited to 1,048,576 characters. |
-| `target_project_id` | integer | no | The target project (numeric id) |
+| `target_project_id` | integer | no | The target project (numeric ID) |
| `labels` | string | no | Labels for MR as a comma-separated list |
| `milestone_id` | integer | no | The global ID of a milestone |
| `remove_source_branch` | boolean | no | Flag indicating if a merge request should remove the source branch when merging |
diff --git a/doc/api/packages.md b/doc/api/packages.md
index 8671de006d2..c68c16e92a7 100644
--- a/doc/api/packages.md
+++ b/doc/api/packages.md
@@ -68,6 +68,7 @@ GET /groups/:id/packages
| `order_by`| string | no | The field to use as order. One of `created_at` (default), `name`, `version`, `type`, or `project_path`. |
| `sort` | string | no | The direction of the order, either `asc` (default) for ascending order or `desc` for descending order. |
| `package_type` | string | no | Filter the returned packages by type. One of `conan`, `maven`, `npm`, `pypi` or `nuget`. (_Introduced in GitLab 12.9_) |
+| `package_name` | string | no | Filter the project packages with a fuzzy search by name. (_[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/30980) in GitLab 13.0_)
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab.example.com/api/v4/groups/:id/packages?exclude_subgroups=true
diff --git a/doc/api/pipeline_schedules.md b/doc/api/pipeline_schedules.md
index 859e88d0945..3a79268e889 100644
--- a/doc/api/pipeline_schedules.md
+++ b/doc/api/pipeline_schedules.md
@@ -54,7 +54,7 @@ GET /projects/:id/pipeline_schedules/:pipeline_schedule_id
| Attribute | Type | required | Description |
|--------------|---------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `pipeline_schedule_id` | integer | yes | The pipeline schedule id |
+| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID |
```shell
curl --header "PRIVATE-TOKEN: k5ESFgWY2Qf5xEvDcFxZ" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13"
@@ -150,7 +150,7 @@ PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id
| Attribute | Type | required | Description |
|---------------|---------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `pipeline_schedule_id` | integer | yes | The pipeline schedule id |
+| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID |
| `description` | string | no | The description of pipeline schedule |
| `ref` | string | no | The branch/tag name will be triggered |
| `cron` | string | no | The cron (e.g. `0 1 * * *`) ([Cron syntax](https://en.wikipedia.org/wiki/Cron)) |
@@ -200,7 +200,7 @@ POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/take_ownership
| Attribute | Type | required | Description |
|---------------|---------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `pipeline_schedule_id` | integer | yes | The pipeline schedule id |
+| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID |
```shell
curl --request POST --header "PRIVATE-TOKEN: hf2CvZXB9w8Uc5pZKpSB" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13/take_ownership"
@@ -245,7 +245,7 @@ DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id
| Attribute | Type | required | Description |
|----------------|---------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `pipeline_schedule_id` | integer | yes | The pipeline schedule id |
+| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID |
```shell
curl --request DELETE --header "PRIVATE-TOKEN: k5ESFgWY2Qf5xEvDcFxZ" "https://gitlab.example.com/api/v4/projects/29/pipeline_schedules/13"
@@ -293,7 +293,7 @@ POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/play
| Attribute | Type | required | Description |
| ---------------- | --------- | ---------- | -------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `pipeline_schedule_id` | integer | yes | The pipeline schedule id |
+| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID |
Example request:
@@ -324,7 +324,7 @@ POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables
| Attribute | Type | required | Description |
|------------------------|----------------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `pipeline_schedule_id` | integer | yes | The pipeline schedule id |
+| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID |
| `key` | string | yes | The `key` of a variable; must have no more than 255 characters; only `A-Z`, `a-z`, `0-9`, and `_` are allowed |
| `value` | string | yes | The `value` of a variable |
| `variable_type` | string | no | The type of a variable. Available types are: `env_var` (default) and `file` |
@@ -352,7 +352,7 @@ PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key
| Attribute | Type | required | Description |
|------------------------|----------------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `pipeline_schedule_id` | integer | yes | The pipeline schedule id |
+| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID |
| `key` | string | yes | The `key` of a variable |
| `value` | string | yes | The `value` of a variable |
| `variable_type` | string | no | The type of a variable. Available types are: `env_var` (default) and `file` |
@@ -380,7 +380,7 @@ DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key
| Attribute | Type | required | Description |
|------------------------|----------------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `pipeline_schedule_id` | integer | yes | The pipeline schedule id |
+| `pipeline_schedule_id` | integer | yes | The pipeline schedule ID |
| `key` | string | yes | The `key` of a variable |
```shell
diff --git a/doc/api/pipeline_triggers.md b/doc/api/pipeline_triggers.md
index 55c6e37c164..1a63a04be71 100644
--- a/doc/api/pipeline_triggers.md
+++ b/doc/api/pipeline_triggers.md
@@ -43,7 +43,7 @@ GET /projects/:id/triggers/:trigger_id
| Attribute | Type | required | Description |
|--------------|---------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `trigger_id` | integer | yes | The trigger id |
+| `trigger_id` | integer | yes | The trigger ID |
```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/triggers/5"
@@ -101,7 +101,7 @@ PUT /projects/:id/triggers/:trigger_id
| Attribute | Type | required | Description |
|---------------|---------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `trigger_id` | integer | yes | The trigger id |
+| `trigger_id` | integer | yes | The trigger ID |
| `description` | string | no | The trigger name |
```shell
@@ -131,7 +131,7 @@ DELETE /projects/:id/triggers/:trigger_id
| Attribute | Type | required | Description |
|----------------|---------|----------|--------------------------|
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](README.md#namespaced-path-encoding) owned by the authenticated user |
-| `trigger_id` | integer | yes | The trigger id |
+| `trigger_id` | integer | yes | The trigger ID |
```shell
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/triggers/5"
diff --git a/doc/api/project_badges.md b/doc/api/project_badges.md
index 4afb898eb91..4adeb50deca 100644
--- a/doc/api/project_badges.md
+++ b/doc/api/project_badges.md
@@ -7,7 +7,7 @@
Badges support placeholders that will be replaced in real time in both the link and image URL. The allowed placeholders are:
- **%{project_path}**: will be replaced by the project path.
-- **%{project_id}**: will be replaced by the project id.
+- **%{project_id}**: will be replaced by the project ID.
- **%{default_branch}**: will be replaced by the project default branch.
- **%{commit_sha}**: will be replaced by the last project's commit sha.
diff --git a/doc/api/project_import_export.md b/doc/api/project_import_export.md
index 21a90670aa6..cee01828410 100644
--- a/doc/api/project_import_export.md
+++ b/doc/api/project_import_export.md
@@ -42,6 +42,9 @@ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" https://gitlab
}
```
+NOTE: **Note:**
+The upload request will be sent with `Content-Type: application/gzip` header. Ensure that your pre-signed URL includes this as part of the signature.
+
## Export status
Get the status of export.
diff --git a/doc/api/projects.md b/doc/api/projects.md
index aa5e9ef6e43..48df539ed88 100644
--- a/doc/api/projects.md
+++ b/doc/api/projects.md
@@ -162,7 +162,7 @@ When the user is authenticated and `simple` is not set this returns something li
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
- "marked_for_deletion_at": "2020-04-03", // to be deprecated in GitLab 13.0 in favor of marked_for_deletion_on
+ "marked_for_deletion_at": "2020-04-03", // Deprecated and will be removed in API v5 in favor of marked_for_deletion_on
"marked_for_deletion_on": "2020-04-03",
"statistics": {
"commit_count": 37,
@@ -288,7 +288,7 @@ When the user is authenticated and `simple` is not set this returns something li
```
NOTE: **Note:**
-For users on GitLab [Silver, Premium, or higher](https://about.gitlab.com/pricing/) the `marked_for_deletion_at` attribute will be deprecated in GitLab 13.0 in favor of the `marked_for_deletion_on` attribute.
+For users on GitLab [Silver, Premium, or higher](https://about.gitlab.com/pricing/) the `marked_for_deletion_at` attribute has been deprecated and will be removed in API v5 in favor of the `marked_for_deletion_on` attribute.
Users on GitLab [Starter, Bronze, or higher](https://about.gitlab.com/pricing/) will also see
the `approvals_before_merge` parameter:
@@ -411,7 +411,7 @@ This endpoint supports [keyset pagination](README.md#keyset-based-pagination) fo
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
- "marked_for_deletion_at": "2020-04-03", // to be deprecated in GitLab 13.0 in favor of marked_for_deletion_on
+ "marked_for_deletion_at": "2020-04-03", // Deprecated and will be removed in API v5 in favor of marked_for_deletion_on
"marked_for_deletion_on": "2020-04-03",
"statistics": {
"commit_count": 37,
@@ -798,7 +798,9 @@ GET /projects/:id
"enabled": false,
"keep_n": null,
"older_than": null,
- "name_regex": null,
+ "name_regex": null, // to be deprecated in GitLab 13.0 in favor of `name_regex_delete`
+ "name_regex_delete": null,
+ "name_regex_keep": null,
"next_run_at": "2020-01-07T21:42:58.658Z"
},
"created_at": "2013-09-30T13:46:02Z",
@@ -877,7 +879,7 @@ GET /projects/:id
"service_desk_address": null,
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
- "marked_for_deletion_at": "2020-04-03", // to be deprecated in GitLab 13.0 in favor of marked_for_deletion_on
+ "marked_for_deletion_at": "2020-04-03", // Deprecated and will be removed in API v5 in favor of marked_for_deletion_on
"marked_for_deletion_on": "2020-04-03",
"statistics": {
"commit_count": 37,
@@ -1033,7 +1035,7 @@ POST /projects
| `emails_disabled` | boolean | no | Disable email notifications |
| `resolve_outdated_diff_discussions` | boolean | no | Automatically resolve merge request diffs discussions on lines changed with a push |
| `container_registry_enabled` | boolean | no | Enable container registry for this project |
-| `container_expiration_policy_attributes` | hash | no | Update the container expiration policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `enabled` (boolean) |
+| `container_expiration_policy_attributes` | hash | no | Update the image expiration policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `name_regex_delete` (string), `name_regex_keep` (string), `enabled` (boolean) |
| `shared_runners_enabled` | boolean | no | Enable shared runners for this project |
| `visibility` | string | no | See [project visibility level](#project-visibility-level) |
| `import_url` | string | no | URL to import repository from |
@@ -1170,7 +1172,7 @@ PUT /projects/:id
| `emails_disabled` | boolean | no | Disable email notifications |
| `resolve_outdated_diff_discussions` | boolean | no | Automatically resolve merge request diffs discussions on lines changed with a push |
| `container_registry_enabled` | boolean | no | Enable container registry for this project |
-| `container_expiration_policy_attributes` | hash | no | Update the container expiration policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `enabled` (boolean) |
+| `container_expiration_policy_attributes` | hash | no | Update the image expiration policy for this project. Accepts: `cadence` (string), `keep_n` (string), `older_than` (string), `name_regex` (string), `name_regex_delete` (string), `name_regex_keep` (string), `enabled` (boolean) |
| `shared_runners_enabled` | boolean | no | Enable shared runners for this project |
| `visibility` | string | no | See [project visibility level](#project-visibility-level) |
| `import_url` | string | no | URL to import repository from |
diff --git a/doc/api/releases/links.md b/doc/api/releases/links.md
index f4fb2dfd05f..f380ba5a1b2 100644
--- a/doc/api/releases/links.md
+++ b/doc/api/releases/links.md
@@ -55,7 +55,7 @@ GET /projects/:id/releases/:tag_name/assets/links/:link_id
| ------------- | -------------- | -------- | --------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../README.md#namespaced-path-encoding). |
| `tag_name` | string | yes | The tag associated with the Release. |
-| `link_id` | integer | yes | The id of the link. |
+| `link_id` | integer | yes | The ID of the link. |
Example request:
@@ -122,7 +122,7 @@ PUT /projects/:id/releases/:tag_name/assets/links/:link_id
| ------------- | -------------- | -------- | --------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../README.md#namespaced-path-encoding). |
| `tag_name` | string | yes | The tag associated with the Release. |
-| `link_id` | integer | yes | The id of the link. |
+| `link_id` | integer | yes | The ID of the link. |
| `name` | string | no | The name of the link. |
| `url` | string | no | The URL of the link. |
@@ -158,7 +158,7 @@ DELETE /projects/:id/releases/:tag_name/assets/links/:link_id
| ------------- | -------------- | -------- | --------------------------------------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the project](../README.md#namespaced-path-encoding). |
| `tag_name` | string | yes | The tag associated with the Release. |
-| `link_id` | integer | yes | The id of the link. |
+| `link_id` | integer | yes | The ID of the link. |
Example request:
diff --git a/doc/api/repository_files.md b/doc/api/repository_files.md
index 746d982e16d..62a87b658a9 100644
--- a/doc/api/repository_files.md
+++ b/doc/api/repository_files.md
@@ -236,7 +236,7 @@ Parameters:
- `author_name` (optional) - Specify the commit author's name
- `content` (required) - New file content
- `commit_message` (required) - Commit message
-- `last_commit_id` (optional) - Last known file commit id
+- `last_commit_id` (optional) - Last known file commit ID
If the commit fails for any reason we return a 400 error with a non-specific
error message. Possible causes for a failed commit include:
@@ -271,4 +271,4 @@ Parameters:
- `author_email` (optional) - Specify the commit author's email address
- `author_name` (optional) - Specify the commit author's name
- `commit_message` (required) - Commit message
-- `last_commit_id` (optional) - Last known file commit id
+- `last_commit_id` (optional) - Last known file commit ID
diff --git a/doc/api/scim.md b/doc/api/scim.md
index eaa56b0d0dd..c0650b8a0aa 100644
--- a/doc/api/scim.md
+++ b/doc/api/scim.md
@@ -158,13 +158,13 @@ Returns a `201` status code if successful.
Fields that can be updated are:
-| SCIM/IdP field | GitLab field |
-|:----------|:--------|
-| id/externalId | extern_uid |
-| name.formatted | name |
-| emails\[type eq "work"\].value | email |
-| active | Identity removal if `active = false` |
-| userName | username |
+| SCIM/IdP field | GitLab field |
+|:---------------------------------|:---------------------------------------|
+| `id/externalId` | `extern_uid` |
+| `name.formatted` | `name` |
+| `emails\[type eq "work"\].value` | `email` |
+| `active` | Identity removal if `active` = `false` |
+| `userName` | `username` |
```text
PATCH /api/scim/v2/groups/:group_path/Users/:id
diff --git a/doc/api/settings.md b/doc/api/settings.md
index d86965d2817..f8749940cdd 100644
--- a/doc/api/settings.md
+++ b/doc/api/settings.md
@@ -331,13 +331,13 @@ are listed in the descriptions of the relevant settings.
| `sign_in_text` | string | no | Text on the login page. |
| `signup_enabled` | boolean | no | Enable registration. Default is `true`. |
| `slack_app_enabled` | boolean | no | **(PREMIUM)** (**If enabled, requires:** `slack_app_id`, `slack_app_secret` and `slack_app_secret`) Enable Slack app. |
-| `slack_app_id` | string | required by: `slack_app_enabled` | **(PREMIUM)** The app id of the Slack-app. |
+| `slack_app_id` | string | required by: `slack_app_enabled` | **(PREMIUM)** The app ID of the Slack-app. |
| `slack_app_secret` | string | required by: `slack_app_enabled` | **(PREMIUM)** The app secret of the Slack-app. |
| `slack_app_verification_token` | string | required by: `slack_app_enabled` | **(PREMIUM)** The verification token of the Slack-app. |
| `snowplow_collector_hostname` | string | required by: `snowplow_enabled` | The Snowplow collector hostname. (for example, `snowplow.trx.gitlab.net`) |
| `snowplow_cookie_domain` | string | no | The Snowplow cookie domain. (for example, `.gitlab.com`) |
| `snowplow_enabled` | boolean | no | Enable snowplow tracking. |
-| `snowplow_app_id` | string | no | The Snowplow site name / application id. (for example, `gitlab`) |
+| `snowplow_app_id` | string | no | The Snowplow site name / application ID. (for example, `gitlab`) |
| `snowplow_iglu_registry_url` | string | no | The Snowplow base Iglu Schema Registry URL to use for custom context and self describing events'|
| `sourcegraph_enabled` | boolean | no | Enables Sourcegraph integration. Default is `false`. **If enabled, requires** `sourcegraph_url`. |
| `sourcegraph_url` | string | required by: `sourcegraph_enabled` | The Sourcegraph instance URL for integration. |
diff --git a/doc/api/users.md b/doc/api/users.md
index 90aafcef035..ac2123c98e9 100644
--- a/doc/api/users.md
+++ b/doc/api/users.md
@@ -611,7 +611,7 @@ GET /users/:id_or_username/status
| Attribute | Type | Required | Description |
| ---------------- | ------ | -------- | ----------- |
-| `id_or_username` | string | yes | The id or username of the user to get a status of |
+| `id_or_username` | string | yes | The ID or username of the user to get a status of |
```shell
curl "https://gitlab.example.com/users/janedoe/status"
@@ -723,7 +723,7 @@ GET /users/:id_or_username/keys
| Attribute | Type | Required | Description |
| ---------------- | ------ | -------- | ----------- |
-| `id_or_username` | string | yes | The id or username of the user to get the SSH keys for. |
+| `id_or_username` | string | yes | The ID or username of the user to get the SSH keys for. |
## Single SSH key
@@ -794,7 +794,7 @@ POST /users/:id/keys
Parameters:
-- `id` (required) - id of specified user
+- `id` (required) - ID of specified user
- `title` (required) - new SSH Key's title
- `key` (required) - new SSH key
@@ -821,7 +821,7 @@ DELETE /users/:id/keys/:key_id
Parameters:
-- `id` (required) - id of specified user
+- `id` (required) - ID of specified user
- `key_id` (required) - SSH key ID
## List all GPG keys
@@ -1070,7 +1070,7 @@ GET /users/:id/emails
Parameters:
-- `id` (required) - id of specified user
+- `id` (required) - ID of specified user
## Single email
@@ -1133,7 +1133,7 @@ POST /users/:id/emails
Parameters:
-- `id` (required) - id of specified user
+- `id` (required) - ID of specified user
- `email` (required) - email address
- `skip_confirmation` (optional) - Skip confirmation and assume e-mail is verified - true or false (default)
@@ -1160,7 +1160,7 @@ DELETE /users/:id/emails/:email_id
Parameters:
-- `id` (required) - id of specified user
+- `id` (required) - ID of specified user
- `email_id` (required) - email ID
## Block user
@@ -1173,7 +1173,7 @@ POST /users/:id/block
Parameters:
-- `id` (required) - id of specified user
+- `id` (required) - ID of specified user
Returns:
@@ -1191,7 +1191,7 @@ POST /users/:id/unblock
Parameters:
-- `id` (required) - id of specified user
+- `id` (required) - ID of specified user
Will return `201 OK` on success, `404 User Not Found` is user cannot be found or
`403 Forbidden` when trying to unblock a user blocked by LDAP synchronization.
@@ -1208,7 +1208,7 @@ POST /users/:id/deactivate
Parameters:
-- `id` (required) - id of specified user
+- `id` (required) - ID of specified user
Returns:
@@ -1230,7 +1230,7 @@ POST /users/:id/activate
Parameters:
-- `id` (required) - id of specified user
+- `id` (required) - ID of specified user
Returns:
diff --git a/doc/api/vulnerability_exports.md b/doc/api/vulnerability_exports.md
index 42dafc1612a..f53a0ca08a3 100644
--- a/doc/api/vulnerability_exports.md
+++ b/doc/api/vulnerability_exports.md
@@ -151,18 +151,18 @@ The response will be `404 Not Found` if the vulnerability export is not finished
Example response:
```csv
-Scanner Type,Scanner Name,Status,Vulnerability,Details,Additional Info,Severity,CVE
-container_scanning,Clair,confirmed,CVE-2017-16997 in glibc,,CVE-2017-16997 in glibc,critical,CVE-2017-16997
-container_scanning,Clair,detected,CVE-2017-18269 in glibc,,CVE-2017-18269 in glibc,critical,CVE-2017-18269
-container_scanning,Clair,detected,CVE-2018-1000001 in glibc,,CVE-2018-1000001 in glibc,high,CVE-2018-1000001
-container_scanning,Clair,detected,CVE-2016-10228 in glibc,,CVE-2016-10228 in glibc,medium,CVE-2016-10228
-container_scanning,Clair,confirmed,CVE-2010-4052 in glibc,,CVE-2010-4052 in glibc,low,CVE-2010-4052
-container_scanning,Clair,detected,CVE-2018-18520 in elfutils,,CVE-2018-18520 in elfutils,low,CVE-2018-18520
-container_scanning,Clair,detected,CVE-2018-16869 in nettle,,CVE-2018-16869 in nettle,unknown,CVE-2018-16869
-dependency_scanning,Gemnasium,detected,Regular Expression Denial of Service in debug,,Regular Expression Denial of Service in debug,unknown,yarn.lock:debug:gemnasium:37283ed4-0380-40d7-ada7-2d994afcc62a
-dependency_scanning,Gemnasium,detected,Authentication bypass via incorrect DOM traversal and canonicalization in saml2-js,,Authentication bypass via incorrect DOM traversal and canonicalization in saml2-js,unknown,yarn.lock:saml2-js:gemnasium:9952e574-7b5b-46fa-a270-aeb694198a98
-sast,Find Security Bugs,detected,Predictable pseudorandom number generator,,Predictable pseudorandom number generator,medium,818bf5dacb291e15d9e6dc3c5ac32178:PREDICTABLE_RANDOM:src/main/java/com/gitlab/security_products/tests/App.java:47
-sast,Find Security Bugs,detected,Cipher with no integrity,,Cipher with no integrity,medium,e6449b89335daf53c0db4c0219bc1634:CIPHER_INTEGRITY:src/main/java/com/gitlab/security_products/tests/App.java:29
-sast,Find Security Bugs,detected,Predictable pseudorandom number generator,,Predictable pseudorandom number generator,medium,e8ff1d01f74cd372f78da8f5247d3e73:PREDICTABLE_RANDOM:src/main/java/com/gitlab/security_products/tests/App.java:41
-sast,Find Security Bugs,confirmed,ECB mode is insecure 2,,ECB mode is insecure,medium,ea0f905fc76f2739d5f10a1fd1e37a10:ECB_MODE:src/main/java/com/gitlab/security_products/tests/App.java:29
-```
+Group Name,Project Name,Scanner Type,Scanner Name,Status,Vulnerability,Details,Additional Info,Severity,CVE
+Gitlab.org,Defend,container_scanning,Clair,confirmed,CVE-2017-16997 in glibc,,CVE-2017-16997 in glibc,critical,CVE-2017-16997
+Gitlab.org,Defend,container_scanning,Clair,detected,CVE-2017-18269 in glibc,,CVE-2017-18269 in glibc,critical,CVE-2017-18269
+Gitlab.org,Defend,container_scanning,Clair,detected,CVE-2018-1000001 in glibc,,CVE-2018-1000001 in glibc,high,CVE-2018-1000001
+Gitlab.org,Defend,container_scanning,Clair,detected,CVE-2016-10228 in glibc,,CVE-2016-10228 in glibc,medium,CVE-2016-10228
+Gitlab.org,Defend,container_scanning,Clair,confirmed,CVE-2010-4052 in glibc,,CVE-2010-4052 in glibc,low,CVE-2010-4052
+Gitlab.org,Defend,container_scanning,Clair,detected,CVE-2018-18520 in elfutils,,CVE-2018-18520 in elfutils,low,CVE-2018-18520
+Gitlab.org,Defend,container_scanning,Clair,detected,CVE-2018-16869 in nettle,,CVE-2018-16869 in nettle,unknown,CVE-2018-16869
+Gitlab.org,Defend,dependency_scanning,Gemnasium,detected,Regular Expression Denial of Service in debug,,Regular Expression Denial of Service in debug,unknown,yarn.lock:debug:gemnasium:37283ed4-0380-40d7-ada7-2d994afcc62a
+Gitlab.org,Defend,dependency_scanning,Gemnasium,detected,Authentication bypass via incorrect DOM traversal and canonicalization in saml2-js,,Authentication bypass via incorrect DOM traversal and canonicalization in saml2-js,unknown,yarn.lock:saml2-js:gemnasium:9952e574-7b5b-46fa-a270-aeb694198a98
+Gitlab.org,Defend,sast,Find Security Bugs,detected,Predictable pseudorandom number generator,,Predictable pseudorandom number generator,medium,818bf5dacb291e15d9e6dc3c5ac32178:PREDICTABLE_RANDOM:src/main/java/com/gitlab/security_products/tests/App.java:47
+Gitlab.org,Defend,sast,Find Security Bugs,detected,Cipher with no integrity,,Cipher with no integrity,medium,e6449b89335daf53c0db4c0219bc1634:CIPHER_INTEGRITY:src/main/java/com/gitlab/security_products/tests/App.java:29
+Gitlab.org,Defend,sast,Find Security Bugs,detected,Predictable pseudorandom number generator,,Predictable pseudorandom number generator,medium,e8ff1d01f74cd372f78da8f5247d3e73:PREDICTABLE_RANDOM:src/main/java/com/gitlab/security_products/tests/App.java:41
+Gitlab.org,Defend,sast,Find Security Bugs,confirmed,ECB mode is insecure 2,,ECB mode is insecure,medium,ea0f905fc76f2739d5f10a1fd1e37a10:ECB_MODE:src/main/java/com/gitlab/security_products/tests/App.java:29
+Gitlab.org,Defend,```
diff --git a/doc/ci/docker/using_docker_images.md b/doc/ci/docker/using_docker_images.md
index 004edcde735..2759d6de085 100644
--- a/doc/ci/docker/using_docker_images.md
+++ b/doc/ci/docker/using_docker_images.md
@@ -26,7 +26,20 @@ test them on a dedicated CI server.
To use GitLab Runner with Docker you need to [register a new Runner](https://docs.gitlab.com/runner/register/)
to use the `docker` executor.
-A one-line example can be seen below:
+An example can be seen below. First we set up a temporary template to supply the services:
+
+```shell
+cat > /tmp/test-config.template.toml << EOF
+[[runners]]
+[runners.docker]
+[[runners.docker.services]]
+name = "postgres:latest"
+[[runners.docker.services]]
+name = "mysql:latest"
+EOF
+```
+
+Then we register the runner using the template that was just created:
```shell
sudo gitlab-runner register \
@@ -34,9 +47,8 @@ sudo gitlab-runner register \
--registration-token "PROJECT_REGISTRATION_TOKEN" \
--description "docker-ruby:2.6" \
--executor "docker" \
- --docker-image ruby:2.6 \
- --docker-services postgres:latest \
- --docker-services mysql:latest
+ --template-config /tmp/test-config.template.toml \
+ --docker-image ruby:2.6
```
The registered runner will use the `ruby:2.6` Docker image and will run two
diff --git a/doc/ci/examples/devops_and_game_dev_with_gitlab_ci_cd/index.md b/doc/ci/examples/devops_and_game_dev_with_gitlab_ci_cd/index.md
index 848808f65ea..d65f925bf2e 100644
--- a/doc/ci/examples/devops_and_game_dev_with_gitlab_ci_cd/index.md
+++ b/doc/ci/examples/devops_and_game_dev_with_gitlab_ci_cd/index.md
@@ -417,7 +417,7 @@ credentials, which will be the same two credentials (Key ID and Secret). It's a
fully understand [IAM Best Practices in AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html). We need to add these credentials to GitLab:
1. Log into your AWS account and go to the [Security Credentials page](https://console.aws.amazon.com/iam/home#/security_credential)
-1. Click the **Access Keys** section and **Create New Access Key**. Create the key and keep the id and secret around, you'll need them later
+1. Click the **Access Keys** section and **Create New Access Key**. Create the key and keep the ID and secret around, you'll need them later
![AWS Access Key Config](img/aws_config_window.png)
@@ -426,7 +426,7 @@ fully understand [IAM Best Practices in AWS](https://docs.aws.amazon.com/IAM/lat
![GitLab Secret Config](img/gitlab_config.png)
-1. Add a key named `AWS_KEY_ID` and copy the key id from Step 2 into the **Value** textbox
+1. Add a key named `AWS_KEY_ID` and copy the key ID from Step 2 into the **Value** textbox
1. Add a key named `AWS_KEY_SECRET` and copy the key secret from Step 2 into the **Value** textbox
### Deploy your game with GitLab CI/CD
diff --git a/doc/ci/examples/test-and-deploy-python-application-to-heroku.md b/doc/ci/examples/test-and-deploy-python-application-to-heroku.md
index 6d05c37390a..2c626cb458a 100644
--- a/doc/ci/examples/test-and-deploy-python-application-to-heroku.md
+++ b/doc/ci/examples/test-and-deploy-python-application-to-heroku.md
@@ -76,14 +76,21 @@ To build this project you also need to have [GitLab Runner](https://docs.gitlab.
You can use public runners available on `gitlab.com` or you can register your own:
```shell
+cat > /tmp/test-config.template.toml << EOF
+[[runners]]
+[runners.docker]
+[[runners.docker.services]]
+name = "postgres:latest"
+EOF
+
gitlab-runner register \
--non-interactive \
--url "https://gitlab.com/" \
--registration-token "PROJECT_REGISTRATION_TOKEN" \
--description "python-3.5" \
--executor "docker" \
- --docker-image python:3.5 \
- --docker-services postgres:latest
+ --template-config /tmp/test-config.template.toml \
+ --docker-image python:3.5
```
With the command above, you create a runner that uses the [`python:3.5`](https://hub.docker.com/_/python) image and uses a [PostgreSQL](https://hub.docker.com/_/postgres) database.
diff --git a/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md b/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md
index e480f4565ce..5df407f19fe 100644
--- a/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md
+++ b/doc/ci/examples/test-and-deploy-ruby-application-to-heroku.md
@@ -64,7 +64,19 @@ You can do this through the [Heroku Dashboard](https://dashboard.heroku.com/).
First install [Docker Engine](https://docs.docker.com/installation/).
To build this project you also need to have [GitLab Runner](https://docs.gitlab.com/runner/).
-You can use public runners available on `gitlab.com` or register your own:
+You can use public runners available on `gitlab.com` or register your own. Start by
+creating a template configuration file in order to pass complex configuration:
+
+```shell
+cat > /tmp/test-config.template.toml << EOF
+[[runners]]
+[runners.docker]
+[[runners.docker.services]]
+name = "postgres:latest"
+EOF
+```
+
+Finally, register the runner, passing the newly-created template configuration file:
```shell
gitlab-runner register \
@@ -73,8 +85,8 @@ gitlab-runner register \
--registration-token "PROJECT_REGISTRATION_TOKEN" \
--description "ruby:2.6" \
--executor "docker" \
- --docker-image ruby:2.6 \
- --docker-services latest
+ --template-config /tmp/test-config.template.toml \
+ --docker-image ruby:2.6
```
With the command above, you create a Runner that uses the [`ruby:2.6`](https://hub.docker.com/_/ruby) image and uses a [PostgreSQL](https://hub.docker.com/_/postgres) database.
diff --git a/doc/ci/large_repositories/index.md b/doc/ci/large_repositories/index.md
index 6ac3fa2c92d..b4059fc252b 100644
--- a/doc/ci/large_repositories/index.md
+++ b/doc/ci/large_repositories/index.md
@@ -130,7 +130,7 @@ other using `docker` executor.
### `shell` executor example
-Let's assume that you have the following [config.toml](https://docs.gitlab.com/runner/configuration/advanced-configuration.html).
+Let's assume that you have the following [`config.toml`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html).
```toml
concurrent = 4
@@ -155,7 +155,7 @@ This `config.toml`:
### `docker` executor example
-Let's assume that you have the following [config.toml](https://docs.gitlab.com/runner/configuration/advanced-configuration.html).
+Let's assume that you have the following [`config.toml`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html).
```toml
concurrent = 4
@@ -216,7 +216,7 @@ but this brings administrative overhead as the `.gitlab-ci.yml` needs to be upda
In such cases, it might be desirable to keep the `.gitlab-ci.yml` clone path agnostic, but make it
a configuration of Runner.
-We can extend our [config.toml](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)
+We can extend our [`config.toml`](https://docs.gitlab.com/runner/configuration/advanced-configuration.html)
with the following specification that will be used by Runner if `.gitlab-ci.yml` will not override it:
```toml
diff --git a/doc/ci/merge_request_pipelines/index.md b/doc/ci/merge_request_pipelines/index.md
index 6886e1bc3af..9e9d4ee403b 100644
--- a/doc/ci/merge_request_pipelines/index.md
+++ b/doc/ci/merge_request_pipelines/index.md
@@ -13,17 +13,27 @@ changes are pushed to a branch.
If you want the pipeline to run jobs **only** when merge requests are created or updated,
you can use *pipelines for merge requests*.
-In the UI, these pipelines are labeled as `detached`.
+In the UI, these pipelines are labeled as `detached`. Otherwise, these pipelines appear the same
+as other pipelines.
+
+Any user who has developer [permissions](../../user/permissions.md)
+can run a pipeline for merge requests.
![Merge request page](img/merge_request.png)
-A few notes:
+NOTE: **Note**:
+If you use this feature with [merge when pipeline succeeds](../../user/project/merge_requests/merge_when_pipeline_succeeds.md),
+pipelines for merge requests take precedence over the other regular pipelines.
+
+## Prerequisites
+
+To enable pipelines for merge requests:
-- Pipelines for merge requests are incompatible with
- [CI/CD for external repositories](../ci_cd_for_external_repos/index.md).
-- [Since GitLab 11.10](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25504), pipelines for merge requests require GitLab Runner 11.9.
-- If you use this feature with [merge when pipeline succeeds](../../user/project/merge_requests/merge_when_pipeline_succeeds.md),
- pipelines for merge requests take precedence over the other regular pipelines.
+- You must have maintainer [permissions](../../user/permissions.md).
+- Your repository must be a GitLab repository, not an
+ [external repository](../ci_cd_for_external_repos/index.md).
+- [In GitLab 11.10 and later](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/25504),
+ you must be using GitLab Runner 11.9.
## Configuring pipelines for merge requests
diff --git a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md
index 4ca223204d5..c35a5d0a07e 100644
--- a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md
+++ b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/index.md
@@ -34,14 +34,18 @@ In these cases, the pipeline runs as a [pipeline for merge requests](../index.md
and is labeled as `detached`. If these cases no longer exist, new pipelines will
again run against the merged results.
-## Requirements and limitations
+Any user who has developer [permissions](../../../user/permissions.md) can run a
+pipeline for merged results.
-Pipelines for merged results have the following requirements and limitations:
+## Prerequisites
-- Pipelines for merged results require [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) 11.9 or newer.
-- Forking/cross-repo workflows are not currently supported. To follow progress,
+To enable pipelines for merge results:
+
+- You must have maintainer [permissions](../../../user/permissions.md).
+- You must be using [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) 11.9 or later.
+- You must not be forking or using cross-repo workflows. To follow progress,
see [#11934](https://gitlab.com/gitlab-org/gitlab/issues/11934).
-- This feature is not available for
+- You must not be using
[fast forward merges](../../../user/project/merge_requests/fast_forward_merge.md) yet.
To follow progress, see [#58226](https://gitlab.com/gitlab-org/gitlab/-/issues/26996).
diff --git a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md
index 641192afea1..d921b75aa44 100644
--- a/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md
+++ b/doc/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/index.md
@@ -30,6 +30,14 @@ If the pipeline for the merge request at the front of the train completes succes
the changes are merged into the target branch, and the other pipelines continue to
run.
+To add a merge request to a merge train, you need [permissions](../../../../user/permissions.md) to push to the target branch.
+
+NOTE: **Note:**
+Each merge train can run a maximum of **twenty** pipelines in parallel.
+If more than twenty merge requests are added to the merge train, the merge requests
+will be queued until a slot in the merge train is free. There is no limit to the
+number of merge requests that can be queued.
+
## Merge train example
Three merge requests (`A`, `B` and `C`) are added to a merge train in order, which
@@ -55,16 +63,13 @@ Watch this video for a demonstration on [how parallel execution
of Merge Trains can prevent commits from breaking the default
branch](https://www.youtube.com/watch?v=D4qCqXgZkHQ).
-## Requirements and limitations
+## Prerequisites
-Merge trains have the following requirements and limitations:
+To enable merge trains:
-- Merge trains require [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) 11.9 or newer.
-- GitLab 12.0 and later requires [Redis](https://redis.io/) 3.2 or higher.
-- Each merge train can run a maximum of **twenty** pipelines in parallel.
- If more than twenty merge requests are added to the merge train, the merge requests
- will be queued until a slot in the merge train is free. There is no limit to the
- number of merge requests that can be queued.
+- You must have maintainer [permissions](../../../../user/permissions.md).
+- You must be using [GitLab Runner](https://gitlab.com/gitlab-org/gitlab-runner) 11.9 or later.
+- In GitLab 12.0 and later, you need [Redis](https://redis.io/) 3.2 or later.
## Enable merge trains
diff --git a/doc/ci/pipelines/settings.md b/doc/ci/pipelines/settings.md
index 3221023f73a..57b8cb1a94b 100644
--- a/doc/ci/pipelines/settings.md
+++ b/doc/ci/pipelines/settings.md
@@ -162,6 +162,9 @@ This also determines the visibility of these related features:
- Job artifacts
- The [pipeline security dashboard](../../user/application_security/security_dashboard/index.md#pipeline-security) **(ULTIMATE)**
+NOTE: **Note:**
+Currently, job logs and artifacts are [not yet visible for guest users and non-project members](https://gitlab.com/gitlab-org/gitlab/-/issues/25649).
+
If **Public pipelines** is enabled (default):
- For **public** projects, anyone can view the pipelines and related features.
diff --git a/doc/ci/variables/predefined_variables.md b/doc/ci/variables/predefined_variables.md
index f53fd371c10..d4d3a13bb2a 100644
--- a/doc/ci/variables/predefined_variables.md
+++ b/doc/ci/variables/predefined_variables.md
@@ -56,7 +56,7 @@ future GitLab releases.**
| `CI_EXTERNAL_PULL_REQUEST_SOURCE_BRANCH_SHA` | 12.3 | all | The HEAD SHA of the source branch of the pull request if [the pipelines are for external pull requests](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests). Available only if `only: [external_pull_requests]` or [`rules`](../yaml/README.md#rules) syntax is used and the pull request is open. |
| `CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_NAME` | 12.3 | all | The target branch name of the pull request if [the pipelines are for external pull requests](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests). Available only if `only: [external_pull_requests]` or [`rules`](../yaml/README.md#rules) syntax is used and the pull request is open. |
| `CI_EXTERNAL_PULL_REQUEST_TARGET_BRANCH_SHA` | 12.3 | all | The HEAD SHA of the target branch of the pull request if [the pipelines are for external pull requests](../ci_cd_for_external_repos/index.md#pipelines-for-external-pull-requests). Available only if `only: [external_pull_requests]` or [`rules`](../yaml/README.md#rules) syntax is used and the pull request is open. |
-| `CI_JOB_ID` | 9.0 | all | The unique id of the current job that GitLab CI/CD uses internally |
+| `CI_JOB_ID` | 9.0 | all | The unique ID of the current job that GitLab CI/CD uses internally |
| `CI_JOB_IMAGE` | 12.9 | 12.9 | The name of the image running the CI job |
| `CI_JOB_MANUAL` | 8.12 | all | The flag to indicate that job was manually started |
| `CI_JOB_NAME` | 9.0 | 0.5 | The name of the job as defined in `.gitlab-ci.yml` |
@@ -64,6 +64,7 @@ future GitLab releases.**
| `CI_JOB_TOKEN` | 9.0 | 1.2 | Token used for authenticating with the [GitLab Container Registry](../../user/packages/container_registry/index.md) and downloading [dependent repositories](../../user/project/new_ci_build_permissions_model.md#dependent-repositories) |
| `CI_JOB_JWT` | 12.10 | all | RS256 JSON web token that can be used for authenticating with third party systems that support JWT authentication, for example [HashiCorp's Vault](../examples/authenticating-with-hashicorp-vault). |
| `CI_JOB_URL` | 11.1 | 0.5 | Job details URL |
+| `CI_KUBERNETES_ACTIVE` | 13.0 | all | Included with the value `true` only if the pipeline has a Kubernetes cluster available for deployments. Not included if no cluster is availble. Can be used as an alternative to [`only:kubernetes`/`except:kubernetes`](../yaml/README.md#onlykubernetesexceptkubernetes) with [`rules:if`](../yaml/README.md#rulesif) |
| `CI_MERGE_REQUEST_ASSIGNEES` | 11.9 | all | Comma-separated list of username(s) of assignee(s) for the merge request if [the pipelines are for merge requests](../merge_request_pipelines/index.md). Available only if `only: [merge_requests]` or [`rules`](../yaml/README.md#rules) syntax is used and the merge request is created. |
| `CI_MERGE_REQUEST_CHANGED_PAGE_PATHS` | 12.9 | all | Comma-separated list of paths of changed pages in a deployed [Review App](../review_apps/index.md) for a [Merge Request](../merge_request_pipelines/index.md). A [Route Map](../review_apps/index.md#route-maps) must be configured. |
| `CI_MERGE_REQUEST_CHANGED_PAGE_URLS` | 12.9 | all | Comma-separated list of URLs of changed pages in a deployed [Review App](../review_apps/index.md) for a [Merge Request](../merge_request_pipelines/index.md). A [Route Map](../review_apps/index.md#route-maps) must be configured. |
@@ -88,13 +89,13 @@ future GitLab releases.**
| `CI_NODE_TOTAL` | 11.5 | all | Total number of instances of this job running in parallel. If the job is not parallelized, this variable is set to `1`. |
| `CI_PAGES_DOMAIN` | 11.8 | all | The configured domain that hosts GitLab Pages. |
| `CI_PAGES_URL` | 11.8 | all | URL to GitLab Pages-built pages. Always belongs to a subdomain of `CI_PAGES_DOMAIN`. |
-| `CI_PIPELINE_ID` | 8.10 | all | The unique id of the current pipeline that GitLab CI/CD uses internally |
-| `CI_PIPELINE_IID` | 11.0 | all | The unique id of the current pipeline scoped to project |
+| `CI_PIPELINE_ID` | 8.10 | all | The unique ID of the current pipeline that GitLab CI/CD uses internally |
+| `CI_PIPELINE_IID` | 11.0 | all | The unique ID of the current pipeline scoped to project |
| `CI_PIPELINE_SOURCE` | 10.0 | all | Indicates how the pipeline was triggered. Possible options are: `push`, `web`, `trigger`, `schedule`, `api`, `pipeline`, `parent_pipeline`, `external`, `chat`, `merge_request_event`, and `external_pull_request_event`. For pipelines created before GitLab 9.5, this will show as `unknown` |
| `CI_PIPELINE_TRIGGERED` | all | all | The flag to indicate that job was [triggered](../triggers/README.md) |
| `CI_PIPELINE_URL` | 11.1 | 0.5 | Pipeline details URL |
| `CI_PROJECT_DIR` | all | all | The full path where the repository is cloned and where the job is run. If the GitLab Runner `builds_dir` parameter is set, this variable is set relative to the value of `builds_dir`. For more information, see [Advanced configuration](https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runners-section) for GitLab Runner. |
-| `CI_PROJECT_ID` | all | all | The unique id of the current project that GitLab CI/CD uses internally |
+| `CI_PROJECT_ID` | all | all | The unique ID of the current project that GitLab CI/CD uses internally |
| `CI_PROJECT_NAME` | 8.10 | 0.5 | The name of the directory for the project that is currently being built. For example, if the project URL is `gitlab.example.com/group-name/project-1`, the `CI_PROJECT_NAME` would be `project-1`. |
| `CI_PROJECT_NAMESPACE` | 8.10 | 0.5 | The project namespace (username or groupname) that is currently being built |
| `CI_PROJECT_PATH` | 8.10 | 0.5 | The namespace with project name |
@@ -110,7 +111,7 @@ future GitLab releases.**
| `CI_REPOSITORY_URL` | 9.0 | all | The URL to clone the Git repository |
| `CI_RUNNER_DESCRIPTION` | 8.10 | 0.5 | The description of the runner as saved in GitLab |
| `CI_RUNNER_EXECUTABLE_ARCH` | all | 10.6 | The OS/architecture of the GitLab Runner executable (note that this is not necessarily the same as the environment of the executor) |
-| `CI_RUNNER_ID` | 8.10 | 0.5 | The unique id of runner being used |
+| `CI_RUNNER_ID` | 8.10 | 0.5 | The unique ID of runner being used |
| `CI_RUNNER_REVISION` | all | 10.6 | GitLab Runner revision that is executing the current job |
| `CI_RUNNER_SHORT_TOKEN` | all | 12.3 | First eight characters of GitLab Runner's token used to authenticate new job requests. Used as Runner's unique ID |
| `CI_RUNNER_TAGS` | 8.10 | 0.5 | The defined runner tags |
@@ -131,7 +132,7 @@ future GitLab releases.**
| `GITLAB_CI` | all | all | Mark that job is executed in GitLab CI/CD environment |
| `GITLAB_FEATURES` | 10.6 | all | The comma separated list of licensed features available for your instance and plan |
| `GITLAB_USER_EMAIL` | 8.12 | all | The email of the user who started the job |
-| `GITLAB_USER_ID` | 8.12 | all | The id of the user who started the job |
+| `GITLAB_USER_ID` | 8.12 | all | The ID of the user who started the job |
| `GITLAB_USER_LOGIN` | 10.0 | all | The login username of the user who started the job |
| `GITLAB_USER_NAME` | 10.0 | all | The real name of the user who started the job |
| `RESTORE_CACHE_ATTEMPTS` | 8.15 | 1.9 | Number of attempts to restore the cache running a job |
diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md
index 1cf57fb9db2..507e548b8d8 100644
--- a/doc/ci/yaml/README.md
+++ b/doc/ci/yaml/README.md
@@ -1101,9 +1101,9 @@ useful is not available, please
### `only`/`except` (basic)
NOTE: **Note:**
-The [`rules`](#rules) syntax is now the preferred method of setting job policies.
-`only` and `except` are [candidates for deprecation](https://gitlab.com/gitlab-org/gitlab/issues/27449),
-and may be removed in the future.
+The [`rules`](#rules) syntax is an improved, more powerful solution for defining
+when jobs should run or not. Consider using `rules` instead of `only/except` to get
+the most out of your pipelines.
`only` and `except` are two parameters that set a job policy to limit when
jobs are created:
@@ -2240,7 +2240,12 @@ globally and all jobs will use that definition.
Use the `paths` directive to choose which files or directories will be cached. Paths
are relative to the project directory (`$CI_PROJECT_DIR`) and can't directly link outside it.
Wildcards can be used that follow the [glob](https://en.wikipedia.org/wiki/Glob_(programming))
-patterns and [`filepath.Match`](https://golang.org/pkg/path/filepath/#Match).
+patterns and:
+
+- In [GitLab Runner 13.0](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2620) and later,
+[`doublestar.Glob`](https://pkg.go.dev/github.com/bmatcuk/doublestar@v1.2.2?tab=doc#Match).
+- In GitLab Runner 12.10 and earlier,
+[`filepath.Match`](https://pkg.go.dev/path/filepath/#Match).
Cache all files in `binaries` that end in `.apk` and the `.config` file:
diff --git a/doc/development/README.md b/doc/development/README.md
index 0dd00525e0c..22644b77c06 100644
--- a/doc/development/README.md
+++ b/doc/development/README.md
@@ -218,6 +218,7 @@ Complementary reads:
- [Defining relations between files using projections](projections.md)
- [Reference processing](./reference_processing.md)
+- [Compatibility with multiple versions of the application running at the same time](multi_version_compatibility.md)
## Other GitLab Development Kit (GDK) guides
diff --git a/doc/development/code_review.md b/doc/development/code_review.md
index 8ea7e35dfb1..cd9ebc71ba7 100644
--- a/doc/development/code_review.md
+++ b/doc/development/code_review.md
@@ -468,6 +468,21 @@ When a merge request author has been blocked for longer than
the `Review-response` SLO, they are free to remind the reviewer through Slack or assign
another reviewer.
+### Customer critical merge requests
+
+A merge request may benefit from being considered a customer critical priority because there is a significant benefit to the business in doing so.
+
+Properties of customer critical merge requests:
+
+- The [Senior Director of Development](https://about.gitlab.com/job-families/engineering/engineering-management/#senior-director-engineering) ([@clefelhocz1](https://gitlab.com/clefelhocz1)) is the DRI for deciding if a merge request will be customer critical.
+- The DRI will assign the `customer-critical-merge-request` label to the merge request.
+- It is required that the reviewer(s) and maintainer(s) involved with a customer critical merge request are engaged as soon as this decision is made.
+- It is required to prioritize work for those involved on a customer critical merge request so that they have the time available necessary to focus on it.
+- It is required to adhere to GitLab [values](https://about.gitlab.com/handbook/values.md) and processes when working on customer critical merge requests, taking particular note of family and friends first/work second, definition of done, iteration, and release when it's ready.
+- Customer critical merge requests are required to not reduce security, introduce data-loss risk, reduce availability, nor break existing functionality per the process for [prioritizing technical decisions](https://about.gitlab.com/handbook/engineering/#prioritizing-technical-decisions.md).
+- On customer critical requests, it is _recommended_ that those involved _consider_ coordinating synchronously (Zoom, Slack) in addition to asynchronously (merge requests comments) if they believe this will reduce elapsed time to merge even though this _may_ sacrifice [efficiency](https://about.gitlab.com/company/culture/all-remote/asynchronous/#evaluating-efficiency.md).
+- After a customer critical merge request is merged, a retrospective must be completed with the intention of reducing the frequency of future customer critical merge requests.
+
## Examples
How code reviews are conducted can surprise new contributors. Here are some examples of code reviews that should help to orient you as to what to expect.
diff --git a/doc/development/documentation/styleguide.md b/doc/development/documentation/styleguide.md
index e478234df1d..ab57ff686b5 100644
--- a/doc/development/documentation/styleguide.md
+++ b/doc/development/documentation/styleguide.md
@@ -248,12 +248,6 @@ GitLab documentation should be clear and easy to understand.
- Be clear, concise, and stick to the goal of the documentation.
- Write in US English with US grammar.
- Use inclusive language.
-- Avoid jargon.
-- Avoid uncommon words.
-- Don't write in the first person singular.
- - Instead of "I" or "me," use "we," "you," "us," or "one."
- - When possible, stay user focused by writing in the second person ("you" or the imperative).
-- Don't overuse "that". In many cases, you can remove "that" from a sentence and improve readability.
### Point of view
@@ -287,25 +281,52 @@ because it’s friendly and easy to understand.
Some features are also objects. For example, "GitLab's Merge Requests support X" and
"Create a new merge request for Z."
+### Language to avoid
+
+When creating documentation, limit or avoid the use of the following verb
+tenses, words, and phrases:
+
+- Avoid jargon.
+- Avoid uncommon words.
+- Don't write in the first person singular.
+ - Instead of "I" or "me," use "we," "you," "us," or "one."
+ - When possible, stay user focused by writing in the second person ("you" or
+ the imperative).
+- Don't overuse "that". In many cases, you can remove "that" from a sentence
+ and improve readability.
- Avoid use of the future tense:
- - Instead of "after you execute this command, GitLab will display the result", use "after you execute this command, GitLab displays the result".
- - Only use the future tense to convey when the action or result will actually occur at a future time.
-- Do not use slashes to clump different words together or as a replacement for the word "or":
- - Instead of "and/or," consider using "or," or use another sensible construction.
- - Other examples include "clone/fetch," author/assignee," and "namespace/repository name." Break apart any such instances in an appropriate way.
- - Exceptions to this rule include commonly accepted technical terms such as CI/CD, TCP/IP, and so on.
-- Do not use "may" and "might" interchangeably:
- - Use "might" to indicate the probability of something occurring. "If you skip this step, the import process might fail."
- - Use "may" to indicate giving permission for someone to do something, or consider using "can" instead. "You may select either option on this screen." Or, "you can select either option on this screen."
+ - Instead of "after you execute this command, GitLab will display the
+ result", use "after you execute this command, GitLab displays the result".
+ - Only use the future tense to convey when the action or result will actually
+ occur at a future time.
+- Don't use slashes to clump different words together or as a replacement for
+ the word "or":
+ - Instead of "and/or," consider using "or," or use another sensible
+ construction.
+ - Other examples include "clone/fetch," author/assignee," and
+ "namespace/repository name." Break apart any such instances in an
+ appropriate way.
+ - Exceptions to this rule include commonly accepted technical terms, such as
+ CI/CD and TCP/IP.
- We discourage use of Latin abbreviations, such as "e.g.," "i.e.," or "etc.,"
-as even native users of English might misunderstand them.
+ as even native users of English might misunderstand them.
- Instead of "i.e.," use "that is."
- Instead of "e.g.," use "for example," "such as," "for instance," or "like."
- - Instead of "etc.," either use "and so on" or consider editing it out, since it can be vague.
-- Avoid using the word *Currently* when talking about the product or its
+ - Instead of "etc.," either use "and so on" or consider editing it out, since
+ it can be vague.
+- Avoid using the word *currently* when talking about the product or its
features. The documentation describes the product as it is, and not as it
will be at some indeterminate point in the future.
+### Word usage clarifications
+
+- Don't use "may" and "might" interchangeably:
+ - Use "might" to indicate the probability of something occurring. "If you
+ skip this step, the import process might fail."
+ - Use "may" to indicate giving permission for someone to do something, or
+ consider using "can" instead. "You may select either option on this
+ screen." Or, "You can select either option on this screen."
+
### Contractions
- Use common contractions when it helps create a friendly and informal tone, especially in tutorials, instructional documentation, and [UIs](https://design.gitlab.com/content/punctuation/#contractions).
@@ -1008,7 +1029,7 @@ of language classes available.
| `ruby` | Alias: `rb`. |
| `shell` | Aliases: `bash` or `sh`. |
| `sql` | |
-| `toml` | Runner configuration examples, and other toml formatted configuration files. |
+| `toml` | Runner configuration examples, and other TOML-formatted configuration files. |
| `typescript` | Alias: `ts`. |
| `xml` | |
| `yaml` | Alias: `yml`. |
@@ -1641,7 +1662,7 @@ curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "title=
```
The above example is run by and administrator and will add an SSH public key
-titled `ssh-key` to user's account which has an id of 25.
+titled `ssh-key` to user's account which has an ID of 25.
#### Escape special characters
diff --git a/doc/development/emails.md b/doc/development/emails.md
index 4f9af7d2839..01e39a13e4d 100644
--- a/doc/development/emails.md
+++ b/doc/development/emails.md
@@ -85,7 +85,7 @@ for the format of the email key:
- Actions are always at the end, separated by `-`. For example `-issue` or `-merge-request`
- If your feature is related to a project, the key begins with the project identifiers (project path slug
- and project id), separated by `-`. For example, `gitlab-org-gitlab-foss-20`
+ and project ID), separated by `-`. For example, `gitlab-org-gitlab-foss-20`
- Additional information, such as an author's token, can be added between the project identifiers and
the action, separated by `-`. For example, `gitlab-org-gitlab-foss-20-Author_Token12345678-issue`
- You register your handlers in `lib/gitlab/email/handler.rb`
diff --git a/doc/development/fe_guide/style/vue.md b/doc/development/fe_guide/style/vue.md
index 5ac289c42a8..46305cc7217 100644
--- a/doc/development/fe_guide/style/vue.md
+++ b/doc/development/fe_guide/style/vue.md
@@ -325,7 +325,7 @@ When using `v-for` you need to provide a *unique* `:key` attribute for each item
</div>
```
-1. When the elements being iterated don't have a unique id, you can use the array index as the `:key` attribute
+1. When the elements being iterated don't have a unique ID, you can use the array index as the `:key` attribute
```html
<div
diff --git a/doc/development/fe_guide/vue.md b/doc/development/fe_guide/vue.md
index 83871f5c98e..ce5e14bfe87 100644
--- a/doc/development/fe_guide/vue.md
+++ b/doc/development/fe_guide/vue.md
@@ -321,7 +321,7 @@ One should apply to be a Vue.js expert by opening an MR when the Merge Request's
- Deep understanding of Vue and Vuex reactivity
- Vue and Vuex code are structured according to both official and our guidelines
- Full understanding of testing a Vue and Vuex application
-- Vuex code follows the [documented pattern](vuex.md#actions-pattern-request-and-receive-namespaces)
+- Vuex code follows the [documented pattern](vuex.md#naming-pattern-request-and-receive-namespaces)
- Knowledge about the existing Vue and Vuex applications and existing reusable components
## Vue 2 -> Vue 3 Migration
diff --git a/doc/development/fe_guide/vue3_migration.md b/doc/development/fe_guide/vue3_migration.md
index 1292926d951..65b6b460de5 100644
--- a/doc/development/fe_guide/vue3_migration.md
+++ b/doc/development/fe_guide/vue3_migration.md
@@ -12,11 +12,11 @@ Filters [are removed](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0015
Component's computed properties / methods or external helpers.
-## Event bus
+## Event hub
**Why?**
-`$on` and `$off` methods [are removed](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0020-events-api-change.md) from the Vue instance, so in Vue 3 it can't be used to create an event bus.
+`$on` and `$off` methods [are removed](https://github.com/vuejs/rfcs/blob/master/active-rfcs/0020-events-api-change.md) from the Vue instance, so in Vue 3 it can't be used to create an event hub.
**What to use instead**
@@ -43,6 +43,21 @@ emitter.on('foo', onFoo) // listen
emitter.off('foo', onFoo) // unlisten
```
+**Event hub factory**
+
+To make it easier for you to migrate existing event hubs to the new recommended approach, or simply
+to create new ones, we have created a factory that you can use to instantiate a new mitt-based
+event hub.
+
+```javascript
+import createEventHub from '~/helpers/event_hub_factory';
+
+export default createEventHub();
+```
+
+Event hubs created with the factory expose the same methods as Vue 2 event hubs (`$on`, `$off` and
+`$emit`), making them backward compatible with our previous approach.
+
## <template functional>
**Why?**
diff --git a/doc/development/fe_guide/vuex.md b/doc/development/fe_guide/vuex.md
index ea59c3c7a2b..e7be67b8da5 100644
--- a/doc/development/fe_guide/vuex.md
+++ b/doc/development/fe_guide/vuex.md
@@ -86,71 +86,35 @@ You can use `mapState` to access state properties in the components.
An action is a payload of information to send data from our application to our store.
-An action is usually composed by a `type` and a `payload` and they describe what happened.
-Enforcing that every change is described as an action lets us have a clear understanding of what is going on in the app.
+An action is usually composed by a `type` and a `payload` and they describe what happened. Unlike [mutations](#mutationsjs), actions can contain asynchronous operations - that's why we always need to handle asynchronous logic in actions.
-In this file, we will write the actions that will call the respective mutations:
+In this file, we will write the actions that will call mutations for handling a list of users:
```javascript
import * as types from './mutation_types';
import axios from '~/lib/utils/axios_utils';
import createFlash from '~/flash';
- export const requestUsers = ({ commit }) => commit(types.REQUEST_USERS);
- export const receiveUsersSuccess = ({ commit }, data) => commit(types.RECEIVE_USERS_SUCCESS, data);
- export const receiveUsersError = ({ commit }, error) => commit(types.RECEIVE_USERS_ERROR, error);
-
export const fetchUsers = ({ state, dispatch }) => {
- dispatch('requestUsers');
+ commit(types.REQUEST_USERS);
axios.get(state.endpoint)
- .then(({ data }) => dispatch('receiveUsersSuccess', data))
+ .then(({ data }) => commit(types.RECEIVE_USERS_SUCCESS, data))
.catch((error) => {
- dispatch('receiveUsersError', error)
+ commit(types.RECEIVE_USERS_ERROR, error)
createFlash('There was an error')
});
}
- export const requestAddUser = ({ commit }) => commit(types.REQUEST_ADD_USER);
- export const receiveAddUserSuccess = ({ commit }, data) => commit(types.RECEIVE_ADD_USER_SUCCESS, data);
- export const receiveAddUserError = ({ commit }, error) => commit(types.REQUEST_ADD_USER_ERROR, error);
-
export const addUser = ({ state, dispatch }, user) => {
- dispatch('requestAddUser');
+ commit(types.REQUEST_ADD_USER);
axios.post(state.endpoint, user)
- .then(({ data }) => dispatch('receiveAddUserSuccess', data))
- .catch((error) => dispatch('receiveAddUserError', error));
+ .then(({ data }) => commit(types.RECEIVE_ADD_USER_SUCCESS, data))
+ .catch((error) => commit(types.REQUEST_ADD_USER_ERROR, error));
}
```
-#### Actions Pattern: `request` and `receive` namespaces
-
-When a request is made we often want to show a loading state to the user.
-
-Instead of creating an action to toggle the loading state and dispatch it in the component,
-create:
-
-1. An action `requestSomething`, to toggle the loading state
-1. An action `receiveSomethingSuccess`, to handle the success callback
-1. An action `receiveSomethingError`, to handle the error callback
-1. An action `fetchSomething` to make the request.
- 1. In case your application does more than a `GET` request you can use these as examples:
- - `POST`: `createSomething`
- - `PUT`: `updateSomething`
- - `DELETE`: `deleteSomething`
-
-The component MUST only dispatch the `fetchNamespace` action. Actions namespaced with `request` or `receive` should not be called from the component
-The `fetch` action will be responsible to dispatch `requestNamespace`, `receiveNamespaceSuccess` and `receiveNamespaceError`
-
-By following this pattern we guarantee:
-
-1. All applications follow the same pattern, making it easier for anyone to maintain the code
-1. All data in the application follows the same lifecycle pattern
-1. Actions are contained and human friendly
-1. Unit tests are easier
-1. Actions are simple and straightforward
-
#### Dispatching actions
To dispatch an action from a component, use the `mapActions` helper:
@@ -181,6 +145,8 @@ Remember that actions only describe that something happened, they don't describe
**Never commit a mutation directly from a component**
+Instead, you should create an action that will commit a mutation.
+
```javascript
import * as types from './mutation_types';
@@ -210,6 +176,31 @@ Remember that actions only describe that something happened, they don't describe
};
```
+#### Naming Pattern: `REQUEST` and `RECEIVE` namespaces
+
+When a request is made we often want to show a loading state to the user.
+
+Instead of creating an mutation to toggle the loading state, we should:
+
+1. A mutation with type `REQUEST_SOMETHING`, to toggle the loading state
+1. A mutation with type `RECEIVE_SOMETHING_SUCCESS`, to handle the success callback
+1. A mutation with type `RECEIVE_SOMETHING_ERROR`, to handle the error callback
+1. An action `fetchSomething` to make the request and commit mutations on mentioned cases
+ 1. In case your application does more than a `GET` request you can use these as examples:
+ - `POST`: `createSomething`
+ - `PUT`: `updateSomething`
+ - `DELETE`: `deleteSomething`
+
+As a result, we can dispatch the `fetchNamespace` action from the component and it will be responsible to commit `REQUEST_NAMESPACE`, `RECEIVE_NAMESPACE_SUCCESS` and `RECEIVE_NAMESPACE_ERROR` mutations.
+
+> Previously, we were dispatching actions from the `fetchNamespace` action instead of committing mutation, so please don't be confused if you find a different pattern in the older parts of the codebase. However, we encourage leveraging a new pattern whenever you write new Vuex stores
+
+By following this pattern we guarantee:
+
+1. All applications follow the same pattern, making it easier for anyone to maintain the code
+1. All data in the application follows the same lifecycle pattern
+1. Unit tests are easier
+
### `getters.js`
Sometimes we may need to get derived state based on store state, like filtering for a specific prop.
diff --git a/doc/development/file_storage.md b/doc/development/file_storage.md
index 230288844d7..8e70a0c8c09 100644
--- a/doc/development/file_storage.md
+++ b/doc/development/file_storage.md
@@ -30,18 +30,18 @@ they are still not 100% standardized. You can see them below:
| Description | In DB? | Relative path (from CarrierWave.root) | Uploader class | model_type |
| ------------------------------------- | ------ | ----------------------------------------------------------- | ---------------------- | ---------- |
-| Instance logo | yes | uploads/-/system/appearance/logo/:id/:filename | `AttachmentUploader` | Appearance |
-| Header logo | yes | uploads/-/system/appearance/header_logo/:id/:filename | `AttachmentUploader` | Appearance |
-| Group avatars | yes | uploads/-/system/group/avatar/:id/:filename | `AvatarUploader` | Group |
-| User avatars | yes | uploads/-/system/user/avatar/:id/:filename | `AvatarUploader` | User |
-| User snippet attachments | yes | uploads/-/system/personal_snippet/:id/:random_hex/:filename | `PersonalFileUploader` | Snippet |
-| Project avatars | yes | uploads/-/system/project/avatar/:id/:filename | `AvatarUploader` | Project |
-| Issues/MR/Notes Markdown attachments | yes | uploads/:project_path_with_namespace/:random_hex/:filename | `FileUploader` | Project |
-| Issues/MR/Notes Legacy Markdown attachments | no | uploads/-/system/note/attachment/:id/:filename | `AttachmentUploader` | Note |
-| Design Management design thumbnails (EE) | yes | uploads/-/system/design_management/action/image_v432x230/:id/:filename | `DesignManagement::DesignV432x230Uploader` | DesignManagement::Action |
-| CI Artifacts (CE) | yes | `shared/artifacts/:disk_hash[0..1]/:disk_hash[2..3]/:disk_hash/:year_:month_:date/:job_id/:job_artifact_id` (:disk_hash is SHA256 digest of project_id) | `JobArtifactUploader` | Ci::JobArtifact |
-| LFS Objects (CE) | yes | shared/lfs-objects/:hex/:hex/:object_hash | `LfsObjectUploader` | LfsObject |
-| External merge request diffs | yes | shared/external-diffs/merge_request_diffs/mr-:parent_id/diff-:id | `ExternalDiffUploader` | MergeRequestDiff |
+| Instance logo | yes | `uploads/-/system/appearance/logo/:id/:filename` | `AttachmentUploader` | Appearance |
+| Header logo | yes | `uploads/-/system/appearance/header_logo/:id/:filename` | `AttachmentUploader` | Appearance |
+| Group avatars | yes | `uploads/-/system/group/avatar/:id/:filename` | `AvatarUploader` | Group |
+| User avatars | yes | `uploads/-/system/user/avatar/:id/:filename` | `AvatarUploader` | User |
+| User snippet attachments | yes | `uploads/-/system/personal_snippet/:id/:random_hex/:filename` | `PersonalFileUploader` | Snippet |
+| Project avatars | yes | `uploads/-/system/project/avatar/:id/:filename` | `AvatarUploader` | Project |
+| Issues/MR/Notes Markdown attachments | yes | `uploads/:project_path_with_namespace/:random_hex/:filename` | `FileUploader` | Project |
+| Issues/MR/Notes Legacy Markdown attachments | no | `uploads/-/system/note/attachment/:id/:filename` | `AttachmentUploader` | Note |
+| Design Management design thumbnails (EE) | yes | `uploads/-/system/design_management/action/image_v432x230/:id/:filename` | `DesignManagement::DesignV432x230Uploader` | DesignManagement::Action |
+| CI Artifacts (CE) | yes | `shared/artifacts/:disk_hash[0..1]/:disk_hash[2..3]/:disk_hash/:year_:month_:date/:job_id/:job_artifact_id` (`:disk_hash` is SHA256 digest of `project_id`) | `JobArtifactUploader` | Ci::JobArtifact |
+| LFS Objects (CE) | yes | `shared/lfs-objects/:hex/:hex/:object_hash` | `LfsObjectUploader` | LfsObject |
+| External merge request diffs | yes | `shared/external-diffs/merge_request_diffs/mr-:parent_id/diff-:id` | `ExternalDiffUploader` | MergeRequestDiff |
CI Artifacts and LFS Objects behave differently in CE and EE. In CE they inherit the `GitlabUploader`
while in EE they inherit the `ObjectStorage` and store files in and S3 API compatible object store.
diff --git a/doc/development/i18n/externalization.md b/doc/development/i18n/externalization.md
index 66b0c8eb5e0..ba79c641995 100644
--- a/doc/development/i18n/externalization.md
+++ b/doc/development/i18n/externalization.md
@@ -536,9 +536,9 @@ The linter will take the following into account:
- Variable usage
- Only one unnamed (`%d`) variable, since the order of variables might change
in different languages
- - All variables used in the message-id are used in the translation
+ - All variables used in the message ID are used in the translation
- There should be no variables used in a translation that aren't in the
- message-id
+ message ID
- Errors during translation.
The errors are grouped per file, and per message ID:
@@ -562,7 +562,7 @@ Errors in `locale/zh_TW/gitlab.po`:
In this output the `locale/zh_HK/gitlab.po` has syntax errors.
The `locale/zh_TW/gitlab.po` has variables that are used in the translation that
-aren't in the message with id `1 pipeline`.
+aren't in the message with ID `1 pipeline`.
## Adding a new language
diff --git a/doc/development/internal_api.md b/doc/development/internal_api.md
index e8fca7535b0..5b53f223eb0 100644
--- a/doc/development/internal_api.md
+++ b/doc/development/internal_api.md
@@ -40,7 +40,7 @@ POST /internal/allowed
| Attribute | Type | Required | Description |
|:----------|:-------|:---------|:------------|
-| `key_id` | string | no | Id of the SSH-key used to connect to GitLab-shell |
+| `key_id` | string | no | ID of the SSH-key used to connect to GitLab-shell |
| `username` | string | no | Username from the certificate used to connect to GitLab-Shell |
| `project` | string | no (if `gl_repository` is passed) | Path to the project |
| `gl_repository` | string | no (if `project` is passed) | Path to the project |
@@ -93,7 +93,7 @@ information for LFS clients when the repository is accessed over SSH.
| Attribute | Type | Required | Description |
|:----------|:-------|:---------|:------------|
-| `key_id` | string | no | Id of the SSH-key used to connect to GitLab-shell |
+| `key_id` | string | no | ID of the SSH-key used to connect to GitLab-shell |
| `username`| string | no | Username from the certificate used to connect to GitLab-Shell |
| `project` | string | no | Path to the project |
@@ -151,14 +151,14 @@ Example response:
- GitLab-shell
-## Get user for user id or key
+## Get user for user ID or key
This endpoint is used when a user performs `ssh git@gitlab.com`. It
discovers the user associated with an SSH key.
| Attribute | Type | Required | Description |
|:----------|:-------|:---------|:------------|
-| `key_id` | integer | no | The id of the SSH key used as found in the authorized-keys file or through the `/authorized_keys` check |
+| `key_id` | integer | no | The ID of the SSH key used as found in the authorized-keys file or through the `/authorized_keys` check |
| `username` | string | no | Username of the user being looked up, used by GitLab-shell when authenticating using a certificate |
```plaintext
@@ -223,7 +223,7 @@ recovery codes based on their SSH key
| Attribute | Type | Required | Description |
|:----------|:-------|:---------|:------------|
-| `key_id` | integer | no | The id of the SSH key used as found in the authorized-keys file or through the `/authorized_keys` check |
+| `key_id` | integer | no | The ID of the SSH key used as found in the authorized-keys file or through the `/authorized_keys` check |
| `user_id` | integer | no | **Deprecated** User_id for which to generate new recovery codes |
```plaintext
diff --git a/doc/development/multi_version_compatibility.md b/doc/development/multi_version_compatibility.md
new file mode 100644
index 00000000000..aedd5c1ffb7
--- /dev/null
+++ b/doc/development/multi_version_compatibility.md
@@ -0,0 +1,62 @@
+# Compatibility with multiple versions of the application running at the same time
+
+When adding or changing features, we must be aware that there may be multiple versions of the application running
+at the same time and connected to the same PostgreSQL and Redis databases. This could happen during a rolling deploy
+when the servers are updated one by one.
+
+During a rolling deploy, post-deployment DB migrations are run after all the servers have been updated. This means the
+servers could be in these intermediate states:
+
+1. Old application code running with new DB migrations already executed
+1. New application code running with new DB migrations but without new post-deployment DB migrations
+
+We must make sure that the application works properly in these states.
+
+For GitLab.com, we also run a set of canary servers which run a more recent version of the application. Users with
+the canary cookie set would be handled by these servers. Some URL patterns may also be forced to the canary servers,
+even without the cookie being set. This also means that some pages may match the pattern and get handled by canary servers,
+but AJAX requests to URLs (like the GraphQL endpoint) won't match the pattern.
+
+With this canary setup, we'd be in this mixed-versions state for an extended period of time until canary is promoted to
+production and post-deployment migrations run.
+
+## Examples of previous incidents
+
+### Some links to issues and MRs were broken
+
+When we moved MR routes, users on the new servers were redirected to the new URLs. When these users shared these new URLs in
+Markdown (or anywhere else), they were broken links for users on the old servers.
+
+For more information, see [the relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/118840).
+
+### Stale cache in issue or merge request descriptions and comments
+
+We bumped the Markdown cache version and found a bug when a user edited a description or comment which was generated from a different Markdown
+cache version. The cached HTML wasn't generated properly after saving. In most cases, this wouldn't have happened because users would have
+viewed the Markdown before clicking **Edit** and that would mean the Markdown cache is refreshed. But because we run mixed versions, this is
+more likely to happen. Another user on a different version could view the same page and refresh the cache to the other version behind the scenes.
+
+For more information, see [the relevant issue](https://gitlab.com/gitlab-org/gitlab/-/issues/208255).
+
+### Project service templates incorrectly copied
+
+We changed the column which indicates whether a service is a template. When we create services, we copy attributes from the template
+and set this column to `false`. The old servers were still updating the old column, but that was fine because we had a DB trigger
+that updated the new column from the old one. For the new servers though, they were only updating the new column and that same trigger
+was now working against us and setting it back to the wrong value.
+
+For more information, see [the relevant issue](https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/9176).
+
+### Sidebar wasn't loading for some users
+
+We changed the data type of one GraphQL field. When a user opened an issue page from the new servers and the GraphQL AJAX request went
+to the old servers, a type mismatch happened, which resulted in a JavaScript error that prevented the sidebar from loading.
+
+For more information, see [the relevant issue](https://gitlab.com/gitlab-com/gl-infra/production/-/issues/1772).
+
+### CI artifact uploads were failing
+
+We added a `NOT NULL` constraint to a column and marked it as a `NOT VALID` constraint so that it is not enforced on existing rows.
+But even with that, this was still a problem because the old servers were still inserting new rows with null values.
+
+For more information, see [the relevant issue](https://gitlab.com/gitlab-com/gl-infra/production/-/issues/1944).
diff --git a/doc/development/namespaces_storage_statistics.md b/doc/development/namespaces_storage_statistics.md
index f175739e55e..d6b2a7460cd 100644
--- a/doc/development/namespaces_storage_statistics.md
+++ b/doc/development/namespaces_storage_statistics.md
@@ -111,11 +111,11 @@ Directly relate the root namespace to its child namespaces, so
whenever a namespace is created without a parent, this one is tagged
with the root namespace ID:
-| id | root_id | parent_id
-|:---|:--------|:----------
-| 1 | 1 | NULL
-| 2 | 1 | 1
-| 3 | 1 | 2
+| ID | root ID | parent ID |
+|:---|:--------|:----------|
+| 1 | 1 | NULL |
+| 2 | 1 | 1 |
+| 3 | 1 | 2 |
To aggregate the statistics inside a namespace we'd execute something like:
diff --git a/doc/development/ordering_table_columns.md b/doc/development/ordering_table_columns.md
index cbfd05e731d..b68602ea30d 100644
--- a/doc/development/ordering_table_columns.md
+++ b/doc/development/ordering_table_columns.md
@@ -77,64 +77,64 @@ always be at the end of a table.
Let's use the `events` table as an example, which currently has the following
layout:
-| Column | Type | Size |
-|:------------|:----------------------------|:---------|
-| id | integer | 4 bytes |
-| target_type | character varying | variable |
-| target_id | integer | 4 bytes |
-| title | character varying | variable |
-| data | text | variable |
-| project_id | integer | 4 bytes |
-| created_at | timestamp without time zone | 8 bytes |
-| updated_at | timestamp without time zone | 8 bytes |
-| action | integer | 4 bytes |
-| author_id | integer | 4 bytes |
+| Column | Type | Size |
+|:--------------|:----------------------------|:---------|
+| `id` | integer | 4 bytes |
+| `target_type` | character varying | variable |
+| `target_id` | integer | 4 bytes |
+| `title` | character varying | variable |
+| `data` | text | variable |
+| `project_id` | integer | 4 bytes |
+| `created_at` | timestamp without time zone | 8 bytes |
+| `updated_at` | timestamp without time zone | 8 bytes |
+| `action` | integer | 4 bytes |
+| `author_id` | integer | 4 bytes |
After adding padding to align the columns this would translate to columns being
divided into fixed size chunks as follows:
-| Chunk Size | Columns |
-|:-----------|:------------------|
-| 8 bytes | id |
-| variable | target_type |
-| 8 bytes | target_id |
-| variable | title |
-| variable | data |
-| 8 bytes | project_id |
-| 8 bytes | created_at |
-| 8 bytes | updated_at |
-| 8 bytes | action, author_id |
+| Chunk Size | Columns |
+|:-----------|:----------------------|
+| 8 bytes | `id` |
+| variable | `target_type` |
+| 8 bytes | `target_id` |
+| variable | `title` |
+| variable | `data` |
+| 8 bytes | `project_id` |
+| 8 bytes | `created_at` |
+| 8 bytes | `updated_at` |
+| 8 bytes | `action`, `author_id` |
This means that excluding the variable sized data and tuple header, we need at
least 8 * 6 = 48 bytes per row.
We can optimise this by using the following column order instead:
-| Column | Type | Size |
-|:------------|:----------------------------|:---------|
-| created_at | timestamp without time zone | 8 bytes |
-| updated_at | timestamp without time zone | 8 bytes |
-| id | integer | 4 bytes |
-| target_id | integer | 4 bytes |
-| project_id | integer | 4 bytes |
-| action | integer | 4 bytes |
-| author_id | integer | 4 bytes |
-| target_type | character varying | variable |
-| title | character varying | variable |
-| data | text | variable |
+| Column | Type | Size |
+|:--------------|:----------------------------|:---------|
+| `created_at` | timestamp without time zone | 8 bytes |
+| `updated_at` | timestamp without time zone | 8 bytes |
+| `id` | integer | 4 bytes |
+| `target_id` | integer | 4 bytes |
+| `project_id` | integer | 4 bytes |
+| `action` | integer | 4 bytes |
+| `author_id` | integer | 4 bytes |
+| `target_type` | character varying | variable |
+| `title` | character varying | variable |
+| `data` | text | variable |
This would produce the following chunks:
-| Chunk Size | Columns |
-|:-----------|:-------------------|
-| 8 bytes | created_at |
-| 8 bytes | updated_at |
-| 8 bytes | id, target_id |
-| 8 bytes | project_id, action |
-| 8 bytes | author_id |
-| variable | target_type |
-| variable | title |
-| variable | data |
+| Chunk Size | Columns |
+|:-----------|:-----------------------|
+| 8 bytes | `created_at` |
+| 8 bytes | `updated_at` |
+| 8 bytes | `id`, `target_id` |
+| 8 bytes | `project_id`, `action` |
+| 8 bytes | `author_id` |
+| variable | `target_type` |
+| variable | `title` |
+| variable | `data` |
Here we only need 40 bytes per row excluding the variable sized data and 24-byte
tuple header. 8 bytes being saved may not sound like much, but for tables as
diff --git a/doc/development/packages.md b/doc/development/packages.md
index 8614f78d836..11fc3faf4ab 100644
--- a/doc/development/packages.md
+++ b/doc/development/packages.md
@@ -74,7 +74,7 @@ It is using the top-level group or namespace as the defining portion of the name
To avoid name conflict for instance-level endpoints you will need to define a package naming convention
that gives a way to identify the project that the package belongs to. This generally involves using the project
-id or full project path in the package name. See
+ID or full project path in the package name. See
[Conan's naming convention](../user/packages/conan_repository/index.md#package-recipe-naming-convention) as an example.
For group and project-level endpoints, naming can be less constrained and it will be up to the group and project
@@ -196,8 +196,8 @@ information like the file `name`, `side`, `sha1`, etc.
If there is specific data necessary to be stored for only one package system support,
consider creating a separate metadata model. See `packages_maven_metadata` table
-and `Packages::MavenMetadatum` model as an example for package specific data, and `packages_conan_file_metadata` table
-and `Packages::ConanFileMetadatum` model as an example for package file specific data.
+and `Packages::Maven::Metadatum` model as an example for package specific data, and `packages_conan_file_metadata` table
+and `Packages::Conan::FileMetadatum` model as an example for package file specific data.
If there is package specific behavior for a given package manager, add those methods to the metadata models and
delegate from the package model.
diff --git a/doc/development/pipelines.md b/doc/development/pipelines.md
index 701262dbf1f..d15ac8d5320 100644
--- a/doc/development/pipelines.md
+++ b/doc/development/pipelines.md
@@ -132,6 +132,7 @@ and included in `rules` definitions via [YAML anchors](../ci/yaml/README.md#anch
| `changes:` patterns | Description |
|------------------------------|--------------------------------------------------------------------------|
+| `ci-patterns` | Only create job for CI config-related changes. |
| `yaml-patterns` | Only create job for YAML-related changes. |
| `docs-patterns` | Only create job for docs-related changes. |
| `frontend-dependency-patterns` | Only create job when frontend dependencies are updated (i.e. `package.json`, and `yarn.lock`). changes. |
@@ -384,7 +385,7 @@ graph RL;
subgraph "Needs `gitlab:assets:compile`";
2_3-1 --> 1-5
end
-
+
subgraph "Needs `build-qa-image` & `build-assets-image`";
2_4-1["package-and-qa (manual)"] --> 1-2 & 2_3-1;
click 2_4-1 "https://app.periscopedata.com/app/gitlab/652085/Engineering-Productivity---Pipeline-Build-Durations?widget=6914305&udv=0"
diff --git a/doc/development/polymorphic_associations.md b/doc/development/polymorphic_associations.md
index 5d69c8add38..b6567704d8e 100644
--- a/doc/development/polymorphic_associations.md
+++ b/doc/development/polymorphic_associations.md
@@ -4,7 +4,7 @@
Rails makes it possible to define so called "polymorphic associations". This
usually works by adding two columns to a table: a target type column, and a
-target id. For example, at the time of writing we have such a setup for
+target ID. For example, at the time of writing we have such a setup for
`members` with the following columns:
- `source_type`: a string defining the model to use, can be either `Project` or
diff --git a/doc/development/what_requires_downtime.md b/doc/development/what_requires_downtime.md
index 9ece6eff41e..c5cb699317e 100644
--- a/doc/development/what_requires_downtime.md
+++ b/doc/development/what_requires_downtime.md
@@ -171,8 +171,39 @@ Adding or removing a NOT NULL clause (or another constraint) can typically be
done without requiring downtime. However, this does require that any application
changes are deployed _first_. Thus, changing the constraints of a column should
happen in a post-deployment migration.
-NOTE: Avoid using `change_column` as it produces inefficient query because it re-defines
-the whole column type. For example, to add a NOT NULL constraint, prefer `change_column_null`
+
+NOTE: Avoid using `change_column` as it produces an inefficient query because it re-defines
+the whole column type.
+
+To add a NOT NULL constraint, use the `add_not_null_constraint` migration helper:
+
+```ruby
+# A post-deployment migration in db/post_migrate
+class AddNotNull < ActiveRecord::Migration[4.2]
+ include Gitlab::Database::MigrationHelpers
+
+ disable_ddl_transaction!
+
+ def up
+ add_not_null_constraint :users, :username
+ end
+
+ def down
+ remove_not_null_constraint :users, :username
+ end
+end
+```
+
+If the column to be updated requires cleaning first (e.g. there are `NULL` values), you should:
+
+1. Add the `NOT NULL` constraint with `validate: false`
+
+ `add_not_null_constraint :users, :username, validate: false`
+
+1. Clean up the data with a data migration
+1. Validate the `NOT NULL` constraint with a followup migration
+
+ `validate_not_null_constraint :users, :username`
## Changing Column Types
diff --git a/doc/install/requirements.md b/doc/install/requirements.md
index e3981b6b92b..27a65fe8181 100644
--- a/doc/install/requirements.md
+++ b/doc/install/requirements.md
@@ -11,10 +11,10 @@ as the hardware requirements that are needed to install and use GitLab.
### Supported Linux distributions
-- Ubuntu
-- Debian
-- CentOS
-- openSUSE
+- Ubuntu (16.04/18.04)
+- Debian (8/9/10)
+- CentOS (6/7/8)
+- openSUSE (Leap 15.1/Enterprise Server 12.2)
- Red Hat Enterprise Linux (please use the CentOS packages and instructions)
- Scientific Linux (please use the CentOS packages and instructions)
- Oracle Linux (please use the CentOS packages and instructions)
diff --git a/doc/integration/gitlab.md b/doc/integration/gitlab.md
index 4e62f6389c8..f423863ce8e 100644
--- a/doc/integration/gitlab.md
+++ b/doc/integration/gitlab.md
@@ -24,9 +24,8 @@ GitLab.com will generate an application ID and secret key for you to use.
1. Select **Save application**.
-1. You should now see a **Application Id** and **Secret** near the top right of the page (see screenshot).
- Keep this page open as you continue configuration.
- ![GitLab app](img/gitlab_app.png)
+1. You should now see an **Application ID** and **Secret**. Keep this page open as you continue
+ configuration.
1. On your GitLab server, open the configuration file.
diff --git a/doc/integration/img/gitlab_app.png b/doc/integration/img/gitlab_app.png
deleted file mode 100644
index 228e8a01305..00000000000
--- a/doc/integration/img/gitlab_app.png
+++ /dev/null
Binary files differ
diff --git a/doc/integration/jira_development_panel.md b/doc/integration/jira_development_panel.md
index 188eca6b6a9..e9b1c9676bd 100644
--- a/doc/integration/jira_development_panel.md
+++ b/doc/integration/jira_development_panel.md
@@ -56,13 +56,16 @@ There are no special requirements if you are using GitLab.com.
this would be `https://gitlab.com/login/oauth/callback`.
NOTE: **Note**:
- If using a GitLab version earlier than 11.3 the `Redirect URI` value should be `https://<your-gitlab-instance-domain>/-/jira/login/oauth/callback`.
+ If using a GitLab version earlier than 11.3, the `Redirect URI` must be
+ `https://<your-gitlab-instance-domain>/-/jira/login/oauth/callback`. If you want Jira
+ to have access to all projects, GitLab recommends an administrator creates the
+ Application.
![GitLab Application setup](img/jira_dev_panel_gl_setup_1.png)
- Check `api` in the Scopes section.
-1. Click `Save application`. You will see the generated 'Application Id' and 'Secret' values.
+1. Click `Save application`. You will see the generated 'Application ID' and 'Secret' values.
Copy these values that you will use on the Jira configuration side.
## Jira Configuration
diff --git a/doc/integration/slash_commands.md b/doc/integration/slash_commands.md
index 11abf3ca203..c73db32a42a 100644
--- a/doc/integration/slash_commands.md
+++ b/doc/integration/slash_commands.md
@@ -14,11 +14,11 @@ Taking the trigger term as `project-name`, the commands are:
| ------- | ------ |
| `/project-name help` | Shows all available slash commands |
| `/project-name issue new <title> <shift+return> <description>` | Creates a new issue with title `<title>` and description `<description>` |
-| `/project-name issue show <id>` | Shows the issue with id `<id>` |
-| `/project-name issue close <id>` | Closes the issue with id `<id>` |
+| `/project-name issue show <id>` | Shows the issue with ID `<id>` |
+| `/project-name issue close <id>` | Closes the issue with ID `<id>` |
| `/project-name issue search <query>` | Shows up to 5 issues matching `<query>` |
| `/project-name issue move <id> to <project>` | Moves issue ID `<id>` to `<project>` |
-| `/project-name issue comment <id> <shift+return> <comment>` | Adds a new comment to an issue with id `<id>` and comment body `<comment>` |
+| `/project-name issue comment <id> <shift+return> <comment>` | Adds a new comment to an issue with ID `<id>` and comment body `<comment>` |
| `/project-name deploy <from> to <to>` | Deploy from the `<from>` environment to the `<to>` environment |
| `/project-name run <job name> <arguments>` | Execute [ChatOps](../ci/chatops/README.md) job `<job name>` on `master` |
diff --git a/doc/integration/sourcegraph.md b/doc/integration/sourcegraph.md
index 3f5ea04f491..90e9c7b9534 100644
--- a/doc/integration/sourcegraph.md
+++ b/doc/integration/sourcegraph.md
@@ -117,7 +117,7 @@ for updates.
### Sourcegraph isn't working
-If you enabled Sourcegraph for your project but still it doesn't looklike it's working, it might be because Sourcegraph has not indexed theproject yet. You can check for Sourcegraph's availability of your project by visiting `https://sourcegraph.com/gitlab.com/<project-path>`replacing `<project-path>` with the path to your GitLab project.
+If you enabled Sourcegraph for your project but still it doesn't look like it's working, it might be because Sourcegraph has not indexed the project yet. You can check for Sourcegraph's availability of your project by visiting `https://sourcegraph.com/gitlab.com/<project-path>`replacing `<project-path>` with the path to your GitLab project.
## Sourcegraph and Privacy
diff --git a/doc/raketasks/cleanup.md b/doc/raketasks/cleanup.md
index e40fa1a9ef1..7908af8da84 100644
--- a/doc/raketasks/cleanup.md
+++ b/doc/raketasks/cleanup.md
@@ -179,3 +179,8 @@ sudo gitlab-rake gitlab:cleanup:sessions:active_sessions_lookup_keys
# installation from source
bundle exec rake gitlab:cleanup:sessions:active_sessions_lookup_keys RAILS_ENV=production
```
+
+## Container Registry garbage collection
+
+Container Registry can use considerable amounts of disk space. To clear up
+unused layers, the registry includes a [garbage collect command](../administration/packages/container_registry.md#container-registry-garbage-collection).
diff --git a/doc/security/rack_attack.md b/doc/security/rack_attack.md
index 9ce2a9bb1ae..5d18746e4e0 100644
--- a/doc/security/rack_attack.md
+++ b/doc/security/rack_attack.md
@@ -36,27 +36,20 @@ will be enabled:
### Protected paths throttle
-NOTE: **Note:** Omnibus GitLab protected paths throttle is deprecated and is scheduled for removal in
-GitLab 13.0. Please refer to [Migrate settings from GitLab 12.3 and earlier](../user/admin_area/settings/protected_paths.md#migrate-settings-from-gitlab-123-and-earlier).
-
GitLab responds with HTTP status code `429` to POST requests at protected paths
that exceed 10 requests per minute per IP address.
By default, protected paths are:
-```ruby
-default['gitlab']['gitlab-rails']['rack_attack_protected_paths'] = [
- '/users/password',
- '/users/sign_in',
- '/api/#{API::API.version}/session.json',
- '/api/#{API::API.version}/session',
- '/users',
- '/users/confirmation',
- '/unsubscribes/',
- '/import/github/personal_access_token',
- '/admin/session'
-]
-```
+- `/users/password`
+- `/users/sign_in`
+- `/api/#{API::API.version}/session.json`
+- `/api/#{API::API.version}/session`
+- `/users`
+- `/users/confirmation`
+- `/unsubscribes/`
+- `/import/github/personal_access_token`
+- `/admin/session`
This header is included in responses to blocked requests:
@@ -141,9 +134,6 @@ taken in order to enable protection for your GitLab instance:
config.middleware.use Rack::Attack
```
-1. Copy `config/initializers/rack_attack.rb.example` to `config/initializers/rack_attack.rb`
-1. Open `config/initializers/rack_attack.rb`, review the
- `paths_to_be_protected`, and add any other path you need protecting
1. Restart GitLab:
```shell
diff --git a/doc/topics/authentication/index.md b/doc/topics/authentication/index.md
index 429658984ab..e4b86a39385 100644
--- a/doc/topics/authentication/index.md
+++ b/doc/topics/authentication/index.md
@@ -38,7 +38,8 @@ This page gathers all the resources for the topic **Authentication** within GitL
## API
- [OAuth 2 Tokens](../../api/README.md#oauth2-tokens)
-- [Personal access tokens](../../api/README.md#personal-access-tokens)
+- [Personal access tokens](../../api/README.md#personalproject-access-tokens)
+- [Project access tokens](../../api/README.md#personalproject-access-tokens) **(CORE ONLY)**
- [Impersonation tokens](../../api/README.md#impersonation-tokens)
- [GitLab as an OAuth2 provider](../../api/oauth2.md#gitlab-as-an-oauth2-provider)
diff --git a/doc/topics/autodevops/customize.md b/doc/topics/autodevops/customize.md
index 06e4c17066c..526a5f9be04 100644
--- a/doc/topics/autodevops/customize.md
+++ b/doc/topics/autodevops/customize.md
@@ -227,6 +227,8 @@ If your `.gitlab-ci.yml` extends these Auto DevOps templates and override the `o
`except` keywords, you must migrate your templates to use the
[`rules`](../../ci/yaml/README.md#rules) syntax after the
base template is migrated to use the `rules` syntax.
+For users who cannot migrate just yet, you can alternatively pin your templates to
+the [GitLab 12.10 based templates](https://gitlab.com/gitlab-org/auto-devops-v12-10).
## PostgreSQL database support
diff --git a/doc/topics/autodevops/index.md b/doc/topics/autodevops/index.md
index 4ed084fc01e..b3e8246e692 100644
--- a/doc/topics/autodevops/index.md
+++ b/doc/topics/autodevops/index.md
@@ -462,6 +462,22 @@ The following are possible reasons:
Auto Test may fail because of a mismatch between testing frameworks. In this
case, you may need to customize your `.gitlab-ci.yml` with your test commands.
+### Pipeline that extends Auto DevOps with only / except fails
+
+If your pipeline fails with the following message:
+
+```plaintext
+Found errors in your .gitlab-ci.yml:
+
+ jobs:test config key may not be used with `rules`: only
+```
+
+This error appears when the included job’s rules configuration has been overridden with the `only` or `except` syntax.
+To fix this issue, you must either:
+
+- Transition your `only/except` syntax to rules.
+- (Temporarily) Pin your templates to the [GitLab 12.10 based templates](https://gitlab.com/gitlab-org/auto-devops-v12-10).
+
### Failure to create a Kubernetes namespace
Auto Deploy will fail if GitLab can't create a Kubernetes namespace and
diff --git a/doc/topics/autodevops/stages.md b/doc/topics/autodevops/stages.md
index 662a78e046b..57fb20b67fd 100644
--- a/doc/topics/autodevops/stages.md
+++ b/doc/topics/autodevops/stages.md
@@ -241,6 +241,8 @@ You can disable DAST:
- On all branches by setting the `DAST_DISABLED` environment variable to `"true"`.
- Only on the default branch by setting the `DAST_DISABLED_FOR_DEFAULT_BRANCH`
environment variable to `"true"`.
+- Only on feature branches by setting `REVIEW_DISABLED` environment variable to
+ `"true"`. This also disables the Review App.
## Auto Browser Performance Testing **(PREMIUM)**
diff --git a/doc/topics/git/lfs/index.md b/doc/topics/git/lfs/index.md
index 8f84f8b8e17..33b7fa45691 100644
--- a/doc/topics/git/lfs/index.md
+++ b/doc/topics/git/lfs/index.md
@@ -154,7 +154,7 @@ also edit it:
git lfs unlock images/banner.png
```
-You can also unlock by id:
+You can also unlock by ID:
```shell
git lfs unlock --id=123
diff --git a/doc/topics/git/numerous_undo_possibilities_in_git/index.md b/doc/topics/git/numerous_undo_possibilities_in_git/index.md
index 9d175b2edb1..7fc10cb27e6 100644
--- a/doc/topics/git/numerous_undo_possibilities_in_git/index.md
+++ b/doc/topics/git/numerous_undo_possibilities_in_git/index.md
@@ -24,7 +24,7 @@ Git is really deleted](https://git-scm.com/book/en/v2/Git-Internals-Maintenance-
This means that until Git automatically cleans detached commits (which cannot be
accessed by branch or tag) it will be possible to view them with `git reflog` command
-and access them with direct commit-id. Read more about _[redoing the undo](#redoing-the-undo)_ on the section below.
+and access them with direct commit ID. Read more about _[redoing the undo](#redoing-the-undo)_ on the section below.
## Introduction
@@ -233,7 +233,7 @@ last known good commit (we assume `A`) and first known bad commit (where bug was
git bisect A..E
```
-Bisect will provide us with commit-id of the middle commit to test, and then guide us
+Bisect will provide us with commit ID of the middle commit to test, and then guide us
through simple bisection process. You can read more about it [in official Git Tools](https://git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git)
In our example we will end up with commit `B`, that introduced bug/error. We have
4 options on how to remove it (or part of it) from our repository.
@@ -332,7 +332,7 @@ history](#how-modifying-history-is-done)
Sometimes you realize that the changes you undid were useful and you want them
back. Well because of first paragraph you are in luck. Command `git reflog`
enables you to *recall* detached local commits by referencing or applying them
-via commit-id. Although, do not expect to see really old commits in reflog, because
+via commit ID. Although, do not expect to see really old commits in reflog, because
Git regularly [cleans the commits which are *unreachable* by branches or tags](https://git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery).
To view repository history and to track older commits you can use below command:
@@ -353,7 +353,7 @@ eb37e74 HEAD@{6}: rebase -i (pick): Commit C
6e43d59 HEAD@{16}: commit: Commit B
```
-Output of command shows repository history. In first column there is commit-id,
+Output of command shows repository history. In first column there is commit ID,
in following column, number next to `HEAD` indicates how many commits ago something
was made, after that indicator of action that was made (commit, rebase, merge, ...)
and then on end description of that action.
@@ -393,7 +393,7 @@ passwords, SSH keys, etc. It is and should not be used to hide mistakes, as
it will make it harder to debug in case there are some other bugs. The main
reason for this is that you loose the real development progress. **Also keep in
mind that, even with modified history, commits are just detached and can still be
-accessed through commit-id** - at least until all repositories perform
+accessed through commit ID** - at least until all repositories perform
the cleanup of detached commits (happens automatically).
![Modifying history causes problems on remote branch](img/rebase_reset.png)
@@ -426,7 +426,7 @@ Never modify the commit history of `master` or shared branch.
After you know what you want to modify (how far in history or how which range of
old commits), use `git rebase -i commit-id`. This command will then display all the commits from
-current version to chosen commit-id and allow modification, squashing, deletion
+current version to chosen commit ID and allow modification, squashing, deletion
of that commits.
```shell
diff --git a/doc/university/training/topics/agile_git.md b/doc/university/training/topics/agile_git.md
index 6434b710159..c5634bec27b 100644
--- a/doc/university/training/topics/agile_git.md
+++ b/doc/university/training/topics/agile_git.md
@@ -20,7 +20,7 @@ Branching in an Agile environment usually happens around user stories with one
or more developers working on it.
If more than one developer then another branch for each developer is also used
-with their initials, and US id.
+with their initials, and US ID.
After its tested merge into master and remove the branch.
diff --git a/doc/user/admin_area/settings/protected_paths.md b/doc/user/admin_area/settings/protected_paths.md
index 56f99d3e725..0cfaf5843d0 100644
--- a/doc/user/admin_area/settings/protected_paths.md
+++ b/doc/user/admin_area/settings/protected_paths.md
@@ -54,24 +54,3 @@ customized on **Admin > Network > Protected Paths**, along with these options:
![protected-paths](img/protected_paths.png)
Requests over the rate limit are logged into `auth.log`.
-
-## Migrate settings from GitLab 12.3 and earlier
-
-Omnibus GitLab protected paths throttle is deprecated and is scheduled for removal in
-GitLab 13.0. Please see the [GitLab issue](https://gitlab.com/gitlab-org/gitlab/issues/29952) and the [Omnibus GitLab issue](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4688) for more information.
-
-NOTE: **Note:** If Omnibus settings are present, applications settings will be automatically ignored to avoid generating multiple requests blocks.
-
-To migrate from Omnibus GitLab 12.3 and earlier settings:
-
-1. Customize and enable your protected paths settings by following [Configure using GitLab UI](#configure-using-gitlab-ui) section.
-
-1. SSH into your frontend nodes and add to `/etc/gitlab/gitlab.rb`:
-
- ```ruby
- gitlab_rails['rack_attack_admin_area_protected_paths_enabled'] = true
- ```
-
-1. [Reconfigure GitLab](../../../administration/restart_gitlab.md#omnibus-gitlab-reconfigure) for the changes to take effect.
-
-That's it. Protected paths throttle are now managed by GitLab admin settings.
diff --git a/doc/user/application_security/container_scanning/index.md b/doc/user/application_security/container_scanning/index.md
index 3eb7467b410..5a246c3bbe2 100644
--- a/doc/user/application_security/container_scanning/index.md
+++ b/doc/user/application_security/container_scanning/index.md
@@ -229,25 +229,29 @@ To use Container Scanning in an offline environment, you need:
NOTE: **Note:**
GitLab Runner has a [default `pull policy` of `always`](https://docs.gitlab.com/runner/executors/docker.html#using-the-always-pull-policy),
-meaning the runner may try to pull remote images even if a local copy is available. Set GitLab
-Runner's [`pull_policy` to `if-not-present`](https://docs.gitlab.com/runner/executors/docker.html#using-the-if-not-present-pull-policy)
-in an offline environment if you prefer using only locally available Docker images.
+meaning the Runner tries to pull Docker images from the GitLab container registry even if a local
+copy is available. GitLab Runner's [`pull_policy` can be set to `if-not-present`](https://docs.gitlab.com/runner/executors/docker.html#using-the-if-not-present-pull-policy)
+in an offline environment if you prefer using only locally available Docker images. However, we
+recommend keeping the pull policy setting to `always` if not in an offline environment, as this
+enables the use of updated scanners in your CI/CD pipelines.
#### Make GitLab Container Scanning analyzer images available inside your Docker registry
-For Container Scanning, import and host the following images from `registry.gitlab.com` to your
-offline [local Docker container registry](../../packages/container_registry/index.md):
+For Container Scanning, import the following default images from `registry.gitlab.com` into your
+[local Docker container registry](../../packages/container_registry/index.md):
-- [arminc/clair-db vulnerabilities database](https://hub.docker.com/r/arminc/clair-db)
-- GitLab klar analyzer: `registry.gitlab.com/gitlab-org/security-products/analyzers/klar`
+```plaintext
+registry.gitlab.com/gitlab-org/security-products/analyzers/klar
+https://hub.docker.com/r/arminc/clair-db
+```
The process for importing Docker images into a local offline Docker registry depends on
**your network security policy**. Please consult your IT staff to find an accepted and approved
-process by which external resources can be imported or temporarily accessed.
-
-Note that these scanners are [updated periodically](../index.md#maintenance-and-update-of-the-vulnerabilities-database)
+process by which you can import or temporarily access external resources. Note that these scanners
+are [updated periodically](../index.md#maintenance-and-update-of-the-vulnerabilities-database)
with new definitions, so consider if you are able to make periodic updates yourself.
-You can read more specific steps on how to do this [below](#automating-container-scanning-vulnerability-database-updates-with-a-pipeline).
+
+For more information, see [the specific steps on how to update an image with a pipeline](#automating-container-scanning-vulnerability-database-updates-with-a-pipeline).
For details on saving and transporting Docker images as a file, see Docker's documentation on
[`docker save`](https://docs.docker.com/engine/reference/commandline/save/), [`docker load`](https://docs.docker.com/engine/reference/commandline/load/),
@@ -255,8 +259,6 @@ For details on saving and transporting Docker images as a file, see Docker's doc
#### Set Container Scanning CI job variables to use local Container Scanner analyzers
-Container Scanning can be executed on an offline GitLab Ultimate installation using the following process:
-
1. [Override the container scanning template](#overriding-the-container-scanning-template) in your `.gitlab-ci.yml` file to refer to the Docker images hosted on your local Docker container registry:
```yaml
@@ -416,7 +418,7 @@ the report JSON unless stated otherwise. Presence of optional fields depends on
| `vulnerabilities[].confidence` | How reliable the vulnerability's assessment is. Possible values: `Ignore`, `Unknown`, `Experimental`, `Low`, `Medium`, `High`, `Confirmed`. **Note:** Our current container scanning tool based on [klar](https://github.com/optiopay/klar) does not provide a confidence level, so this value is currently hardcoded to `Unknown`. |
| `vulnerabilities[].solution` | Explanation of how to fix the vulnerability. Optional. |
| `vulnerabilities[].scanner` | A node that describes the analyzer used to find this vulnerability. |
-| `vulnerabilities[].scanner.id` | Id of the scanner as a snake_case string. |
+| `vulnerabilities[].scanner.id` | ID of the scanner as a snake_case string. |
| `vulnerabilities[].scanner.name` | Name of the scanner, for display purposes. |
| `vulnerabilities[].location` | A node that tells where the vulnerability is located. |
| `vulnerabilities[].location.dependency` | A node that describes the dependency of a project where the vulnerability is located. |
@@ -435,7 +437,7 @@ the report JSON unless stated otherwise. Presence of optional fields depends on
| `vulnerabilities[].links[].url` | URL of the vulnerability details document. Optional. |
| `remediations` | An array of objects containing information on cured vulnerabilities along with patch diffs to apply. Empty if no remediations provided by an underlying analyzer. |
| `remediations[].fixes` | An array of strings that represent references to vulnerabilities fixed by this particular remediation. |
-| `remediations[].fixes[].id` | The id of a fixed vulnerability. |
+| `remediations[].fixes[].id` | The ID of a fixed vulnerability. |
| `remediations[].fixes[].cve` | (**DEPRECATED - use `remediations[].fixes[].id` instead**) A string value that describes a fixed vulnerability in the same format as `vulnerabilities[].cve`. |
| `remediations[].summary` | Overview of how the vulnerabilities have been fixed. |
| `remediations[].diff` | base64-encoded remediation code diff, compatible with [`git apply`](https://git-scm.com/docs/git-format-patch#_discussion). |
diff --git a/doc/user/application_security/dast/index.md b/doc/user/application_security/dast/index.md
index 42480e60e48..bbb551748c6 100644
--- a/doc/user/application_security/dast/index.md
+++ b/doc/user/application_security/dast/index.md
@@ -95,11 +95,11 @@ There are two ways to define the URL to be scanned by DAST:
persist its domain in an `environment_url.txt` file, and DAST
automatically parses that file to find its scan target.
You can see an [example](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Deploy.gitlab-ci.yml)
- of this in our Auto DevOps CI YML.
+ of this in our Auto DevOps CI YAML.
If both values are set, the `DAST_WEBSITE` value takes precedence.
-The included template creates a `dast` job in your CI/CD pipeline and scan
+The included template creates a `dast` job in your CI/CD pipeline and scans
your project's source code for possible vulnerabilities.
The results are saved as a
@@ -133,14 +133,14 @@ stages:
```
Be aware that if your pipeline is configured to deploy to the same webserver in
-each run, running a pipeline while another is still running, could cause a race condition
+each run, running a pipeline while another is still running could cause a race condition
where one pipeline overwrites the code from another pipeline. The site to be scanned
should be excluded from changes for the duration of a DAST scan.
The only changes to the site should be from the DAST scanner. Be aware that any
changes that users, scheduled tasks, database changes, code changes, other pipelines, or other scanners make to
the site during a scan could lead to inaccurate results.
-### Authenticated scan
+### Authentication
It's also possible to authenticate the user before performing the DAST checks:
@@ -454,6 +454,7 @@ DAST can be [configured](#customizing-the-dast-settings) using environment varia
| `DAST_API_HOST_OVERRIDE` | no | Used to override domains defined in API specification files. |
| `DAST_EXCLUDE_RULES` | no | Set to a comma-separated list of Vulnerability Rule IDs to exclude them from scans. Rule IDs are numbers and can be found from the DAST log or on the [ZAP project](https://github.com/zaproxy/zaproxy/blob/master/docs/scanners.md). For example, `HTTP Parameter Override` has a rule ID of `10026`. |
| `DAST_REQUEST_HEADERS` | no | Set to a comma-separated list of request header names and values. For example, `Cache-control: no-cache,User-Agent: DAST/1.0` |
+| `DAST_ZAP_USE_AJAX_SPIDER` | no | Use the AJAX spider in addition to the traditional spider, useful for crawling sites that require JavaScript. Boolean. `true`, `True`, or `1` are considered as true value, otherwise false. Defaults to `false`. |
### DAST command-line options
@@ -471,7 +472,7 @@ dast:
```
You must then overwrite the `script` command to pass in the appropriate argument.
-For example, AJAX spidering can be enabled by using `-j`, as shown in the following configuration:
+For example, debug messages can be enabled by using `-d`, as shown in the following configuration:
```yaml
include:
@@ -480,7 +481,7 @@ include:
dast:
script:
- export DAST_WEBSITE=${DAST_WEBSITE:-$(cat environment_url.txt)}
- - /analyze -j -t $DAST_WEBSITE
+ - /analyze -d -t $DAST_WEBSITE
```
### Custom ZAProxy configuration
@@ -523,14 +524,15 @@ To use DAST in an offline environment, you need:
NOTE: **Note:**
GitLab Runner has a [default `pull policy` of `always`](https://docs.gitlab.com/runner/executors/docker.html#using-the-always-pull-policy),
-meaning the runner may try to pull remote images even if a local copy is available. Set GitLab
-Runner's [`pull_policy` to `if-not-present`](https://docs.gitlab.com/runner/executors/docker.html#using-the-if-not-present-pull-policy)
-in an offline environment if you prefer using only locally available Docker images.
+meaning the Runner tries to pull Docker images from the GitLab container registry even if a local
+copy is available. GitLab Runner's [`pull_policy` can be set to `if-not-present`](https://docs.gitlab.com/runner/executors/docker.html#using-the-if-not-present-pull-policy)
+in an offline environment if you prefer using only locally available Docker images. However, we
+recommend keeping the pull policy setting to `always` if not in an offline environment, as this
+enables the use of updated scanners in your CI/CD pipelines.
### Make GitLab DAST analyzer images available inside your Docker registry
-For DAST, import the following default DAST analyzer image from `registry.gitlab.com` to your local "offline"
-registry:
+For DAST, import the following default DAST analyzer image from `registry.gitlab.com` to your [local Docker container registry](../../packages/container_registry/index.md):
- `registry.gitlab.com/gitlab-org/security-products/dast:latest`
@@ -548,16 +550,18 @@ For details on saving and transporting Docker images as a file, see Docker's doc
### Set DAST CI job variables to use local DAST analyzers
-1. Add the following configuration to your `.gitlab-ci.yml` file. You must replace `image` to refer
- to the DAST Docker image hosted on your local Docker container registry:
+Add the following configuration to your `.gitlab-ci.yml` file. You must replace `image` to refer to
+the DAST Docker image hosted on your local Docker container registry:
- ```yaml
- include:
- - template: DAST.gitlab-ci.yml
+```yaml
+include:
+ - template: DAST.gitlab-ci.yml
+dast:
+ image: registry.example.com/namespace/dast:latest
+```
- dast:
- image: registry.example.com/namespace/dast:latest
- ```
+The DAST job should now use local copies of the DAST analyzers to scan your code and generate
+security reports without requiring internet access.
## Reports
@@ -579,9 +583,10 @@ The DAST tool always emits a JSON report file called `gl-dast-report.json` and
sample reports can be found in the
[DAST repository](https://gitlab.com/gitlab-org/security-products/dast/-/tree/master/test/end-to-end/expect).
-There are two formats of data in the JSON report that are used side by side: the
-proprietary ZAP format which will be eventually deprecated, and a "common" format
-which will be the default in the future.
+There are two formats of data in the JSON report that are used side by side:
+
+- The proprietary ZAP format that will be eventually deprecated.
+- A common format that will be the default in the future.
### Other formats
diff --git a/doc/user/application_security/dependency_scanning/index.md b/doc/user/application_security/dependency_scanning/index.md
index be9c8c9d129..99f4d524b7d 100644
--- a/doc/user/application_security/dependency_scanning/index.md
+++ b/doc/user/application_security/dependency_scanning/index.md
@@ -420,32 +420,33 @@ You can also [submit new vulnerabilities](https://gitlab.com/gitlab-org/security
## Running Dependency Scanning in an offline environment
For self-managed GitLab instances in an environment with limited, restricted, or intermittent access
-to external resources through the internet, some adjustments are required for dependency scanning jobs to run successfully. For more information, see [Offline environments](../offline_deployments/index.md).
+to external resources through the internet, some adjustments are required for Dependency Scanning
+jobs to run successfully. For more information, see [Offline environments](../offline_deployments/index.md).
### Requirements for offline Dependency Scanning
-The requirements for using Dependency Scanning in an offline environment are:
+Here are the requirements for using Dependency Scanning in an offline environment:
- [Disable Docker-In-Docker](#disabling-docker-in-docker-for-dependency-scanning).
- GitLab Runner with the [`docker` or `kubernetes` executor](#requirements).
-- Docker Container Registry with locally available copies of dependency scanning [analyzer](https://gitlab.com/gitlab-org/security-products/analyzers) images.
+- Docker Container Registry with locally available copies of Dependency Scanning [analyzer](https://gitlab.com/gitlab-org/security-products/analyzers) images.
- Host an offline Git copy of the [gemnasium-db advisory database](https://gitlab.com/gitlab-org/security-products/gemnasium-db/)
- _Only if scanning Ruby projects_: Host an offline Git copy of the [advisory database](https://github.com/rubysec/ruby-advisory-db).
- _Only if scanning npm/yarn projects_: Host an offline copy of the [retire.js](https://github.com/RetireJS/retire.js/) [node](https://github.com/RetireJS/retire.js/blob/master/repository/npmrepository.json) and [js](https://github.com/RetireJS/retire.js/blob/master/repository/jsrepository.json) advisory databases.
NOTE: **Note:**
GitLab Runner has a [default `pull policy` of `always`](https://docs.gitlab.com/runner/executors/docker.html#using-the-always-pull-policy),
-meaning the runner will try to pull Docker images from the GitLab container registry even if a local
+meaning the Runner tries to pull Docker images from the GitLab container registry even if a local
copy is available. GitLab Runner's [`pull_policy` can be set to `if-not-present`](https://docs.gitlab.com/runner/executors/docker.html#using-the-if-not-present-pull-policy)
-in an offline environment, if you prefer using only locally available Docker images. However, we
-recommend keeping the pull policy setting to `always` as it will better enable updated scanners to
-be utilized within your CI/CD pipelines.
+in an offline environment if you prefer using only locally available Docker images. However, we
+recommend keeping the pull policy setting to `always` if not in an offline environment, as this
+enables the use of updated scanners in your CI/CD pipelines.
### Make GitLab Dependency Scanning analyzer images available inside your Docker registry
-For Dependency Scanning, import Docker images ([supported languages and frameworks](#supported-languages-and-package-managers))
-from `registry.gitlab.com` to your offline Docker registry. The Dependency Scanning analyzer
-Docker images are:
+For Dependency Scanning with all [supported languages and frameworks](#supported-languages-and-package-managers),
+import the following default Dependency Scanning analyzer images from `registry.gitlab.com` into
+your [local Docker container registry](../../packages/container_registry/index.md):
```plaintext
registry.gitlab.com/gitlab-org/security-products/analyzers/gemnasium:2
@@ -465,10 +466,10 @@ For details on saving and transporting Docker images as a file, see Docker's doc
[`docker save`](https://docs.docker.com/engine/reference/commandline/save/), [`docker load`](https://docs.docker.com/engine/reference/commandline/load/),
[`docker export`](https://docs.docker.com/engine/reference/commandline/export/), and [`docker import`](https://docs.docker.com/engine/reference/commandline/import/).
-### Set Dependency Scanning CI config for "offline" use
+### Set Dependency Scanning CI job variables to use local Dependency Scanning analyzers
-Below is a general `.gitlab-ci.yml` template to configure your environment for running
-Dependency Scanning offline:
+Add the following configuration to your `.gitlab-ci.yml` file. You must replace
+`DS_ANALYZER_IMAGE_PREFIX` to refer to your local Docker container registry:
```yaml
include:
diff --git a/doc/user/application_security/index.md b/doc/user/application_security/index.md
index 60d189c8b42..7f82434fc4e 100644
--- a/doc/user/application_security/index.md
+++ b/doc/user/application_security/index.md
@@ -338,3 +338,102 @@ To fix this issue, you can either:
[Learn more on overriding the SAST template](sast/index.md#overriding-the-sast-template).
All the security scanning tools define their stage, so this error can occur with all of them.
+
+### Getting error message `sast job: config key may not be used with 'rules': only/except`
+
+When including a security job template like [`SAST`](sast/index.md#overriding-the-sast-template),
+the following error may occur, depending on your GitLab CI/CD configuration:
+
+```plaintext
+Found errors in your .gitlab-ci.yml:
+
+ jobs:sast config key may not be used with `rules`: only/except
+```
+
+This error appears when the included job's `rules` configuration has been [overridden](sast/index.md#overriding-the-sast-template)
+with [the deprecated `only` or `except` syntax.](../../ci/yaml/README.md#onlyexcept-basic)
+To fix this issue, you must either:
+
+- [Transition your `only/except` syntax to `rules`](#transitioning-your-onlyexcept-syntax-to-rules).
+- (Temporarily) [Pin your templates to the deprecated versions](#pin-your-templates-to-the-deprecated-versions)
+
+[Learn more on overriding the SAST template](sast/index.md#overriding-the-sast-template).
+
+#### Transitioning your `only/except` syntax to `rules`
+
+When overriding the template to control job execution, previous instances of
+[`only` or `except`](../../ci/yaml/README.md#onlyexcept-basic) are no longer compatible
+and must be transitioned to [the `rules` syntax](../../ci/yaml/README.md#rules).
+
+If your override is aimed at limiting jobs to only run on `master`, the previous syntax
+would look similar to:
+
+```yaml
+include:
+ - template: SAST.gitlab-ci.yml
+
+# Ensure that the scanning is only executed on master or merge requests
+spotbugs-sast:
+ only:
+ refs:
+ - master
+ - merge_requests
+```
+
+To transition the above configuration to the new `rules` syntax, the override
+would be written as follows:
+
+```yaml
+include:
+ - template: SAST.gitlab-ci.yml
+
+# Ensure that the scanning is only executed on master or merge requests
+spotbugs-sast:
+ rules:
+ - if: $CI_COMMIT_BRANCH == "master"
+ - if: $CI_MERGE_REQUEST_ID
+```
+
+If your override is aimed at limiting jobs to only run on branches, not tags,
+it would look similar to:
+
+```yaml
+include:
+ - template: SAST.gitlab-ci.yml
+
+# Ensure that the scanning is not executed on tags
+spotbugs-sast:
+ except:
+ - tags
+```
+
+To transition to the new `rules` syntax, the override would be rewritten as:
+
+```yaml
+include:
+ - template: SAST.gitlab-ci.yml
+
+# Ensure that the scanning is not executed on tags
+spotbugs-sast:
+ rules:
+ - if: $CI_COMMIT_TAG == null
+```
+
+[Learn more on the usage of `rules`](../../ci/yaml/README.md#rules).
+
+#### Pin your templates to the deprecated versions
+
+To ensure the latest support, we **strongly** recommend that you migrate to [`rules`](../../ci/yaml/README.md#rules).
+
+If you're unable to immediately update your CI configuration, there are several workarounds that
+involve pinning to the previous template versions, for example:
+
+ ```yaml
+ include:
+ remote: 'https://gitlab.com/gitlab-org/gitlab/-/raw/12-10-stable-ee/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml'
+ ```
+
+Additionally, we provide a dedicated project containing the versioned legacy templates.
+This can be useful for offline setups or anyone wishing to use [Auto DevOps](../../topics/autodevops/index.md)..
+
+Instructions are available in the [legacy template project](https://gitlab.com/gitlab-org/auto-devops-v12-10).
diff --git a/doc/user/application_security/sast/analyzers.md b/doc/user/application_security/sast/analyzers.md
index 9010a7cae0b..4de58de4304 100644
--- a/doc/user/application_security/sast/analyzers.md
+++ b/doc/user/application_security/sast/analyzers.md
@@ -149,7 +149,7 @@ The [Security Scanner Integration](../../../development/integrations/secure.md)
| End line | ✓ | ✓ | ð„‚ | ✓ | ✓ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ✓ |
| Start column | ✓ | ð„‚ | ð„‚ | ✓ | ✓ | ✓ | ✓ | ð„‚ | ð„‚ | ✓ | ✓ | ð„‚ | ✓ |
| End column | ✓ | ð„‚ | ð„‚ | ✓ | ✓ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ✓ |
-| External id (e.g. CVE) | ð„‚ | ð„‚ | âš  | ð„‚ | âš  | ✓ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ |
+| External ID (e.g. CVE) | ð„‚ | ð„‚ | âš  | ð„‚ | âš  | ✓ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ |
| URLs | ✓ | ð„‚ | ✓ | ð„‚ | âš  | ð„‚ | âš  | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ |
| Internal doc/explanation | ✓ | âš  | ✓ | ð„‚ | ✓ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ✓ | ð„‚ |
| Solution | ✓ | ð„‚ | ð„‚ | ð„‚ | âš  | ✓ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ | ð„‚ |
diff --git a/doc/user/application_security/sast/index.md b/doc/user/application_security/sast/index.md
index 51a2fdab1b9..6f74359137e 100644
--- a/doc/user/application_security/sast/index.md
+++ b/doc/user/application_security/sast/index.md
@@ -13,7 +13,7 @@ to learn how to protect your organization.
## Overview
-If you are using [GitLab CI/CD](../../../ci/README.md), you can analyze your source code for known
+If you're using [GitLab CI/CD](../../../ci/README.md), you can analyze your source code for known
vulnerabilities using Static Application Security Testing (SAST).
You can take advantage of SAST by doing one of the following:
@@ -37,7 +37,7 @@ The results are sorted by the priority of the vulnerability:
1. Everything else
NOTE: **Note:**
-A pipeline consists of multiple jobs, including SAST and DAST scanning. If any job fails to finish for any reason, the security dashboard will not show SAST scanner output. For example, if the SAST job finishes but the DAST job fails, the security dashboard will not show SAST results. The analyzer will output an [exit code](../../../development/integrations/secure.md#exit-code) on failure.
+A pipeline consists of multiple jobs, including SAST and DAST scanning. If any job fails to finish for any reason, the security dashboard won't show SAST scanner output. For example, if the SAST job finishes but the DAST job fails, the security dashboard won't show SAST results. The analyzer will output an [exit code](../../../development/integrations/secure.md#exit-code) on failure.
## Use cases
@@ -55,12 +55,12 @@ executor running in privileged mode. If you're using the shared Runners on GitLa
this is enabled by default.
Privileged mode is not necessary if you've [disabled Docker in Docker
-for SAST](#disabling-docker-in-docker-for-sast)
+for SAST](#disabling-docker-in-docker-for-sast).
CAUTION: **Caution:** Our SAST jobs currently expect a Linux container type. Windows containers are not yet supported.
CAUTION: **Caution:**
-If you use your own Runners, make sure that the Docker version you have installed
+If you use your own Runners, make sure the Docker version installed
is **not** `19.03.0`. See [troubleshooting information](#error-response-from-daemon-error-processing-tar-file-docker-tar-relocation-error) for details.
## Supported languages and frameworks
@@ -71,7 +71,7 @@ The following table shows which languages, package managers and frameworks are s
|-----------------------------------------------------------------------------|----------------------------------------------------------------------------------------|------------------------------|
| .NET | [Security Code Scan](https://security-code-scan.github.io) | 11.0 |
| Any | [Gitleaks](https://github.com/zricethezav/gitleaks) and [TruffleHog](https://github.com/dxa4481/truffleHog) | 11.9 |
-| Apex (Salesforce) | [pmd](https://pmd.github.io/pmd/index.html) | 12.1 |
+| Apex (Salesforce) | [PMD](https://pmd.github.io/pmd/index.html) | 12.1 |
| C/C++ | [Flawfinder](https://dwheeler.com/flawfinder/) | 10.7 |
| Elixir (Phoenix) | [Sobelow](https://github.com/nccgroup/sobelow) | 11.10 |
| Go | [Gosec](https://github.com/securego/gosec) | 10.7 |
@@ -85,7 +85,7 @@ The following table shows which languages, package managers and frameworks are s
| React | [ESLint react plugin](https://github.com/yannickcr/eslint-plugin-react) | 12.5 |
| Ruby on Rails | [brakeman](https://brakemanscanner.org) | 10.3 |
| Scala ([Ant](https://ant.apache.org/), [Gradle](https://gradle.org/), [Maven](https://maven.apache.org/) and [SBT](https://www.scala-sbt.org/)) | [SpotBugs](https://spotbugs.github.io/) with the [find-sec-bugs](https://find-sec-bugs.github.io/) plugin | 11.0 (SBT) & 11.9 (Ant, Gradle, Maven) |
-| TypeScript | [TSLint config security](https://github.com/webschik/tslint-config-security/) | 11.9 |
+| TypeScript | [`tslint-config-security`](https://github.com/webschik/tslint-config-security/) | 11.9 |
NOTE: **Note:**
The Java analyzers can also be used for variants like the
@@ -104,7 +104,7 @@ provided by [Auto DevOps](../../../topics/autodevops/index.md).
For GitLab 11.9 and later, to enable SAST you must [include](../../../ci/yaml/README.md#includetemplate)
the [`SAST.gitlab-ci.yml` template](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml)
-that is provided as a part of your GitLab installation. For GitLab versions earlier than 11.9, you
+provided as a part of your GitLab installation. For GitLab versions earlier than 11.9, you
can copy and use the job as defined that template.
Add the following to your `.gitlab-ci.yml` file:
@@ -122,14 +122,13 @@ The results will be saved as a
that you can later download and analyze. Due to implementation limitations, we
always take the latest SAST artifact available. Behind the scenes, the
[GitLab SAST Docker image](https://gitlab.com/gitlab-org/security-products/sast)
-is used to detect the languages/frameworks and in turn runs the matching scan tools.
+is used to detect the languages or frameworks used, and in turn runs the matching scan tools.
### Customizing the SAST settings
The SAST settings can be changed through [environment variables](#available-variables)
by using the
[`variables`](../../../ci/yaml/README.md#variables) parameter in `.gitlab-ci.yml`.
-
In the following example, we include the SAST template and at the same time we
set the `SAST_GOSEC_LEVEL` variable to `2`:
@@ -142,7 +141,7 @@ variables:
```
Because the template is [evaluated before](../../../ci/yaml/README.md#include)
-the pipeline configuration, the last mention of the variable will take precedence.
+the pipeline configuration, the last mention of the variable takes precedence.
### Overriding the SAST template
@@ -173,10 +172,10 @@ it via [custom environment variables](#custom-environment-variables).
#### Using a variable to pass username and password to a private Maven repository
-If you have a private Maven repository which requires login credentials,
+If your private Maven repository requires login credentials,
you can use the `MAVEN_CLI_OPTS` environment variable.
-Read more on [how to use private Maven repos](../index.md#using-private-maven-repos).
+Read more on [how to use private Maven repositories](../index.md#using-private-maven-repos).
### Disabling Docker in Docker for SAST
@@ -198,11 +197,11 @@ to start relevant analyzers depending on the detected repository language(s) ins
[orchestrator](https://gitlab.com/gitlab-org/security-products/dependency-scanning/). However, there
are some differences in the way repository languages are detected between DIND and non-DIND. You can
observe these differences by checking both Linguist and the common library. For instance, Linguist
-looks for `*.java` files to spin up the [spotbugs](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs)
+looks for `*.java` files to spin up the [SpotBugs](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs)
image, while orchestrator only looks for the existence of `pom.xml`, `build.xml`, `gradlew`,
-`grailsw`, or `mvnw`. GitLab uses Linguist to detect new file types in the default branch. This
-means that when introducing files or dependencies for a new language or package manager, the
-corresponding scans won't be triggered in the MR and will only run on the default branch once the
+`grailsw`, or `mvnw`. GitLab uses Linguist to detect new file types in the default branch.
+When introducing files or dependencies for a new language or package manager, the
+corresponding scans won't be triggered in the MR, and will only run on the default branch once the
MR is merged. This will be addressed by [#211702](https://gitlab.com/gitlab-org/gitlab/-/issues/211702).
NOTE: **Note:**
@@ -210,13 +209,13 @@ With the current language detection logic, any new languages or frameworks intro
context of a merge request don't trigger a corresponding scan. These scans only occur once the code
is committed to the default branch.
-#### Enabling kubesec analyzer
+#### Enabling Kubesec analyzer
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/12752) in GitLab Ultimate 12.6.
When [Docker in Docker is disabled](#disabling-docker-in-docker-for-sast),
you will need to set `SCAN_KUBERNETES_MANIFESTS` to `"true"` to enable the
-kubesec analyzer. In `.gitlab-ci.yml`, define:
+Kubesec analyzer. In `.gitlab-ci.yml`, define:
```yaml
include:
@@ -310,10 +309,10 @@ Some analyzers make it possible to filter out vulnerabilities under a given thre
| `SAST_BRAKEMAN_LEVEL` | 1 | Ignore Brakeman vulnerabilities under given confidence level. Integer, 1=Low 3=High. |
| `SAST_FLAWFINDER_LEVEL` | 1 | Ignore Flawfinder vulnerabilities under given risk level. Integer, 0=No risk, 5=High risk. |
| `SAST_GITLEAKS_ENTROPY_LEVEL` | 8.0 | Minimum entropy for secret detection. Float, 0.0 = low, 8.0 = high. |
-| `SAST_GOSEC_LEVEL` | 0 | Ignore gosec vulnerabilities under given confidence level. Integer, 0=Undefined, 1=Low, 2=Medium, 3=High. |
-| `SAST_GITLEAKS_COMMIT_FROM` | - | The commit a gitleaks scan starts at. |
-| `SAST_GITLEAKS_COMMIT_TO` | - | The commit a gitleaks scan ends at. |
-| `SAST_GITLEAKS_HISTORIC_SCAN` | false | Flag to enable a historic gitleaks scan. |
+| `SAST_GOSEC_LEVEL` | 0 | Ignore Gosec vulnerabilities under given confidence level. Integer, 0=Undefined, 1=Low, 2=Medium, 3=High. |
+| `SAST_GITLEAKS_COMMIT_FROM` | - | The commit a Gitleaks scan starts at. |
+| `SAST_GITLEAKS_COMMIT_TO` | - | The commit a Gitleaks scan ends at. |
+| `SAST_GITLEAKS_HISTORIC_SCAN` | false | Flag to enable a historic Gitleaks scan. |
#### Docker-in-Docker orchestrator
@@ -323,9 +322,9 @@ The following variables configure the Docker-in-Docker orchestrator.
|------------------------------------------|---------------|-------------|
| `SAST_ANALYZER_IMAGES` | | Comma-separated list of custom images. Default images are still enabled. Read more about [customizing analyzers](analyzers.md). Not available when [Docker-in-Docker is disabled](#disabling-docker-in-docker-for-sast). |
| `SAST_PULL_ANALYZER_IMAGES` | 1 | Pull the images from the Docker registry (set to 0 to disable). Read more about [customizing analyzers](analyzers.md). Not available when [Docker-in-Docker is disabled](#disabling-docker-in-docker-for-sast). |
-| `SAST_DOCKER_CLIENT_NEGOTIATION_TIMEOUT` | 2m | Time limit for Docker client negotiation. Timeouts are parsed using Go's [`ParseDuration`](https://golang.org/pkg/time/#ParseDuration). Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". For example, "300ms", "1.5h" or "2h45m". |
-| `SAST_PULL_ANALYZER_IMAGE_TIMEOUT` | 5m | Time limit when pulling the image of an analyzer. Timeouts are parsed using Go's [`ParseDuration`](https://golang.org/pkg/time/#ParseDuration). Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". For example, "300ms", "1.5h" or "2h45m". |
-| `SAST_RUN_ANALYZER_TIMEOUT` | 20m | Time limit when running an analyzer. Timeouts are parsed using Go's [`ParseDuration`](https://golang.org/pkg/time/#ParseDuration). Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". For example, "300ms", "1.5h" or "2h45m".|
+| `SAST_DOCKER_CLIENT_NEGOTIATION_TIMEOUT` | 2m | Time limit for Docker client negotiation. Timeouts are parsed using Go's [`ParseDuration`](https://golang.org/pkg/time/#ParseDuration). Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. For example, `300ms`, `1.5h` or `2h45m`. |
+| `SAST_PULL_ANALYZER_IMAGE_TIMEOUT` | 5m | Time limit when pulling the image of an analyzer. Timeouts are parsed using Go's [`ParseDuration`](https://golang.org/pkg/time/#ParseDuration). Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. For example, `300ms`, `1.5h` or `2h45m`. |
+| `SAST_RUN_ANALYZER_TIMEOUT` | 20m | Time limit when running an analyzer. Timeouts are parsed using Go's [`ParseDuration`](https://golang.org/pkg/time/#ParseDuration). Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`. For example, `300ms`, `1.5h` or `2h45m`.|
NOTE: **Note:**
Timeout variables are not applicable for setups with [disabled Docker In Docker](index.md#disabling-docker-in-docker-for-sast).
@@ -336,18 +335,18 @@ Some analyzers can be customized with environment variables.
| Environment variable | Analyzer | Description |
|-----------------------------|----------|-------------|
-| `SCAN_KUBERNETES_MANIFESTS` | kubesec | Set to `"true"` to scan Kubernetes manifests when [Docker in Docker](#disabling-docker-in-docker-for-sast) is disabled. |
-| `ANT_HOME` | spotbugs | The `ANT_HOME` environment variable. |
-| `ANT_PATH` | spotbugs | Path to the `ant` executable. |
-| `GRADLE_PATH` | spotbugs | Path to the `gradle` executable. |
-| `JAVA_OPTS` | spotbugs | Additional arguments for the `java` executable. |
-| `JAVA_PATH` | spotbugs | Path to the `java` executable. |
-| `SAST_JAVA_VERSION` | spotbugs | Which Java version to use. Supported versions are `8` and `11`. Defaults to `8`. |
-| `MAVEN_CLI_OPTS` | spotbugs | Additional arguments for the `mvn` or `mvnw` executable. |
-| `MAVEN_PATH` | spotbugs | Path to the `mvn` executable. |
-| `MAVEN_REPO_PATH` | spotbugs | Path to the Maven local repository (shortcut for the `maven.repo.local` property). |
-| `SBT_PATH` | spotbugs | Path to the `sbt` executable. |
-| `FAIL_NEVER` | spotbugs | Set to `1` to ignore compilation failure. |
+| `SCAN_KUBERNETES_MANIFESTS` | Kubesec | Set to `"true"` to scan Kubernetes manifests when [Docker in Docker](#disabling-docker-in-docker-for-sast) is disabled. |
+| `ANT_HOME` | SpotBugs | The `ANT_HOME` environment variable. |
+| `ANT_PATH` | SpotBugs | Path to the `ant` executable. |
+| `GRADLE_PATH` | SpotBugs | Path to the `gradle` executable. |
+| `JAVA_OPTS` | SpotBugs | Additional arguments for the `java` executable. |
+| `JAVA_PATH` | SpotBugs | Path to the `java` executable. |
+| `SAST_JAVA_VERSION` | SpotBugs | Which Java version to use. Supported versions are `8` and `11`. Defaults to `8`. |
+| `MAVEN_CLI_OPTS` | SpotBugs | Additional arguments for the `mvn` or `mvnw` executable. |
+| `MAVEN_PATH` | SpotBugs | Path to the `mvn` executable. |
+| `MAVEN_REPO_PATH` | SpotBugs | Path to the Maven local repository (shortcut for the `maven.repo.local` property). |
+| `SBT_PATH` | SpotBugs | Path to the `sbt` executable. |
+| `FAIL_NEVER` | SpotBugs | Set to `1` to ignore compilation failure. |
#### Custom environment variables
@@ -454,8 +453,8 @@ the report JSON unless stated otherwise. Presence of optional fields depends on
| `version` | Report syntax version used to generate this JSON. |
| `vulnerabilities` | Array of vulnerability objects. |
| `vulnerabilities[].id` | Unique identifier of the vulnerability. |
-| `vulnerabilities[].category` | Where this vulnerability belongs (SAST, Dependency Scanning etc.). For SAST, it will always be `sast`. |
-| `vulnerabilities[].name` | Name of the vulnerability, this must not include the occurrence's specific information. Optional. |
+| `vulnerabilities[].category` | Where this vulnerability belongs (such as SAST, Dependency Scanning). For SAST, it will always be `sast`. |
+| `vulnerabilities[].name` | Name of the vulnerability. Must not include the occurrence's specific information. Optional. |
| `vulnerabilities[].message` | A short text that describes the vulnerability, it may include the occurrence's specific information. Optional. |
| `vulnerabilities[].description` | A long text that describes the vulnerability. Optional. |
| `vulnerabilities[].cve` | (**DEPRECATED - use `vulnerabilities[].id` instead**) A fingerprint string value that represents a concrete occurrence of the vulnerability. It's used to determine whether two vulnerability occurrences are same or different. May not be 100% accurate. **This is NOT a [CVE](https://cve.mitre.org/)**. |
@@ -463,7 +462,7 @@ the report JSON unless stated otherwise. Presence of optional fields depends on
| `vulnerabilities[].confidence` | How reliable the vulnerability's assessment is. Possible values: `Ignore`, `Unknown`, `Experimental`, `Low`, `Medium`, `High`, `Confirmed`. |
| `vulnerabilities[].solution` | Explanation of how to fix the vulnerability. Optional. |
| `vulnerabilities[].scanner` | A node that describes the analyzer used to find this vulnerability. |
-| `vulnerabilities[].scanner.id` | Id of the scanner as a snake_case string. |
+| `vulnerabilities[].scanner.id` | ID of the scanner as a snake_case string. |
| `vulnerabilities[].scanner.name` | Name of the scanner, for display purposes. |
| `vulnerabilities[].location` | A node that tells where the vulnerability is located. |
| `vulnerabilities[].location.file` | Path to the file where the vulnerability is located. Optional. |
@@ -471,8 +470,8 @@ the report JSON unless stated otherwise. Presence of optional fields depends on
| `vulnerabilities[].location.end_line` | The last line of the code affected by the vulnerability. Optional. |
| `vulnerabilities[].location.class` | If specified, provides the name of the class where the vulnerability is located. Optional. |
| `vulnerabilities[].location.method` | If specified, provides the name of the method where the vulnerability is located. Optional. |
-| `vulnerabilities[].identifiers` | An ordered array of references that identify a vulnerability on internal or external DBs. |
-| `vulnerabilities[].identifiers[].type` | Type of the identifier. Possible values: common identifier types (among `cve`, `cwe`, `osvdb`, and `usn`) or analyzer-dependent ones (e.g., `bandit_test_id` for [Bandit analyzer](https://wiki.openstack.org/wiki/Security/Projects/Bandit)). |
+| `vulnerabilities[].identifiers` | An ordered array of references that identify a vulnerability on internal or external databases. |
+| `vulnerabilities[].identifiers[].type` | Type of the identifier. Possible values: common identifier types (among `cve`, `cwe`, `osvdb`, and `usn`) or analyzer-dependent ones (like `bandit_test_id` for [Bandit analyzer](https://wiki.openstack.org/wiki/Security/Projects/Bandit)). |
| `vulnerabilities[].identifiers[].name` | Name of the identifier for display purposes. |
| `vulnerabilities[].identifiers[].value` | Value of the identifier for matching purposes. |
| `vulnerabilities[].identifiers[].url` | URL to identifier's documentation. Optional. |
@@ -480,8 +479,8 @@ the report JSON unless stated otherwise. Presence of optional fields depends on
## Secret detection
GitLab is also able to detect secrets and credentials that have been unintentionally pushed to the
-repository (for example, an API key that allows write access to third-party deployment
-environments).
+repository, such as an API key that allows write access to third-party deployment
+environments.
This check is performed by a specific analyzer during the `sast` job. It runs regardless of the programming
language of your app, and you don't need to change anything to your
@@ -492,7 +491,7 @@ GitLab currently includes [Gitleaks](https://github.com/zricethezav/gitleaks) an
NOTE: **Note:**
The secrets analyzer will ignore "Password in URL" vulnerabilities if the password begins
with a dollar sign (`$`) as this likely indicates the password being used is an environment
-variable. For example, `https://username:$password@example.com/path/to/repo` will not be
+variable. For example, `https://username:$password@example.com/path/to/repo` won't be
detected, whereas `https://username:password@example.com/path/to/repo` would be detected.
## Security Dashboard
@@ -515,29 +514,29 @@ For more information about the vulnerabilities database update, check the
For self-managed GitLab instances in an environment with limited, restricted, or intermittent access
to external resources through the internet, some adjustments are required for the SAST job to
-successfully run. For more information, see [Offline environments](../offline_deployments/index.md).
+run successfully. For more information, see [Offline environments](../offline_deployments/index.md).
### Requirements for offline SAST
To use SAST in an offline environment, you need:
-- [Disable Docker-In-Docker](#disabling-docker-in-docker-for-sast)
+- To [disable Docker-In-Docker](#disabling-docker-in-docker-for-sast).
- GitLab Runner with the [`docker` or `kubernetes` executor](#requirements).
- Docker Container Registry with locally available copies of SAST [analyzer](https://gitlab.com/gitlab-org/security-products/analyzers) images.
NOTE: **Note:**
GitLab Runner has a [default `pull policy` of `always`](https://docs.gitlab.com/runner/executors/docker.html#using-the-always-pull-policy),
-meaning the runner will try to pull Docker images from the GitLab container registry even if a local
+meaning the Runner tries to pull Docker images from the GitLab container registry even if a local
copy is available. GitLab Runner's [`pull_policy` can be set to `if-not-present`](https://docs.gitlab.com/runner/executors/docker.html#using-the-if-not-present-pull-policy)
in an offline environment if you prefer using only locally available Docker images. However, we
-recommend keeping the pull policy setting to `always` as it will better enable updated scanners to
-be utilized within your CI/CD pipelines.
+recommend keeping the pull policy setting to `always` if not in an offline environment, as this
+enables the use of updated scanners in your CI/CD pipelines.
### Make GitLab SAST analyzer images available inside your Docker registry
For SAST with all [supported languages and frameworks](#supported-languages-and-frameworks),
-import the following default SAST analyzer images from `registry.gitlab.com` to your local "offline"
-registry:
+import the following default SAST analyzer images from `registry.gitlab.com` into your
+[local Docker container registry](../../packages/container_registry/index.md):
```plaintext
registry.gitlab.com/gitlab-org/security-products/analyzers/bandit:2
@@ -560,7 +559,7 @@ registry.gitlab.com/gitlab-org/security-products/analyzers/tslint:2
The process for importing Docker images into a local offline Docker registry depends on
**your network security policy**. Please consult your IT staff to find an accepted and approved
process by which external resources can be imported or temporarily accessed. Note that these scanners are [updated periodically](../index.md#maintenance-and-update-of-the-vulnerabilities-database)
-with new definitions, so consider if you are able to make periodic updates yourself.
+with new definitions, so consider if you're able to make periodic updates yourself.
For details on saving and transporting Docker images as a file, see Docker's documentation on
[`docker save`](https://docs.docker.com/engine/reference/commandline/save/), [`docker load`](https://docs.docker.com/engine/reference/commandline/load/),
@@ -568,10 +567,8 @@ For details on saving and transporting Docker images as a file, see Docker's doc
### Set SAST CI job variables to use local SAST analyzers
-[Override SAST environment variables](#customizing-the-sast-settings) to use to your [local container registry](./analyzers.md#using-a-custom-docker-mirror)
-as the source for SAST analyzer images.
-
-For example, assuming a local Docker registry repository of `localhost:5000/analyzers`:
+Add the following configuration to your `.gitlab-ci.yml` file. You must replace
+`SAST_ANALYZER_IMAGE_PREFIX` to refer to your local Docker container registry:
```yaml
include:
@@ -590,6 +587,6 @@ security reports without requiring internet access.
### Error response from daemon: error processing tar file: docker-tar: relocation error
This error occurs when the Docker version used to run the SAST job is `19.03.0`.
-You are advised to update to Docker `19.03.1` or greater. Older versions are not
+Consider updating to Docker `19.03.1` or greater. Older versions are not
affected. Read more in
[this issue](https://gitlab.com/gitlab-org/gitlab/issues/13830#note_211354992 "Current SAST container fails").
diff --git a/doc/user/clusters/applications.md b/doc/user/clusters/applications.md
index 40f75008219..be01540a293 100644
--- a/doc/user/clusters/applications.md
+++ b/doc/user/clusters/applications.md
@@ -837,7 +837,8 @@ management project. Refer to the
for the available configuration options.
CAUTION: **Caution:**
-Installation and removal of the Cilium [requires restart](https://cilium.readthedocs.io/en/stable/gettingstarted/k8s-install-gke/#restart-remaining-pods)
+Installation and removal of the Cilium requires a **manual**
+[restart](https://cilium.readthedocs.io/en/stable/gettingstarted/k8s-install-gke/#restart-remaining-pods)
of all affected pods in all namespaces to ensure that they are
[managed](https://cilium.readthedocs.io/en/stable/troubleshooting/#ensure-pod-is-managed-by-cilium)
by the correct networking plugin.
diff --git a/doc/user/compliance/license_compliance/index.md b/doc/user/compliance/license_compliance/index.md
index 3e468cbb607..9f77b3baad0 100644
--- a/doc/user/compliance/license_compliance/index.md
+++ b/doc/user/compliance/license_compliance/index.md
@@ -333,7 +333,7 @@ license_scanning:
For self-managed GitLab instances in an environment with limited, restricted, or intermittent access
to external resources through the internet, some adjustments are required for the License Compliance job to
-successfully run.
+successfully run. For more information, see [Offline environments](../../application_security/offline_deployments/index.md).
### Requirements for offline License Compliance
@@ -344,11 +344,11 @@ To use License Compliance in an offline environment, you need:
NOTE: **Note:**
GitLab Runner has a [default `pull policy` of `always`](https://docs.gitlab.com/runner/executors/docker.html#using-the-always-pull-policy),
-meaning the runner will try to pull Docker images from the GitLab container registry even if a local
+meaning the Runner tries to pull Docker images from the GitLab container registry even if a local
copy is available. GitLab Runner's [`pull_policy` can be set to `if-not-present`](https://docs.gitlab.com/runner/executors/docker.html#using-the-if-not-present-pull-policy)
in an offline environment if you prefer using only locally available Docker images. However, we
-recommend leaving the pull policy set to `always`, as it better enables updated scanners to be used
-within your CI/CD pipelines.
+recommend keeping the pull policy setting to `always` if not in an offline environment, as this
+enables the use of updated scanners in your CI/CD pipelines.
### Make GitLab License Compliance analyzer images available inside your Docker registry
@@ -371,10 +371,8 @@ For details on saving and transporting Docker images as a file, see Docker's doc
### Set License Compliance CI job variables to use local License Compliance analyzers
-Override License Compliance environment variables to use to your local container registry
-as the source for License Compliance analyzer images.
-
-For example, this assumes a local Docker registry repository of `localhost:5000/analyzers`:
+Add the following configuration to your `.gitlab-ci.yml` file. You must replace `image` to refer to
+the License Compliance Docker image hosted on your local Docker container registry:
```yaml
include:
diff --git a/doc/user/group/clusters/index.md b/doc/user/group/clusters/index.md
index 11dfaaf9655..f15ad2165de 100644
--- a/doc/user/group/clusters/index.md
+++ b/doc/user/group/clusters/index.md
@@ -6,8 +6,6 @@ type: reference
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/34758) in GitLab 11.6.
-## Overview
-
Similar to [project-level](../../project/clusters/index.md) and
[instance-level](../../instance/clusters/index.md) Kubernetes clusters,
group-level Kubernetes clusters allow you to connect a Kubernetes cluster to
@@ -22,47 +20,43 @@ and troubleshooting applications for your group cluster, see
## RBAC compatibility
-For each project under a group with a Kubernetes cluster, GitLab will
-create a restricted service account with [`edit`
-privileges](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles)
-in the project namespace.
+> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/29398) in GitLab 11.4.
+> - [Project namespace restriction](https://gitlab.com/gitlab-org/gitlab-foss/issues/51716) was introduced in GitLab 11.5.
-NOTE: **Note:**
-RBAC support was introduced in
-[GitLab 11.4](https://gitlab.com/gitlab-org/gitlab-foss/issues/29398), and
-Project namespace restriction was introduced in
-[GitLab 11.5](https://gitlab.com/gitlab-org/gitlab-foss/issues/51716).
+For each project under a group with a Kubernetes cluster, GitLab creates a restricted
+service account with [`edit` privileges](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles)
+in the project namespace.
## Cluster precedence
-GitLab will use the project's cluster before using any cluster belonging
-to the group containing the project if the project's cluster is available and not disabled.
-
-In the case of sub-groups, GitLab will use the cluster of the closest ancestor group
+If the project's cluster is available and not disabled, GitLab uses the
+project's cluster before using any cluster belonging to the group containing
+the project.
+In the case of sub-groups, GitLab uses the cluster of the closest ancestor group
to the project, provided the cluster is not disabled.
## Multiple Kubernetes clusters **(PREMIUM)**
-With GitLab Premium, you can associate more than one Kubernetes clusters to your
-group. That way you can have different clusters for different environments,
-like dev, staging, production, etc.
+With [GitLab Premium](https://about.gitlab.com/pricing/premium/), you can associate
+more than one Kubernetes cluster to your group, and maintain different clusters
+for different environments, such as development, staging, and production.
-Add another cluster similar to the first one and make sure to
-[set an environment scope](#environment-scopes-premium) that will
-differentiate the new cluster from the rest.
+When adding another cluster,
+[set an environment scope](#environment-scopes-premium) to help
+differentiate the new cluster from your other clusters.
## GitLab-managed clusters
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22011) in GitLab 11.5.
> - Became [optional](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/26565) in GitLab 11.11.
-You can choose to allow GitLab to manage your cluster for you. If your cluster is
-managed by GitLab, resources for your projects will be automatically created. See the
-[Access controls](../../project/clusters/add_remove_clusters.md#access-controls) section for details on which resources will
-be created.
+You can choose to allow GitLab to manage your cluster for you. If GitLab manages
+your cluster, resources for your projects will be automatically created. See the
+[Access controls](../../project/clusters/add_remove_clusters.md#access-controls)
+section for details on which resources GitLab creates for you.
-For clusters not managed by GitLab, project-specific resources will not be created
-automatically. If you are using [Auto DevOps](../../../topics/autodevops/index.md)
+For clusters not managed by GitLab, project-specific resources won't be created
+automatically. If you're using [Auto DevOps](../../../topics/autodevops/index.md)
for deployments with a cluster not managed by GitLab, you must ensure:
- The project's deployment service account has permissions to deploy to
@@ -72,8 +66,8 @@ for deployments with a cluster not managed by GitLab, you must ensure:
`KUBE_NAMESPACE` directly is discouraged.
NOTE: **Note:**
-If you [install applications](#installing-applications) on your cluster, GitLab will create
-the resources required to run these even if you have chosen to manage your own cluster.
+If you [install applications](#installing-applications) on your cluster, GitLab creates
+the resources required to run them even if you choose to manage your own cluster.
### Clearing the cluster cache
@@ -86,7 +80,8 @@ your cluster, which can cause deployment jobs to fail.
To clear the cache:
-1. Navigate to your group’s **Kubernetes** page, and select your cluster.
+1. Navigate to your group’s **{cloud-gear}** **Kubernetes** page,
+ and select your cluster.
1. Expand the **Advanced settings** section.
1. Click **Clear cluster cache**.
@@ -110,12 +105,12 @@ them with an environment scope. The environment scope associates clusters with
work.
While evaluating which environment matches the environment scope of a
-cluster, [cluster precedence](#cluster-precedence) will take
-effect. The cluster at the project level will take precedence, followed
+cluster, [cluster precedence](#cluster-precedence) takes
+effect. The cluster at the project level takes precedence, followed
by the closest ancestor group, followed by that groups' parent and so
on.
-For example, let's say we have the following Kubernetes clusters:
+For example, if your project has the following Kubernetes clusters:
| Cluster | Environment scope | Where |
| ---------- | ------------------- | ----------|
@@ -151,11 +146,11 @@ deploy to production:
url: https://example.com/
```
-The result will then be:
+The result is:
-- The Project cluster will be used for the `test` job.
-- The Staging cluster will be used for the `deploy to staging` job.
-- The Production cluster will be used for the `deploy to production` job.
+- The Project cluster is used for the `test` job.
+- The Staging cluster is used for the `deploy to staging` job.
+- The Production cluster is used for the `deploy to production` job.
## Cluster environments **(PREMIUM)**
@@ -166,8 +161,7 @@ are deployed to the Kubernetes cluster, see the documentation for
## Security of Runners
For important information about securely configuring GitLab Runners, see
-[Security of
-Runners](../../project/clusters/add_remove_clusters.md#security-of-gitlab-runners)
+[Security of Runners](../../project/clusters/add_remove_clusters.md#security-of-gitlab-runners)
documentation for project-level clusters.
## More information
diff --git a/doc/user/group/epics/img/epic_view_v12.3.png b/doc/user/group/epics/img/epic_view_v12.3.png
deleted file mode 100644
index 79758cf3d52..00000000000
--- a/doc/user/group/epics/img/epic_view_v12.3.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/group/epics/img/epic_view_v13.0.png b/doc/user/group/epics/img/epic_view_v13.0.png
new file mode 100644
index 00000000000..84fb835d6c6
--- /dev/null
+++ b/doc/user/group/epics/img/epic_view_v13.0.png
Binary files differ
diff --git a/doc/user/group/epics/index.md b/doc/user/group/epics/index.md
index f039a21f195..e9d27fdbdd5 100644
--- a/doc/user/group/epics/index.md
+++ b/doc/user/group/epics/index.md
@@ -58,7 +58,7 @@ An epic's page contains the following tabs:
- Hover over the total counts to see a breakdown of open and closed items.
- **Roadmap**: a roadmap view of child epics which have start and due dates.
-![epic view](img/epic_view_v12.3.png)
+![epic view](img/epic_view_v13.0.png)
## Adding an issue to an epic
@@ -75,6 +75,7 @@ the issue is automatically unlinked from its current parent.
To add an issue to an epic:
+1. Click the **Add** dropdown button.
1. Click **Add an issue**.
1. Identify the issue to be added, using either of the following methods:
- Paste the link of the issue.
@@ -91,7 +92,7 @@ Creating an issue from an epic enables you to maintain focus on the broader cont
To create an issue from an epic:
-1. On the epic's page, under **Epics and Issues**, click the arrow next to **Add an issue** and select **Create new issue**.
+1. On the epic's page, under **Epics and Issues**, click the **Add** dropdown button and select **Create new issue**.
1. Under **Title**, enter the title for the new issue.
1. From the **Project** dropdown, select the project in which the issue should be created.
1. Click **Create issue**.
@@ -128,6 +129,7 @@ the maximum depth being 5.
To add a child epic to an epic:
+1. Click the **Add** dropdown button.
1. Click **Add an epic**.
1. Identify the epic to be added, using either of the following methods:
- Paste the link of the epic.
diff --git a/doc/user/group/saml_sso/index.md b/doc/user/group/saml_sso/index.md
index 8dffb5c9df4..a3d9a14df10 100644
--- a/doc/user/group/saml_sso/index.md
+++ b/doc/user/group/saml_sso/index.md
@@ -257,6 +257,9 @@ Set other user attributes and claims according to the [assertions table](#assert
### Okta setup notes
+<i class="fa fa-youtube-play youtube" aria-hidden="true"></i>
+For a demo of the Okta SAML setup including SCIM, see [Demo: Okta Group SAML & SCIM setup](https://youtu.be/0ES9HsZq0AQ).
+
| GitLab Setting | Okta Field |
|--------------|----------------|
| Identifier | Audience URI |
diff --git a/doc/user/img/gitlab_snippet.png b/doc/user/img/gitlab_snippet.png
deleted file mode 100644
index 718347fc2d4..00000000000
--- a/doc/user/img/gitlab_snippet.png
+++ /dev/null
Binary files differ
diff --git a/doc/user/img/gitlab_snippet_v13_0.png b/doc/user/img/gitlab_snippet_v13_0.png
new file mode 100644
index 00000000000..33194c512df
--- /dev/null
+++ b/doc/user/img/gitlab_snippet_v13_0.png
Binary files differ
diff --git a/doc/user/img/snippet_clone_button_v13_0.png b/doc/user/img/snippet_clone_button_v13_0.png
new file mode 100644
index 00000000000..bf681e7349b
--- /dev/null
+++ b/doc/user/img/snippet_clone_button_v13_0.png
Binary files differ
diff --git a/doc/user/incident_management/index.md b/doc/user/incident_management/index.md
index 8b898a7b516..d8294d35d2a 100644
--- a/doc/user/incident_management/index.md
+++ b/doc/user/incident_management/index.md
@@ -1,5 +1,8 @@
---
description: "GitLab - Incident Management. GitLab offers solutions for handling incidents in your applications and services"
+stage: Monitor
+group: Health
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Incident Management
diff --git a/doc/user/infrastructure/index.md b/doc/user/infrastructure/index.md
index a50cdf1cf0e..a1d09373e2c 100644
--- a/doc/user/infrastructure/index.md
+++ b/doc/user/infrastructure/index.md
@@ -1,6 +1,152 @@
-# Infrastructure as Code
+# Infrastructure as code with GitLab managed Terraform State
-GitLab can be used to manage infrastructure as code. The following are some examples:
+[Terraform remote backends](https://www.terraform.io/docs/backends/index.html)
+enable you to store the state file in a remote, shared store. GitLab uses the
+[Terraform HTTP backend](https://www.terraform.io/docs/backends/types/http.html)
+to securely store the state files in local storage (the default) or
+[the remote store of your choice](../../administration/terraform_state.md).
-- [A generic tutorial for Terraform with GitLab](https://medium.com/@timhberry/terraform-pipelines-in-gitlab-415b9d842596).
-- [Terraform at GitLab](https://about.gitlab.com/blog/2019/11/12/gitops-part-2/).
+The GitLab managed Terraform state backend can store your Terraform state easily and
+securely, and spares you from setting up additional remote resources like
+Amazon S3 or Google Cloud Storage. Its features include:
+
+- Supporting encryption of the state file both in transit and at rest.
+- Locking and unlocking state.
+- Remote Terraform plan and apply execution.
+
+To get started, there are two different options when using GitLab managed Terraform State.
+
+- Use a local machine
+- Use GitLab CI
+
+## Get Started using local development
+
+If you are planning to only run `terraform plan` and `terraform apply` commands from your local machine, this is a simple way to get started.
+
+First, create your project on your GitLab instance.
+
+Next, define the Terraform backend in your Terraform project to be:
+
+```hcl
+terraform {
+ backend "http" {
+ }
+}
+```
+
+Finally, you need to run `terraform init` on your local machine and pass in the following options. The below example is using GitLab.com:
+
+```bash
+terraform init \
+ -backend-config="address=https://gitlab.com/api/v4/projects/<YOUR-PROJECT-ID>/terraform/state/<YOUR-PROJECT-NAME>" \
+ -backend-config="lock_address=https://gitlab.com/api/v4/projects/<YOUR-PROJECT-ID>/terraform/state/<YOUR-PROJECT-NAME>/lock" \
+ -backend-config="unlock_address=https://gitlab.com/api/v4/projects/<YOUR-PROJECT-ID>/terraform/state/<YOUR-PROJECT-NAME>/lock" \
+ -backend-config="username=<YOUR-USERNAME>" \
+ -backend-config="password=<YOUR-ACCESS-TOKEN>" \
+ -backend-config="lock_method=POST" \
+ -backend-config="unlock_method=DELETE" \
+ -backend-config="retry_wait_min=5"
+```
+
+This will initialize your Terraform state and store that state within your GitLab project.
+
+NOTE: YOUR-PROJECT-ID and YOUR-PROJECT-NAME can be accessed from the project main page.
+
+## Get Started using a GitLab CI
+
+Another route is to leverage GitLab CI to run your `terraform plan` and `terraform apply` commands.
+
+### Configure the CI variables
+
+To use the Terraform backend, [first create a Personal Access Token](../profile/personal_access_tokens.md) with the `api` scope. Keep in mind that the Terraform backend is restricted to tokens with [Maintainer access](../permissions.md) to the repository.
+
+To keep the Personal Access Token secure, add it as a [CI/CD environment variable](../../ci/variables/README.md). In this example we set ours to the ENV: `GITLAB_TF_PASSWORD`.
+
+If you are planning to use the ENV on a branch which is not protected, make sure to set the variable protection settings correctly.
+
+### Configure the Terraform backend
+
+Next we need to define the [http backend](https://www.terraform.io/docs/backends/types/http.html). In your Terraform project add the following code block in a `.tf` file such as `backend.tf` or wherever you desire to define the remote backend:
+
+```hcl
+terraform {
+ backend "http" {
+ }
+}
+```
+
+### Configure the CI YAML file
+
+Finally, configure a `.gitlab-ci.yaml`, which lives in the root of your project repository.
+
+In our case we are using a pre-built image:
+
+```yaml
+image:
+ name: hashicorp/terraform:light
+ entrypoint:
+ - '/usr/bin/env'
+ - 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
+```
+
+We then define some environment variables to make life easier. `GITLAB_TF_ADDRESS` is the URL of the GitLab instance where this pipeline runs, and `TF_ROOT` is the directory where the Terraform commands must be executed.
+
+```yaml
+variables:
+ GITLAB_TF_ADDRESS: ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/terraform/state/${CI_PROJECT_NAME}
+ TF_ROOT: ${CI_PROJECT_DIR}/environments/cloudflare/production
+
+cache:
+ paths:
+ - .terraform
+```
+
+In a `before_script`, pass a `terraform init` call containing configuration parameters.
+These parameters correspond to variables required by the
+[http backend](https://www.terraform.io/docs/backends/types/http.html):
+
+```yaml
+before_script:
+ - cd ${TF_ROOT}
+ - terraform --version
+ - terraform init -backend-config="address=${GITLAB_TF_ADDRESS}" -backend-config="lock_address=${GITLAB_TF_ADDRESS}/lock" -backend-config="unlock_address=${GITLAB_TF_ADDRESS}/lock" -backend-config="username=${GITLAB_USER_LOGIN}" -backend-config="password=${GITLAB_TF_PASSWORD}" -backend-config="lock_method=POST" -backend-config="unlock_method=DELETE" -backend-config="retry_wait_min=5"
+
+stages:
+ - validate
+ - build
+ - test
+ - deploy
+
+validate:
+ stage: validate
+ script:
+ - terraform validate
+
+plan:
+ stage: build
+ script:
+ - terraform plan
+ - terraform show
+
+apply:
+ stage: deploy
+ environment:
+ name: production
+ script:
+ - terraform apply
+ dependencies:
+ - plan
+ when: manual
+ only:
+ - master
+```
+
+### Push to GitLab
+
+Pushing your project to GitLab triggers a CI job pipeline, which runs the `terraform init`, `terraform validate`, and `terraform plan` commands automatically.
+
+The output from the above `terraform` commands should be viewable in the job logs.
+
+## Example project
+
+See [this reference project](https://gitlab.com/nicholasklick/gitlab-terraform-aws) using GitLab and Terraform to deploy a basic AWS EC2 within a custom VPC.
diff --git a/doc/user/packages/container_registry/img/expiration_policy_app_v13_0.png b/doc/user/packages/container_registry/img/expiration_policy_app_v13_0.png
index a38014a2b9b..81e516e833b 100644
--- a/doc/user/packages/container_registry/img/expiration_policy_app_v13_0.png
+++ b/doc/user/packages/container_registry/img/expiration_policy_app_v13_0.png
Binary files differ
diff --git a/doc/user/packages/container_registry/index.md b/doc/user/packages/container_registry/index.md
index 9f4702a09e5..7603e99e578 100644
--- a/doc/user/packages/container_registry/index.md
+++ b/doc/user/packages/container_registry/index.md
@@ -505,6 +505,7 @@ then goes through a process of excluding tags from it until only the ones to be
1. Orders the remaining tags by `created_date`.
1. Excludes from the list the N tags based on the `keep_n` value (Number of tags to retain).
1. Excludes from the list the tags older than the `older_than` value (Expiration interval).
+1. Excludes from the list any tags matching the `name_regex_keep` value (Images to preserve).
1. Finally, the remaining tags in the list are deleted from the Container Registry.
### Managing project expiration policy through the UI
@@ -520,6 +521,7 @@ The UI allows you to configure the following:
- **Expiration schedule:** how often the cron job checking the tags should run.
- **Number of tags to retain:** how many tags to _always_ keep for each image.
- **Docker tags with names matching this regex pattern will expire:** the regex used to determine what tags should be expired. To qualify all tags for expiration, use the default value of `.*`.
+- **Docker tags with names matching this regex pattern will be preserved:** the regex used to determine what tags should be preserved. To preserve all tags, use the default value of `.*`.
### Managing project expiration policy through the API
@@ -527,16 +529,10 @@ You can set, update, and disable the expiration policies using the GitLab API.
Examples:
-- Select all tags, keep at least 1 tag per image, expire any tag older than 14 days, run once a month, and the policy is enabled:
+- Select all tags, keep at least 1 tag per image, expire any tag older than 14 days, run once a month, preserve any images with the name `master` and the policy is enabled:
```shell
- curl --request PUT --header 'Content-Type: application/json;charset=UTF-8' --header "PRIVATE-TOKEN: <your_access_token>" --data-binary '{"container_expiration_policy_attributes":{"cadence":"1month","enabled":true,"keep_n":1,"older_than":"14d","name_regex":".*"}}' 'https://gitlab.example.com/api/v4/projects/2'
- ```
-
-- Select only tags with a name that contains `stable`, keep at least 50 tag per image, expire any tag older than 7 days, run every day, and the policy is enabled:
-
- ```shell
- curl --request PUT --header 'Content-Type: application/json;charset=UTF-8' --header "PRIVATE-TOKEN: <your_access_token>" --data-binary '{"container_expiration_policy_attributes":{"cadence":"1day","enabled":true,"keep_n":50"older_than":"7d","name_regex":"*stable"}}' 'https://gitlab.example.com/api/v4/projects/2'
+ curl --request PUT --header 'Content-Type: application/json;charset=UTF-8' --header "PRIVATE-TOKEN: <your_access_token>" --data-binary '{"container_expiration_policy_attributes":{"cadence":"1month","enabled":true,"keep_n":1,"older_than":"14d","name_regex":"","name_regex_delete":".*","name_regex_keep":".*-master"}}' 'https://gitlab.example.com/api/v4/projects/2'
```
See the API documentation for further details: [Edit project](../../../api/projects.md#edit-project).
@@ -552,10 +548,12 @@ being cleaned up will be minimal.
## Limitations
-Moving or renaming existing Container Registry repositories is not supported
+- Moving or renaming existing Container Registry repositories is not supported
once you have pushed images, because the images are signed, and the
signature includes the repository name. To move or rename a repository with a
Container Registry, you will have to delete all existing images.
+- Prior to GitLab 12.10, any tags that use the same image ID as the `latest` tag
+will not be deleted by the expiration policy.
## Troubleshooting the GitLab Container Registry
diff --git a/doc/user/packages/maven_repository/index.md b/doc/user/packages/maven_repository/index.md
index 34716945e6c..bc40961d00f 100644
--- a/doc/user/packages/maven_repository/index.md
+++ b/doc/user/packages/maven_repository/index.md
@@ -673,7 +673,7 @@ The example below shows how to create a new package each time the `master` branc
is updated:
1. Create a `ci_settings.xml` file that will serve as Maven's `settings.xml` file.
- Add the server section with the same id you defined in your `pom.xml` file.
+ Add the server section with the same ID you defined in your `pom.xml` file.
For example, in our case it's `gitlab-maven`:
```xml
diff --git a/doc/user/packages/nuget_repository/index.md b/doc/user/packages/nuget_repository/index.md
index ed936b546d2..cb769b34b53 100644
--- a/doc/user/packages/nuget_repository/index.md
+++ b/doc/user/packages/nuget_repository/index.md
@@ -201,7 +201,7 @@ nuget install <package_id> -OutputDirectory <output_directory> \
Where:
-- `<package_id>` is the package id.
+- `<package_id>` is the package ID.
- `<output_directory>` is the output directory, where the package will be installed.
- `<package_version>` (Optional) is the package version.
- `<source_name>` (Optional) is the source name.
@@ -222,5 +222,5 @@ dotnet add package <package_id> \
Where:
-- `<package_id>` is the package id.
+- `<package_id>` is the package ID.
- `<package_version>` (Optional) is the package version.
diff --git a/doc/user/packages/pypi_repository/index.md b/doc/user/packages/pypi_repository/index.md
index 2904ce06531..250c062039a 100644
--- a/doc/user/packages/pypi_repository/index.md
+++ b/doc/user/packages/pypi_repository/index.md
@@ -225,7 +225,7 @@ Where:
- `<package_name>` is the package name.
- `<personal_access_token>` is a personal access token with the `read_api` scope.
-- `<project_id>` is the project id number.
+- `<project_id>` is the project ID.
If you were following the guide above and want to test installing the
`MyPyPiPackage` package, you can run the following:
diff --git a/doc/user/permissions.md b/doc/user/permissions.md
index 07fba61ca34..f23f1858883 100644
--- a/doc/user/permissions.md
+++ b/doc/user/permissions.md
@@ -148,6 +148,7 @@ The following table depicts the various user permission levels in a project.
| Delete wiki pages | | | | ✓ | ✓ |
| View project Audit Events | | | | ✓ | ✓ |
| Manage [push rules](../push_rules/push_rules.md) | | | | ✓ | ✓ |
+| Manage [project access tokens](./project/settings/project_access_tokens.md) **(CORE ONLY)** | | | | ✓ | ✓ |
| Switch visibility level | | | | | ✓ |
| Transfer project to another namespace | | | | | ✓ |
| Remove fork relationship | | | | | ✓ |
diff --git a/doc/user/profile/notifications.md b/doc/user/profile/notifications.md
index a67716ab0d0..ae00f3ace57 100644
--- a/doc/user/profile/notifications.md
+++ b/doc/user/profile/notifications.md
@@ -211,17 +211,17 @@ The following table lists all GitLab-specific email headers:
| Header | Description |
|------------------------------------|-------------------------------------------------------------------------|
-| X-GitLab-Group-Id **(PREMIUM)** | The group's ID. Only present on notification emails for epics. |
-| X-GitLab-Group-Path **(PREMIUM)** | The group's path. Only present on notification emails for epics. |
-| X-GitLab-Project | The name of the project the notification belongs to. |
-| X-GitLab-Project-Id | The project's ID. |
-| X-GitLab-Project-Path | The project's path. |
-| X-GitLab-(Resource)-ID | The ID of the resource the notification is for. The resource, for example, can be `Issue`, `MergeRequest`, `Commit`, or another such resource. |
-| X-GitLab-Discussion-ID | The ID of the thread the comment belongs to, in notification emails for comments. |
-| X-GitLab-Pipeline-Id | The ID of the pipeline the notification is for, in notification emails for pipelines. |
-| X-GitLab-Reply-Key | A unique token to support reply by email. |
-| X-GitLab-NotificationReason | The reason for the notification. This can be `mentioned`, `assigned`, or `own_activity`. |
-| List-Id | The path of the project in an RFC 2919 mailing list identifier. This is useful for email organization with filters, for example. |
+| `X-GitLab-Group-Id` **(PREMIUM)** | The group's ID. Only present on notification emails for epics. |
+| `X-GitLab-Group-Path` **(PREMIUM)** | The group's path. Only present on notification emails for epics. |
+| `X-GitLab-Project` | The name of the project the notification belongs to. |
+| `X-GitLab-Project-Id` | The project's ID. |
+| `X-GitLab-Project-Path` | The project's path. |
+| `X-GitLab-(Resource)-ID` | The ID of the resource the notification is for. The resource, for example, can be `Issue`, `MergeRequest`, `Commit`, or another such resource. |
+| `X-GitLab-Discussion-ID` | The ID of the thread the comment belongs to, in notification emails for comments. |
+| `X-GitLab-Pipeline-Id` | The ID of the pipeline the notification is for, in notification emails for pipelines. |
+| `X-GitLab-Reply-Key` | A unique token to support reply by email. |
+| `X-GitLab-NotificationReason` | The reason for the notification. This can be `mentioned`, `assigned`, or `own_activity`. |
+| `List-Id` | The path of the project in an RFC 2919 mailing list identifier. This is useful for email organization with filters, for example. |
### X-GitLab-NotificationReason
diff --git a/doc/user/profile/personal_access_tokens.md b/doc/user/profile/personal_access_tokens.md
index e05528f5696..87c1fe4007a 100644
--- a/doc/user/profile/personal_access_tokens.md
+++ b/doc/user/profile/personal_access_tokens.md
@@ -8,7 +8,7 @@ type: concepts, howto
> - [Notifications about expiring tokens](https://gitlab.com/gitlab-org/gitlab/-/issues/3649) added in GitLab 12.6.
> - [Token lifetime limits](https://gitlab.com/gitlab-org/gitlab/-/issues/3649) added in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.6.
-If you're unable to use [OAuth2](../../api/oauth2.md), you can use a personal access token to authenticate with the [GitLab API](../../api/README.md#personal-access-tokens).
+If you're unable to use [OAuth2](../../api/oauth2.md), you can use a personal access token to authenticate with the [GitLab API](../../api/README.md#personalproject-access-tokens).
You can also use personal access tokens with Git to authenticate over HTTP or SSH. Personal access tokens are required when [Two-Factor Authentication (2FA)](../account/two_factor_authentication.md) is enabled. In both cases, you can authenticate with a token in place of your password.
@@ -17,7 +17,7 @@ Personal access tokens expire on the date you define, at midnight UTC.
- GitLab runs a check at 01:00 AM UTC every day to identify personal access tokens that will expire in under seven days. The owners of these tokens are notified by email.
- In GitLab Ultimate, administrators may [limit the lifetime of personal access tokens](../admin_area/settings/account_and_limit_settings.md#limiting-lifetime-of-personal-access-tokens-ultimate-only).
-For examples of how you can use a personal access token to authenticate with the API, see the following section from our [API Docs](../../api/README.md#personal-access-tokens).
+For examples of how you can use a personal access token to authenticate with the API, see the following section from our [API Docs](../../api/README.md#personalproject-access-tokens).
GitLab also offers [impersonation tokens](../../api/README.md#impersonation-tokens) which are created by administrators via the API. They're a great fit for automated authentication as a specific user.
diff --git a/doc/user/project/clusters/index.md b/doc/user/project/clusters/index.md
index bb8cefd755d..51fe3fbf168 100644
--- a/doc/user/project/clusters/index.md
+++ b/doc/user/project/clusters/index.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Kubernetes clusters
> - [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/issues/35954) in GitLab 10.1 for projects.
diff --git a/doc/user/project/clusters/kubernetes_pod_logs.md b/doc/user/project/clusters/kubernetes_pod_logs.md
index 2ccbf4146e5..1b7a6968e15 100644
--- a/doc/user/project/clusters/kubernetes_pod_logs.md
+++ b/doc/user/project/clusters/kubernetes_pod_logs.md
@@ -4,10 +4,11 @@
> - [Moved](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/25455) to [GitLab Core](https://about.gitlab.com/pricing/) 12.9.
GitLab makes it easy to view the logs of running pods in [connected Kubernetes clusters](index.md).
-By displaying the logs directly in GitLab in the **Log Explorer**, developers can avoid having to manage console tools or jump to a different interface.
+By displaying the logs directly in GitLab in the **Log Explorer**, developers can avoid
+managing console tools or jumping to a different interface.
NOTE: **Kubernetes + GitLab**
-Everything you need to build, test, deploy, and run your app at scale.
+Everything you need to build, test, deploy, and run your application at scale.
[Learn more](https://about.gitlab.com/solutions/kubernetes/).
## Overview
@@ -22,7 +23,8 @@ To learn more, see [APM - Log Explorer](https://www.youtube.com/watch?v=hWclZHA7
## Requirements
-[Deploying to a Kubernetes environment](../deploy_boards.md#enabling-deploy-boards) is required in order to be able to use Logs.
+[Deploying to a Kubernetes environment](../deploy_boards.md#enabling-deploy-boards)
+is required to use Logs.
## Usage
@@ -43,9 +45,12 @@ the **Log Explorer**.
Logs can be displayed by clicking on a specific pod from [Deploy Boards](../deploy_boards.md):
-1. Go to **{cloud-gear}** **Operations > Environments** and find the environment which contains the desired pod, like `production`.
-1. On the **Environments** page, you should see the status of the environment's pods with [Deploy Boards](../deploy_boards.md).
-1. When mousing over the list of pods, a tooltip will appear with the exact pod name and status.
+1. Go to **{cloud-gear}** **Operations > Environments** and find the environment
+ which contains the desired pod, like `production`.
+1. On the **Environments** page, you should see the status of the environment's
+ pods with [Deploy Boards](../deploy_boards.md).
+1. When mousing over the list of pods, a tooltip will appear with the exact pod name
+ and status.
![Deploy Boards pod list](img/pod_logs_deploy_board.png)
1. Click on the desired pod to display the **Log Explorer**.
@@ -55,21 +60,25 @@ The **Log Explorer** lets you filter the logs by:
- Pods.
- [From GitLab 12.4](https://gitlab.com/gitlab-org/gitlab/issues/5769), environments.
-- [From GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21656), [full text search](#full-text-search).
+- [From GitLab 12.7](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/21656),
+ [full text search](#full-text-search).
- [From GitLab 12.8](https://gitlab.com/gitlab-org/gitlab/issues/197879), dates.
-Loading more than 500 log lines is possible from [GitLab 12.9](https://gitlab.com/gitlab-org/gitlab/-/issues/198050) onwards.
+Loading more than 500 log lines is possible from
+[GitLab 12.9](https://gitlab.com/gitlab-org/gitlab/-/issues/198050) onward.
-Support for pods with multiple containers is coming [in a future release](https://gitlab.com/gitlab-org/gitlab/issues/13404).
+Support for pods with multiple containers is coming
+[in a future release](https://gitlab.com/gitlab-org/gitlab/issues/13404).
-Support for historical data is coming [in a future release](https://gitlab.com/gitlab-org/gitlab/issues/196191).
+Support for historical data is coming
+[in a future release](https://gitlab.com/gitlab-org/gitlab/issues/196191).
### Filter by date
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/197879) in GitLab 12.8.
-When you enable [Elastic Stack](../../clusters/applications.md#elastic-stack) on your cluster,
-you can filter logs displayed in the **Log Explorer** by date.
+When you enable [Elastic Stack](../../clusters/applications.md#elastic-stack)
+on your cluster, you can filter logs displayed in the **Log Explorer** by date.
Click **Show last** in the **Log Explorer** to see the available options.
@@ -80,7 +89,8 @@ Click **Show last** in the **Log Explorer** to see the available options.
When you enable [Elastic Stack](../../clusters/applications.md#elastic-stack) on your cluster,
you can search the content of your logs through a search bar.
-The search is passed on to Elasticsearch using the [simple_query_string](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html)
+The search is passed on to Elasticsearch using the
+[simple_query_string](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-simple-query-string-query.html)
Elasticsearch function, which supports the following operators:
| Operator | Description |
diff --git a/doc/user/project/code_owners.md b/doc/user/project/code_owners.md
index e3ec936d51c..45d9e8f04e0 100644
--- a/doc/user/project/code_owners.md
+++ b/doc/user/project/code_owners.md
@@ -115,7 +115,7 @@ Example `CODEOWNERS` file:
# This will match all files for which the file name ends in `.rb`
*.rb @ruby-owner
-# Files with a `#` can still be accesssed by escaping the pound sign
+# Files with a `#` can still be accessed by escaping the pound sign
\#file_with_pound.rb @owner-file-with-pound
# Multiple codeowners can be specified, separated by spaces or tabs
diff --git a/doc/user/project/import/jira.md b/doc/user/project/import/jira.md
index 49224001fe6..db48282a8f3 100644
--- a/doc/user/project/import/jira.md
+++ b/doc/user/project/import/jira.md
@@ -9,6 +9,15 @@ Jira issues import is an MVC, project-level feature, meaning that issues from mu
Jira projects can be imported into a GitLab project. MVC version imports issue title and description
as well as some other issue metadata as a section in the issue description.
+## Future iterations
+
+As of GitLab 12.10, the Jira issue importer only brings across the title and description of
+an issue.
+
+There is an [epic](https://gitlab.com/groups/gitlab-org/-/epics/2738) tracking the
+addition of items such as issue assignees, labels, comments, user mapping, and much more.
+These will be included in the future iterations of the GitLab Jira importer.
+
## Prerequisites
### Permissions
diff --git a/doc/user/project/integrations/generic_alerts.md b/doc/user/project/integrations/generic_alerts.md
index 1a000fd1c44..f89922edb7a 100644
--- a/doc/user/project/integrations/generic_alerts.md
+++ b/doc/user/project/integrations/generic_alerts.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: Health
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Generic alerts integration
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/13203) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.4.
diff --git a/doc/user/project/integrations/gitlab_slack_application.md b/doc/user/project/integrations/gitlab_slack_application.md
index 1ef2f593621..49b6a3f6450 100644
--- a/doc/user/project/integrations/gitlab_slack_application.md
+++ b/doc/user/project/integrations/gitlab_slack_application.md
@@ -1,13 +1,14 @@
# GitLab Slack application **(FREE ONLY)**
+> - Introduced in GitLab 9.4.
+> - Distributed to Slack App Directory in GitLab 10.2.
+
NOTE: **Note:**
The GitLab Slack application is only configurable for GitLab.com. It will **not**
work for on-premises installations where you can configure the
[Slack slash commands](slack_slash_commands.md) service instead. We're planning
to make this configurable for all GitLab installations, but there's
no ETA - see [#28164](https://gitlab.com/gitlab-org/gitlab/issues/28164).
-It was first introduced in GitLab 9.4 and distributed to Slack App Directory in
-GitLab 10.2.
Slack provides a native application which you can enable via your project's
integrations on GitLab.com.
@@ -35,12 +36,30 @@ docs on [Adding an app to your team](https://slack.com/help/articles/202035138).
To enable GitLab's service for your Slack team:
-1. Go to your project's **Settings > Integration > Slack application** (only
- visible on GitLab.com)
-1. Click the "Add to Slack" button
+1. Go to your project's **{settings}** **Settings > Integration > Slack application** (only
+ visible on GitLab.com).
+1. Click **Add to Slack**.
That's all! You can now start using the Slack slash commands.
+## Create a project alias for Slack
+
+To create a project alias on GitLab.com for Slack integration:
+
+1. Go to your project's home page.
+1. Navigate to **{settings}** **Settings > Integrations** (only visible on GitLab.com)
+1. On the **Integrations** page, click **Slack application**.
+1. The current **Project Alias**, if any, is displayed. To edit this value,
+ click **Edit**.
+1. Enter your desired alias, and click **Save changes**.
+
+Some Slack commands require a project alias, and fail with the following error
+if the project alias is incorrect or missing from the command:
+
+```plaintext
+GitLab error: project or alias not found
+```
+
## Usage
After confirming the installation, you, and everyone else in your Slack team,
diff --git a/doc/user/project/integrations/mattermost_slash_commands.md b/doc/user/project/integrations/mattermost_slash_commands.md
index a23d8d7306d..6a202c9a130 100644
--- a/doc/user/project/integrations/mattermost_slash_commands.md
+++ b/doc/user/project/integrations/mattermost_slash_commands.md
@@ -17,21 +17,21 @@ If you have the Omnibus GitLab package installed, Mattermost is already bundled
in it. All you have to do is configure it. Read more in the
[Omnibus GitLab Mattermost documentation](https://docs.gitlab.com/omnibus/gitlab-mattermost/).
-## Automated Configuration
+## Automated configuration
If Mattermost is installed on the same server as GitLab, the configuration process can be
done for you by GitLab.
Go to the Mattermost Slash Command service on your project and click the 'Add to Mattermost' button.
-## Manual Configuration
+## Manual configuration
The configuration consists of two parts. First you need to enable the slash
commands in Mattermost and then enable the service in GitLab.
### Step 1. Enable custom slash commands in Mattermost
-This step is only required when using a source install, omnibus installs will be
+This step is only required when using a source install, Omnibus installs will be
preconfigured with the right settings.
The first thing to do in Mattermost is to enable custom slash commands from
@@ -145,6 +145,15 @@ trigger word followed by <kbd>help</kbd>. Example: `/gitlab help`
The permissions to run the [available commands](#available-slash-commands) derive from
the [permissions you have on the project](../../permissions.md#project-members-permissions).
+## Troubleshooting
+
+If an event is not being triggered, confirm that the channel you're using is a public one, as
+Mattermost webhooks do not have access to private channels.
+
+If a private channel is required, you can edit the webhook's channel in Mattermost and
+select a private channel. It is not possible to use different channels for
+different types of notifications - all events will be sent to the specified channel.
+
## Further reading
- [Mattermost slash commands documentation](https://docs.mattermost.com/developer/slash-commands.html)
diff --git a/doc/user/project/integrations/prometheus.md b/doc/user/project/integrations/prometheus.md
index 4a4c536c80f..8fca670eb41 100644
--- a/doc/user/project/integrations/prometheus.md
+++ b/doc/user/project/integrations/prometheus.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Prometheus integration
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8935) in GitLab 9.0.
diff --git a/doc/user/project/integrations/prometheus_library/cloudwatch.md b/doc/user/project/integrations/prometheus_library/cloudwatch.md
index 143130aebea..911493cdae9 100644
--- a/doc/user/project/integrations/prometheus_library/cloudwatch.md
+++ b/doc/user/project/integrations/prometheus_library/cloudwatch.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Monitoring AWS Resources
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12621) in GitLab 9.4
diff --git a/doc/user/project/integrations/prometheus_library/haproxy.md b/doc/user/project/integrations/prometheus_library/haproxy.md
index fa3590af8cf..712805b75f2 100644
--- a/doc/user/project/integrations/prometheus_library/haproxy.md
+++ b/doc/user/project/integrations/prometheus_library/haproxy.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Monitoring HAProxy
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12621) in GitLab 9.4
diff --git a/doc/user/project/integrations/prometheus_library/index.md b/doc/user/project/integrations/prometheus_library/index.md
index c2b3676b23f..6f2c2477eee 100644
--- a/doc/user/project/integrations/prometheus_library/index.md
+++ b/doc/user/project/integrations/prometheus_library/index.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Prometheus Metrics library
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8935) in GitLab 9.0.
diff --git a/doc/user/project/integrations/prometheus_library/kubernetes.md b/doc/user/project/integrations/prometheus_library/kubernetes.md
index ca1555c793b..29efe08e53d 100644
--- a/doc/user/project/integrations/prometheus_library/kubernetes.md
+++ b/doc/user/project/integrations/prometheus_library/kubernetes.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Monitoring Kubernetes
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/8935) in GitLab 9.0.
diff --git a/doc/user/project/integrations/prometheus_library/nginx.md b/doc/user/project/integrations/prometheus_library/nginx.md
index d5f078f3ddf..eda6f64ccac 100644
--- a/doc/user/project/integrations/prometheus_library/nginx.md
+++ b/doc/user/project/integrations/prometheus_library/nginx.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Monitoring NGINX
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/12621) in GitLab 9.4
diff --git a/doc/user/project/integrations/prometheus_library/nginx_ingress.md b/doc/user/project/integrations/prometheus_library/nginx_ingress.md
index 62f8c08e298..b2bc217e8bf 100644
--- a/doc/user/project/integrations/prometheus_library/nginx_ingress.md
+++ b/doc/user/project/integrations/prometheus_library/nginx_ingress.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Monitoring NGINX Ingress Controller
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/22133) in GitLab 11.7.
diff --git a/doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md b/doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md
index af3b725deb6..6ba0a7610f6 100644
--- a/doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md
+++ b/doc/user/project/integrations/prometheus_library/nginx_ingress_vts.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Monitoring NGINX Ingress Controller with VTS metrics
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/13438) in GitLab 9.5.
diff --git a/doc/user/project/integrations/prometheus_units.md b/doc/user/project/integrations/prometheus_units.md
index d649a14ecf2..691d20e5de2 100644
--- a/doc/user/project/integrations/prometheus_units.md
+++ b/doc/user/project/integrations/prometheus_units.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Unit formats reference
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/201999) in GitLab 12.9.
diff --git a/doc/user/project/integrations/webhooks.md b/doc/user/project/integrations/webhooks.md
index 6dd2fd3b61b..89e84dda0e8 100644
--- a/doc/user/project/integrations/webhooks.md
+++ b/doc/user/project/integrations/webhooks.md
@@ -1294,7 +1294,7 @@ X-Gitlab-Event: Job Hook
}
```
-Note that `commit.id` is the id of the pipeline, not the id of the commit.
+Note that `commit.id` is the ID of the pipeline, not the ID of the commit.
## Image URL rewriting
diff --git a/doc/user/project/integrations/youtrack.md b/doc/user/project/integrations/youtrack.md
index a72eaaa9ff1..119a53f5c35 100644
--- a/doc/user/project/integrations/youtrack.md
+++ b/doc/user/project/integrations/youtrack.md
@@ -14,8 +14,8 @@ To enable YouTrack integration in a project:
| Field | Description |
|:----------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Description** | Name for the issue tracker (to differentiate between instances, for example). |
- | **Project url** | URL to the project in YouTrack which is being linked to this GitLab project. |
- | **Issues url** | URL to the issue in YouTrack project that is linked to this GitLab project. Note that the **Issues url** requires `:id` in the URL. This ID is used by GitLab as a placeholder to replace the issue number. |
+ | **Project URL** | URL to the project in YouTrack which is being linked to this GitLab project. |
+ | **Issues URL** | URL to the issue in YouTrack project that is linked to this GitLab project. Note that the **Issues URL** requires `:id` in the URL. This ID is used by GitLab as a placeholder to replace the issue number. |
1. Click the **Save changes** button.
diff --git a/doc/user/project/issues/csv_export.md b/doc/user/project/issues/csv_export.md
index ec53b3dbbba..af01534a67f 100644
--- a/doc/user/project/issues/csv_export.md
+++ b/doc/user/project/issues/csv_export.md
@@ -70,7 +70,7 @@ Data will be encoded with a comma as the column delimiter, with `"` used to quot
| Labels | Title of any labels joined with a `,` |
| Time Estimate | [Time estimate](../time_tracking.md#estimates) in seconds |
| Time Spent | [Time spent](../time_tracking.md#time-spent) in seconds |
-| Epic ID | Id of the parent epic **(ULTIMATE)**, introduced in 12.7 |
+| Epic ID | ID of the parent epic **(ULTIMATE)**, introduced in 12.7 |
| Epic Title | Title of the parent epic **(ULTIMATE)**, introduced in 12.7 |
## Limitations
diff --git a/doc/user/project/issues/managing_issues.md b/doc/user/project/issues/managing_issues.md
index b68efe89cc2..290e4f81ca3 100644
--- a/doc/user/project/issues/managing_issues.md
+++ b/doc/user/project/issues/managing_issues.md
@@ -92,9 +92,17 @@ field values using query string parameters in a URL. This is useful for embeddin
a URL in an external HTML page, and also certain scenarios where you want the user to
create an issue with certain fields prefilled.
-The title, description, and description template fields can be prefilled using
-this method. You cannot pre-fill both the description and description template fields
-in the same URL (since a description template also populates the description field).
+The title, description, description template, and confidential fields can be prefilled
+using this method. You cannot pre-fill both the description and description template
+fields in the same URL (since a description template also populates the description
+field).
+
+| Field | URL Parameter Name | Notes |
+|----------------------|-----------------------|-------------------------------------------------------|
+| title | `issue[title]` | |
+| description | `issue[description]` | |
+| description template | `issuable_template` | |
+| confidential | `issue[confidential]` | Parameter value must be `true` to set to confidential |
Follow these examples to form your new issue URL with prefilled fields.
@@ -102,6 +110,8 @@ Follow these examples to form your new issue URL with prefilled fields.
and a pre-filled description, the URL would be `https://gitlab.com/gitlab-org/gitlab-foss/issues/new?issue[title]=Validate%20new%20concept&issue[description]=Research%20idea`
- For a new issue in the GitLab Community Edition project with a pre-filled title
and a pre-filled description template, the URL would be `https://gitlab.com/gitlab-org/gitlab-foss/issues/new?issue[title]=Validate%20new%20concept&issuable_template=Research%20proposal`
+- For a new issue in the GitLab Community Edition project with a pre-filled title,
+ a pre-filled description, and the confidential flag set, the URL would be `https://gitlab.com/gitlab-org/gitlab-foss/issues/new?issue[title]=Validate%20new%20concept&issue[description]=Research%20idea&issue[confidential]=true`
## Moving Issues
diff --git a/doc/user/project/merge_requests/browser_performance_testing.md b/doc/user/project/merge_requests/browser_performance_testing.md
index 3dd87fcc8f5..b76c6397204 100644
--- a/doc/user/project/merge_requests/browser_performance_testing.md
+++ b/doc/user/project/merge_requests/browser_performance_testing.md
@@ -6,55 +6,50 @@ type: reference, howto
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/3507) in [GitLab Premium](https://about.gitlab.com/pricing/) 10.3.
-If your application offers a web interface and you are using
+If your application offers a web interface and you're using
[GitLab CI/CD](../../../ci/README.md), you can quickly determine the performance
impact of pending code changes.
## Overview
GitLab uses [Sitespeed.io](https://www.sitespeed.io), a free and open source
-tool for measuring the performance of web sites, and has built a simple
-[Sitespeed plugin](https://gitlab.com/gitlab-org/gl-performance)
-which outputs the results in a file called `performance.json`. This plugin
-outputs the performance score for each page that is analyzed.
-
+tool, for measuring the performance of web sites. GitLab has built a simple
+[Sitespeed plugin](https://gitlab.com/gitlab-org/gl-performance) which outputs
+the performance score for each page analyzed in a file called `performance.json`.
The [Sitespeed.io performance score](https://examples.sitespeed.io/6.0/2017-11-23-23-43-35/help.html)
-is a composite value based on best practices, and we will be expanding support
-for [additional metrics](https://gitlab.com/gitlab-org/gitlab/issues/4370)
-in a future release.
+is a composite value based on best practices.
-Going a step further, GitLab can show the Performance report right
-in the merge request widget area (see below).
+GitLab can [show the Performance report](#how-browser-performance-testing-works)
+in the merge request widget area.
## Use cases
-For instance, consider the following workflow:
+Consider the following workflow:
1. A member of the marketing team is attempting to track engagement by adding a new tool.
1. With browser performance metrics, they see how their changes are impacting the usability
of the page for end users.
-1. The metrics show that after their changes the performance score of the page has gone down.
-1. When looking at the detailed report, they see that the new JavaScript library was
- included in `<head>` which affects loading page speed.
-1. They ask a front end developer to help them, who sets the library to load asynchronously.
-1. The frontend developer approves the merge request and authorizes its deployment to production.
+1. The metrics show that after their changes, the performance score of the page has gone down.
+1. When looking at the detailed report, they see the new JavaScript library was
+ included in `<head>`, which affects loading page speed.
+1. They ask for help from a front end developer, who sets the library to load asynchronously.
+1. The frontend developer approves the merge request, and authorizes its deployment to production.
-## How it works
+## How browser performance testing works
-First of all, you need to define a job in your `.gitlab-ci.yml` file that generates the
+First, define a job in your `.gitlab-ci.yml` file that generates the
[Performance report artifact](../../../ci/pipelines/job_artifacts.md#artifactsreportsperformance-premium).
-For more information on how the Performance job should look like, check the
-example on [Configuring Browser Performance Testing](#configuring-browser-performance-testing).
-
GitLab then checks this report, compares key performance metrics for each page
-between the source and target branches, and shows the information right on the merge request.
+between the source and target branches, and shows the information in the merge request.
+
+For an example Performance job, see
+[Configuring Browser Performance Testing](#configuring-browser-performance-testing).
NOTE: **Note:**
-If the Performance report doesn't have anything to compare to, no information
-will be displayed in the merge request area. That is the case when you add the
-Performance job in your `.gitlab-ci.yml` for the very first time.
-Consecutive merge requests will have something to compare to, and the Performance
-report will be shown properly.
+If the Performance report has no data to compare, such as when you add the
+Performance job in your `.gitlab-ci.yml` for the very first time, no information
+displays in the merge request widget area. Consecutive merge requests will have data for
+comparison, and the Performance report will be shown properly.
![Performance Widget](img/browser_performance_testing.png)
@@ -64,52 +59,51 @@ This example shows how to run the [sitespeed.io container](https://hub.docker.co
on your code by using GitLab CI/CD and [sitespeed.io](https://www.sitespeed.io)
using Docker-in-Docker.
-First, you need GitLab Runner with
-[docker-in-docker build](../../../ci/docker/using_docker_build.md#use-docker-in-docker-workflow-with-docker-executor).
+1. First, set up GitLab Runner with a
+ [docker-in-docker build](../../../ci/docker/using_docker_build.md#use-docker-in-docker-workflow-with-docker-executor).
+1. After configuring the Runner, add a new job to `.gitlab-ci.yml` that generates
+ the expected report.
+1. Define the `performance` job according to your version of GitLab:
-Once you set up the Runner, add a new job to `.gitlab-ci.yml` that generates the
-expected report.
+ - For GitLab 12.4 and later - [include](../../../ci/yaml/README.md#includetemplate) the
+ [`Browser-Performance.gitlab-ci.yml` template](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Verify/Browser-Performance.gitlab-ci.yml) provided as a part of your GitLab installation.
+ - For GitLab versions earlier than 12.4 - Copy and use the job as defined in the
+ [`Browser-Performance.gitlab-ci.yml` template](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Verify/Browser-Performance.gitlab-ci.yml).
-For GitLab 12.4 and later, to define the `performance` job, you must
-[include](../../../ci/yaml/README.md#includetemplate) the
-[`Browser-Performance.gitlab-ci.yml` template](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Verify/Browser-Performance.gitlab-ci.yml)
-that's provided as a part of your GitLab installation.
-For GitLab versions earlier than 12.4, you can copy and use the job as defined
-in that template.
+ CAUTION: **Caution:**
+ The job definition provided by the template does not support Kubernetes yet.
+ For a complete example of a more complex setup that works in Kubernetes, see
+ [`Browser-Performance-Testing.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Browser-Performance-Testing.gitlab-ci.yml).
-CAUTION: **Caution:**
-The job definition provided by the template does not support Kubernetes yet. For a complete example of a more complex setup
-that works in Kubernetes, see [here](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Jobs/Browser-Performance-Testing.gitlab-ci.yml).
+1. Add the following to your `.gitlab-ci.yml` file:
-Add the following to your `.gitlab-ci.yml` file:
+ ```yaml
+ include:
+ template: Verify/Browser-Performance.gitlab-ci.yml
-```yaml
-include:
- template: Verify/Browser-Performance.gitlab-ci.yml
+ performance:
+ variables:
+ URL: https://example.com
+ ```
-performance:
- variables:
- URL: https://example.com
-```
-
-CAUTION: **Caution:**
-The job definition provided by the template is supported in GitLab 11.5 and later versions.
-It also requires GitLab Runner 11.5 or later. For earlier versions, use the
-[previous job definitions](#previous-job-definitions).
+ CAUTION: **Caution:**
+ The job definition provided by the template is supported in GitLab 11.5 and later versions.
+ It also requires GitLab Runner 11.5 or later. For earlier versions, use the
+ [previous job definitions](#previous-job-definitions).
-The above example will create a `performance` job in your CI/CD pipeline and will run
+The above example creates a `performance` job in your CI/CD pipeline and runs
sitespeed.io against the webpage you defined in `URL` to gather key metrics.
The [GitLab plugin for sitespeed.io](https://gitlab.com/gitlab-org/gl-performance)
-is downloaded in order to save the report as a [Performance report artifact](../../../ci/pipelines/job_artifacts.md#artifactsreportsperformance-premium)
-that you can later download and analyze. Due to implementation limitations we always
+is downloaded to save the report as a [Performance report artifact](../../../ci/pipelines/job_artifacts.md#artifactsreportsperformance-premium)
+that you can later download and analyze. Due to implementation limitations, we always
take the latest Performance artifact available.
-The full HTML sitespeed.io report will also be saved as an artifact, and if you have
-[GitLab Pages](../pages/index.md) enabled, it can be viewed directly in your browser.
+The full HTML sitespeed.io report is saved as an artifact, and if
+[GitLab Pages](../pages/index.md) is enabled, it can be viewed directly in your browser.
-It is also possible to customize options by setting the `SITESPEED_OPTIONS` variable.
-For example, this is how to override the number of runs sitespeed.io
-will make on the given URL:
+You can also customize options by setting the `SITESPEED_OPTIONS` variable.
+For example, you can override the number of runs sitespeed.io
+makes on the given URL:
```yaml
include:
@@ -122,7 +116,8 @@ performance:
```
For further customization options for sitespeed.io, including the ability to provide a
-list of URLs to test, please see the [Sitespeed.io Configuration](https://www.sitespeed.io/documentation/sitespeed.io/configuration/)
+list of URLs to test, please see the
+[Sitespeed.io Configuration](https://www.sitespeed.io/documentation/sitespeed.io/configuration/)
documentation.
TIP: **Tip:**
@@ -130,19 +125,18 @@ Key metrics are automatically extracted and shown in the merge request widget.
### Performance testing on Review Apps
-The above CI YML is great for testing against static environments, and it can
-be extended for dynamic environments. There are a few extra steps to take to
-set this up:
+The above CI YAML configuration is great for testing against static environments, and it can
+be extended for dynamic environments, but a few extra steps are required:
1. The `performance` job should run after the dynamic environment has started.
1. In the `review` job, persist the hostname and upload it as an artifact so
- it's available to the `performance` job (the same can be done for static
- environments like staging and production to unify the code path). Saving it
- as an artifact is as simple as `echo $CI_ENVIRONMENT_URL > environment_url.txt`
+ it's available to the `performance` job. The same can be done for static
+ environments like staging and production to unify the code path. You can save it
+ as an artifact with `echo $CI_ENVIRONMENT_URL > environment_url.txt`
in your job's `script`.
1. In the `performance` job, read the previous artifact into an environment
- variable, in this case `$URL` because this is what our sitespeed.io command
- uses for the URL parameter. Because Review App URLs are dynamic, we define
+ variable. In this case, use `$URL` because the sitespeed.io command
+ uses it for the URL parameter. Because Review App URLs are dynamic, define
the `URL` variable through `before_script` instead of `variables`.
1. You can now run the sitespeed.io container against the desired hostname and
paths.
@@ -183,11 +177,11 @@ performance:
### Previous job definitions
CAUTION: **Caution:**
-Before GitLab 11.5, Performance job and artifact had to be named specifically
+Before GitLab 11.5, the Performance job and artifact had to be named specifically
to automatically extract report data and show it in the merge request widget.
-While these old job definitions are still maintained they have been deprecated
+While these old job definitions are still maintained, they have been deprecated
and may be removed in next major release, GitLab 12.0.
-You are advised to update your current `.gitlab-ci.yml` configuration to reflect that change.
+GitLab recommends you update your current `.gitlab-ci.yml` configuration to reflect that change.
For GitLab 11.4 and earlier, the job should look like:
diff --git a/doc/user/project/operations/alert_management.md b/doc/user/project/operations/alert_management.md
new file mode 100644
index 00000000000..d9b0501af0a
--- /dev/null
+++ b/doc/user/project/operations/alert_management.md
@@ -0,0 +1,60 @@
+# Alert Management
+
+> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2877) in GitLab 13.0.
+
+Alert Management enables developers to easily discover and view the alerts
+generated by their application. By surfacing alert information where the code is
+being developed, efficiency and awareness can be increased.
+
+## Enable Alert Management
+
+NOTE: **Note:**
+You will need at least Maintainer [permissions](../../permissions.md) to enable the Alert Management feature.
+
+1. Follow the [instructions for toggling generic alerts](../integrations/generic_alerts.md#setting-up-generic-alerts)
+1. You can now visit **{cloud-gear}** **Operations > Alert Management** in your project's sidebar to [view a list](#alert-management-list) of alerts.
+
+![Alert Management Toggle](img/alert_management_1_v13_1.png)
+
+## Alert Management severity
+
+Each level of alert contains a uniquely shaped and color-coded icon to help
+you identify the severity of a particular alert. These severity icons help you
+immediately identify which alerts you should prioritize investigating:
+
+![Alert Management Severity System](img/alert_management_severity_v13_0.png)
+
+Alerts contain one of the following icons:
+
+- **Critical**: **{severity-critical}** and hexadecimal color `#8b2615`
+- **High**: **{severity-high}** and hexadecimal color `#c0341d`
+- **Medium**: **{severity-medium}** and hexadecimal color `#fca429`
+- **Low**: **{severity-low}** and hexadecimal color `#fdbc60`
+- **Info**: **{severity-info}** and hexadecimal color `#418cd8`
+- **Unknown**: **{severity-unknown}** and hexadecimal color `#bababa`
+
+## Alert Management list
+
+NOTE: **Note:**
+You will need at least Developer [permissions](../../permissions.md) to view the Alert Management list.
+
+You can find the Alert Management list at **{cloud-gear}** **Operations > Alerts** in your project's sidebar.
+Each alert contains the following metrics:
+
+![Alert Management List](img/alert_management_1_v13_0.png)
+
+- **Severity** - The current importance of a alert and how much attention it should receive.
+- **Start time** - How long ago the alert fired. This field uses the standard GitLab pattern of `X time ago`, but is supported by a granular date/time tooltip depending on the user's locale.
+- **End time** - How long ago the alert fired was resolved. This field uses the standard GitLab pattern of `X time ago`, but is supported by a granular date/time tooltip depending on the user's locale.
+- **Alert description** - The description of the alert, which attempts to capture the most meaningful data.
+- **Event count** - The number of times that an alert has fired.
+- **Status** - The [current status](#alert-management-statuses) of the alert.
+
+### Alert Management statuses
+
+Each alert contains a status dropdown to indicate which alerts need investigation.
+Standard alert statuses include `triggered`, `acknowledged`, and `resolved`:
+
+- **Triggered**: No one has begun investigation.
+- **Acknowledged**: Someone is actively investigating the problem.
+- **Resolved**: No further work is required.
diff --git a/doc/user/project/operations/error_tracking.md b/doc/user/project/operations/error_tracking.md
index a95459e093a..23a50fd7766 100644
--- a/doc/user/project/operations/error_tracking.md
+++ b/doc/user/project/operations/error_tracking.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: Health
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Error Tracking
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/169) in GitLab 11.8.
@@ -53,7 +59,7 @@ From error list, users can navigate to the error details page by clicking the ti
This page has:
- A link to the Sentry issue.
-- A link to the GitLab commit if the Sentry [release id/version](https://docs.sentry.io/workflow/releases/?platform=javascript#configure-sdk) on the Sentry Issue's first release matches a commit SHA in your GitLab hosted project.
+- A link to the GitLab commit if the Sentry [release ID/version](https://docs.sentry.io/workflow/releases/?platform=javascript#configure-sdk) on the Sentry Issue's first release matches a commit SHA in your GitLab hosted project.
- Other details about the issue, including a full stack trace.
- In [GitLab 12.7 and newer](https://gitlab.com/gitlab-org/gitlab/issues/36246), language and urgency are displayed.
diff --git a/doc/user/project/operations/feature_flags.md b/doc/user/project/operations/feature_flags.md
index fb6b808c47c..8a8dd4781b6 100644
--- a/doc/user/project/operations/feature_flags.md
+++ b/doc/user/project/operations/feature_flags.md
@@ -273,7 +273,7 @@ func main() {
Here's an example of how to integrate the feature flags in a Ruby application.
-The Unleash client is given a user id for use with a **Percent rollout (logged in users)** rollout strategy or a list of **Target Users**.
+The Unleash client is given a user ID for use with a **Percent rollout (logged in users)** rollout strategy or a list of **Target Users**.
```ruby
#!/usr/bin/env ruby
diff --git a/doc/user/project/operations/img/alert_management_1_v13_0.png b/doc/user/project/operations/img/alert_management_1_v13_0.png
new file mode 100644
index 00000000000..dbc1e795b16
--- /dev/null
+++ b/doc/user/project/operations/img/alert_management_1_v13_0.png
Binary files differ
diff --git a/doc/user/project/operations/img/alert_management_1_v13_1.png b/doc/user/project/operations/img/alert_management_1_v13_1.png
new file mode 100644
index 00000000000..c01b4749eda
--- /dev/null
+++ b/doc/user/project/operations/img/alert_management_1_v13_1.png
Binary files differ
diff --git a/doc/user/project/operations/img/alert_management_severity_v13_0.png b/doc/user/project/operations/img/alert_management_severity_v13_0.png
new file mode 100644
index 00000000000..f996d6e88f4
--- /dev/null
+++ b/doc/user/project/operations/img/alert_management_severity_v13_0.png
Binary files differ
diff --git a/doc/user/project/operations/tracing.md b/doc/user/project/operations/tracing.md
index 8282a980ced..07f60c37f1b 100644
--- a/doc/user/project/operations/tracing.md
+++ b/doc/user/project/operations/tracing.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: APM
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# Tracing **(ULTIMATE)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/7903) in GitLab Ultimate 11.5.
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
index 172f5d4377f..6e48afad96a 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/dns_concepts.md
@@ -1,5 +1,8 @@
---
type: concepts
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# DNS records overview
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md
index 513070d0bc3..a5fc5b00b53 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/index.md
@@ -2,6 +2,9 @@
last_updated: 2019-07-04
type: reference, howto
disqus_identifier: 'https://docs.gitlab.com/ee/user/project/pages/getting_started_part_three.html'
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Custom domains and SSL/TLS Certificates
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md
index f80b741fb77..8b180d438ef 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/lets_encrypt_integration.md
@@ -1,6 +1,9 @@
---
type: reference
description: "Automatic Let's Encrypt SSL certificates for GitLab Pages."
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# GitLab Pages integration with Let's Encrypt
diff --git a/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md b/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
index bc51a9c90d2..e307b807aaa 100644
--- a/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
+++ b/doc/user/project/pages/custom_domains_ssl_tls_certification/ssl_tls_concepts.md
@@ -1,5 +1,8 @@
---
type: concepts
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# SSL/TLS Certificates
diff --git a/doc/user/project/pages/getting_started/fork_sample_project.md b/doc/user/project/pages/getting_started/fork_sample_project.md
index ef30606a9ab..00cea846f91 100644
--- a/doc/user/project/pages/getting_started/fork_sample_project.md
+++ b/doc/user/project/pages/getting_started/fork_sample_project.md
@@ -1,5 +1,8 @@
---
type: reference, howto
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# New Pages website from a forked sample
diff --git a/doc/user/project/pages/getting_started/new_or_existing_website.md b/doc/user/project/pages/getting_started/new_or_existing_website.md
index 027a238bf02..9a00b724753 100644
--- a/doc/user/project/pages/getting_started/new_or_existing_website.md
+++ b/doc/user/project/pages/getting_started/new_or_existing_website.md
@@ -1,5 +1,8 @@
---
type: reference, howto
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Start a new Pages website from scratch or deploy an existing website
diff --git a/doc/user/project/pages/getting_started/pages_bundled_template.md b/doc/user/project/pages/getting_started/pages_bundled_template.md
index 9c097c9acdb..745c50e8d65 100644
--- a/doc/user/project/pages/getting_started/pages_bundled_template.md
+++ b/doc/user/project/pages/getting_started/pages_bundled_template.md
@@ -1,5 +1,8 @@
---
type: reference, howto
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# New Pages website from a bundled template
diff --git a/doc/user/project/pages/getting_started_part_four.md b/doc/user/project/pages/getting_started_part_four.md
index 116a852b467..172c1ec8b36 100644
--- a/doc/user/project/pages/getting_started_part_four.md
+++ b/doc/user/project/pages/getting_started_part_four.md
@@ -1,6 +1,9 @@
---
last_updated: 2020-01-06
type: reference, howto
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Creating and Tweaking GitLab CI/CD for GitLab Pages
diff --git a/doc/user/project/pages/getting_started_part_one.md b/doc/user/project/pages/getting_started_part_one.md
index b876e547ba5..c0bdd4b7f0b 100644
--- a/doc/user/project/pages/getting_started_part_one.md
+++ b/doc/user/project/pages/getting_started_part_one.md
@@ -1,6 +1,9 @@
---
last_updated: 2018-06-04
type: concepts, reference
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# GitLab Pages domain names, URLs, and baseurls
diff --git a/doc/user/project/pages/index.md b/doc/user/project/pages/index.md
index 02bb8e13f4a..e81c9699153 100644
--- a/doc/user/project/pages/index.md
+++ b/doc/user/project/pages/index.md
@@ -2,6 +2,9 @@
description: 'Learn how to use GitLab Pages to deploy a static website at no additional cost.'
last_updated: 2019-06-04
type: index, reference
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# GitLab Pages
diff --git a/doc/user/project/pages/introduction.md b/doc/user/project/pages/introduction.md
index 75bd31620b9..e36dfd89ab3 100644
--- a/doc/user/project/pages/introduction.md
+++ b/doc/user/project/pages/introduction.md
@@ -1,6 +1,9 @@
---
type: reference
last_updated: 2020-01-06
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# Exploring GitLab Pages
diff --git a/doc/user/project/pages/pages_access_control.md b/doc/user/project/pages/pages_access_control.md
index 0c42994cfc3..7fe4c4c051d 100644
--- a/doc/user/project/pages/pages_access_control.md
+++ b/doc/user/project/pages/pages_access_control.md
@@ -1,5 +1,8 @@
---
type: reference, howto
+stage: Release
+group: Release Management
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
---
# GitLab Pages Access Control
diff --git a/doc/user/project/repository/x509_signed_commits/index.md b/doc/user/project/repository/x509_signed_commits/index.md
index ad19e2aae75..7d377999bc1 100644
--- a/doc/user/project/repository/x509_signed_commits/index.md
+++ b/doc/user/project/repository/x509_signed_commits/index.md
@@ -2,7 +2,7 @@
type: concepts, howto
---
-# Signing commits with X.509
+# Signing commits and tags with X.509
[X.509](https://en.wikipedia.org/wiki/X.509) is a standard format for public key
certificates issued by a public or private Public Key Infrastructure (PKI).
@@ -16,7 +16,7 @@ instead of a web of trust with GPG.
GitLab uses its own certificate store and therefore defines the trust chain.
-For a commit to be *verified* by GitLab:
+For a commit or tag to be *verified* by GitLab:
- The signing certificate email must match a verified email address used by the committer in GitLab.
- The Certificate Authority has to be trusted by the GitLab instance, see also
@@ -27,6 +27,11 @@ For a commit to be *verified* by GitLab:
NOTE: **Note:** Certificate revocation lists are checked on a daily basis via background worker.
+NOTE: **Note:** Self signed certificates without `authorityKeyIdentifier`,
+`subjectKeyIdentifier`, and `crlDistributionPoints` are not supported. We
+recommend using certificates from a PKI that are in line with
+[RFC 5280](https://tools.ietf.org/html/rfc5280).
+
## Obtaining an X.509 key pair
If your organization has Public Key Infrastructure (PKI), that PKI will provide
@@ -98,3 +103,31 @@ To verify that a commit is signed, you can use the `--show-signature` flag:
```sh
git log --show-signature
```
+
+## Signing tags
+
+After you have [associated your X.509 certificate with Git](#associating-your-x509-certificate-with-git) you
+can start signing your tags:
+
+1. Tag like you used to, the only difference is the addition of the `-s` flag:
+
+ ```sh
+ git tag -s v1.1.1 -m "My signed tag"
+ ```
+
+1. Push to GitLab and check that your tags [are verified](#verifying-tags).
+
+If you don't want to type the `-s` flag every time you tag, you can tell Git
+to sign your tags automatically:
+
+```sh
+git config --global tag.gpgsign true
+```
+
+## Verifying tags
+
+To verify that a tag is signed, you can use the `--verify` flag:
+
+```sh
+git tag --verify v1.1.1
+```
diff --git a/doc/user/project/service_desk.md b/doc/user/project/service_desk.md
index 5c1b952384d..b8aa797cb7b 100644
--- a/doc/user/project/service_desk.md
+++ b/doc/user/project/service_desk.md
@@ -1,4 +1,4 @@
-# Service Desk **(Starter)**
+# Service Desk **(STARTER)**
> [Introduced](https://gitlab.com/gitlab-org/gitlab/issues/149) in [GitLab Premium 9.1](https://about.gitlab.com/releases/2017/04/22/gitlab-9-1-released/#service-desk-eep).
diff --git a/doc/user/project/settings/import_export.md b/doc/user/project/settings/import_export.md
index f1c340daa68..d9f3ae776da 100644
--- a/doc/user/project/settings/import_export.md
+++ b/doc/user/project/settings/import_export.md
@@ -44,11 +44,24 @@ Note the following:
## Version history
-The following table lists updates to Import/Export:
+Starting with GitLab 13.0, GitLab can import bundles that were exported from a different GitLab deployment.
+This ability is limited to two previous GitLab [minor](../../../policy/maintenance.md#versioning)
+releases, which is similar to our process for [Security Releases](../../../policy/maintenance.md#security-releases).
+
+For example:
+
+| Current version | Can import bundles exported from |
+|-----------------|----------------------------------|
+| 13.0 | 13.0, 12.10, 12.9 |
+| 13.1 | 13.1, 13.0, 12.10 |
+
+### 12.x
+
+Prior to 13.0 this was a defined compatibility table:
| Exporting GitLab version | Importing GitLab version |
| -------------------------- | -------------------------- |
-| 11.7 to current | 11.7 to current |
+| 11.7 to 13.0 | 11.7 to 13.0 |
| 11.1 to 11.6 | 11.1 to 11.6 |
| 10.8 to 11.0 | 10.8 to 11.0 |
| 10.4 to 10.7 | 10.4 to 10.7 |
diff --git a/doc/user/project/settings/project_access_tokens.md b/doc/user/project/settings/project_access_tokens.md
new file mode 100644
index 00000000000..7f92d0c59fe
--- /dev/null
+++ b/doc/user/project/settings/project_access_tokens.md
@@ -0,0 +1,55 @@
+# Project access tokens **(CORE ONLY)**
+
+> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2587) in GitLab 13.0.
+
+Project access tokens are scoped to a project and can be used to authenticate with the [GitLab API](../../../api/README.md#personalproject-access-tokens).
+
+You can also use project access tokens with Git to authenticate over HTTP or SSH.
+
+Project access tokens expire on the date you define, at midnight UTC.
+
+For examples of how you can use a project access token to authenticate with the API, see the following section from our [API Docs](../../../api/README.md#personalproject-access-tokens).
+
+## Creating a project access token
+
+1. Log in to GitLab.
+1. Navigate to the project you would like to create an access token for.
+1. In the **{settings}** **Settings** menu choose **Access Tokens**.
+1. Choose a name and optional expiry date for the token.
+1. Choose the [desired scopes](#limiting-scopes-of-a-project-access-token).
+1. Click the **Create project access token** button.
+1. Save the project access token somewhere safe. Once you leave or refresh
+ the page, you won't be able to access it again.
+
+## Project bot users
+
+For each project access token created, a bot user will also be created and added to the project with
+["Maintainer" level permissions](../../permissions.md#project-members-permissions). API calls made with a
+project access token will be associated to the corresponding bot user.
+
+These users will appear in **{settings}** **Settings > Members** but can not be modified.
+Furthermore, the bot user can not be added to any other project.
+
+When the project access token is [revoked](#revoking-a-project-access-token) the bot user will be deleted and all
+records will be moved to a system-wide user with the username "Ghost User". For more information,
+see [Associated Records](../../profile/account/delete_account.md#associated-records).
+
+## Revoking a project access token
+
+At any time, you can revoke any project access token by clicking the
+respective **Revoke** button in **{settings}** **Settings > Access Tokens**.
+
+## Limiting scopes of a project access token
+
+Project access tokens can be created with one or more scopes that allow various
+actions that a given token can perform. The available scopes are depicted in
+the following table.
+
+| Scope | Description |
+| ------------------ | ----------- |
+| `api` | Grants complete read/write access to scoped project API. |
+| `read_api` | Grants read access to the scoped project API. |
+| `read_registry` | Allows read-access (pull) to [container registry](../../packages/container_registry/index.md) images if a project is private and authorization is required. |
+| `write_registry` | Allows write-access (push) to [container registry](../../packages/container_registry/index.md). |
+| `read_repository` | Allows read-only access (pull) to the repository. |
+| `write_repository` | Allows read-write access (pull, push) to the repository. |
diff --git a/doc/user/project/status_page/index.md b/doc/user/project/status_page/index.md
index 02570ff912c..1acf978c81d 100644
--- a/doc/user/project/status_page/index.md
+++ b/doc/user/project/status_page/index.md
@@ -1,3 +1,9 @@
+---
+stage: Monitor
+group: Health
+info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#designated-technical-writers
+---
+
# GitLab Status Page
> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/2479) in GitLab 12.10.
diff --git a/doc/user/snippets.md b/doc/user/snippets.md
index 0372bb42038..79d1751d13f 100644
--- a/doc/user/snippets.md
+++ b/doc/user/snippets.md
@@ -2,7 +2,7 @@
With GitLab Snippets you can store and share bits of code and text with other users.
-![GitLab Snippet](img/gitlab_snippet.png)
+![GitLab Snippet](img/gitlab_snippet_v13_0.png)
Snippets can be maintained using [snippets API](../api/snippets.md).
@@ -11,6 +11,67 @@ There are two types of snippets:
- Personal snippets.
- Project snippets.
+## Versioned Snippets
+
+> [Introduced](https://gitlab.com/groups/gitlab-org/-/epics/239) in GitLab 13.0.
+
+Starting in 13.0, snippets (both personal and project snippets)
+have version control enabled by default.
+
+This means that all snippets get their own underlying repository initialized with
+a `master` branch at the moment the snippet is created. Whenever a change to the snippet is saved, a
+new commit to the master branch is recorded. Commit messages are automatically
+generated. The snippet's repository has only one branch (master) by default, deleting
+it or creating other branches is not supported.
+
+Existing snippets will be automatically migrated in 13.0. Their current
+content will be saved as the initial commit to the snippets' repository.
+
+### File names
+
+Snippets support syntax highlighting based on the filename and
+extension provided for them. While it is possible to submit a snippet
+without specifying a filename and extension, it needs a valid name so the
+content can be created as a file in the snippet's repository.
+
+In case the user does not attribute a filename and extension to a snippet,
+GitLab automatically adds a filename in the format `snippetfile<x>.txt`
+where `<x>` represents a number added to the file, starting with 1. This
+number increases incrementally when more snippets without an attributed
+filename are added.
+
+When upgrading from an earlier version of GitLab to 13.0, existing snippets
+without a supported filename will be renamed to a compatible format. For
+example, if the snippet's filename is `http://a-weird-filename.me` it will
+be changed to `http-a-weird-filename-me` to be included in the snippet's
+repository. As snippets are stored by ID, changing their filenames will not break
+direct or embedded links to the snippet.
+
+### Cloning snippets
+
+Snippets can be cloned as a regular Git repository using SSH or HTTPS. Click the **Clone**
+button above the snippet content to copy the URL of your choice.
+
+![Clone Snippet](img/snippet_clone_button_v13_0.png)
+
+This allows you to have a local copy of the snippet's repository and make
+changes as needed. You can commit those changes and push them to the remote
+master branch.
+
+### Limitations
+
+- Binary files are not supported.
+- Creating or deleting branches is not supported. Only a default *master*
+branch is used.
+- Git tags are not supported in snippet repositories.
+- Snippets' repositories are limited to one file. Attempting to push more
+than one file will result in an error.
+- Revisions are not *yet* visible to the user on the GitLab UI, but
+it's planned to be added in future iterations. See the [revisions tab issue](https://gitlab.com/gitlab-org/gitlab/-/issues/39271)
+for updates.
+- The [maximum size for a snippet](../administration/snippets/index.md#snippets-content-size-limit)
+is 50MB, by default.
+
## Personal snippets
Personal snippets are not related to any project and can be created completely
diff --git a/lib/feature.rb b/lib/feature.rb
index 60a5c03a839..dc7e8da8f35 100644
--- a/lib/feature.rb
+++ b/lib/feature.rb
@@ -134,11 +134,7 @@ class Feature
end
def l1_cache_backend
- if Gitlab::Utils.to_boolean(ENV['USE_THREAD_MEMORY_CACHE'])
- Gitlab::ThreadMemoryCache.cache_backend
- else
- Gitlab::ProcessMemoryCache.cache_backend
- end
+ Gitlab::ProcessMemoryCache.cache_backend
end
def l2_cache_backend
diff --git a/lib/gitlab/alert_management/alert_params.rb b/lib/gitlab/alert_management/alert_params.rb
index 014eba6326d..876eff6d91e 100644
--- a/lib/gitlab/alert_management/alert_params.rb
+++ b/lib/gitlab/alert_management/alert_params.rb
@@ -3,6 +3,10 @@
module Gitlab
module AlertManagement
class AlertParams
+ MONITORING_TOOLS = {
+ prometheus: 'Prometheus'
+ }.freeze
+
def self.from_generic_alert(project:, payload:)
parsed_payload = Gitlab::Alerting::NotificationPayloadParser.call(payload).with_indifferent_access
annotations = parsed_payload[:annotations]
@@ -18,6 +22,19 @@ module Gitlab
started_at: parsed_payload['startsAt']
}
end
+
+ def self.from_prometheus_alert(project:, parsed_alert:)
+ {
+ project_id: project.id,
+ title: parsed_alert.title,
+ description: parsed_alert.description,
+ monitoring_tool: MONITORING_TOOLS[:prometheus],
+ payload: parsed_alert.payload,
+ started_at: parsed_alert.starts_at,
+ ended_at: parsed_alert.ends_at,
+ fingerprint: parsed_alert.gitlab_fingerprint
+ }
+ end
end
end
end
diff --git a/lib/gitlab/alerting/alert.rb b/lib/gitlab/alerting/alert.rb
index 7d97bd1bb52..d859ca89418 100644
--- a/lib/gitlab/alerting/alert.rb
+++ b/lib/gitlab/alerting/alert.rb
@@ -105,6 +105,10 @@ module Gitlab
metric_id.present?
end
+ def gitlab_fingerprint
+ Digest::SHA1.hexdigest(plain_gitlab_fingerprint)
+ end
+
def valid?
payload.respond_to?(:dig) && project && title && starts_at
end
@@ -115,6 +119,14 @@ module Gitlab
private
+ def plain_gitlab_fingerprint
+ if gitlab_managed?
+ [metric_id, starts_at].join('/')
+ else # self managed
+ [starts_at, title, full_query].join('/')
+ end
+ end
+
def parse_environment_from_payload
environment_name = payload&.dig('labels', 'gitlab_environment_name')
diff --git a/lib/gitlab/background_migration/backfill_snippet_repositories.rb b/lib/gitlab/background_migration/backfill_snippet_repositories.rb
index 7aa00e03dda..148c25685ed 100644
--- a/lib/gitlab/background_migration/backfill_snippet_repositories.rb
+++ b/lib/gitlab/background_migration/backfill_snippet_repositories.rb
@@ -98,17 +98,17 @@ module Gitlab
# because it is blocked, internal, ghost, ... we cannot commit
# files because these users are not allowed to, but we need to
# migrate their snippets as well.
- # In this scenario an admin user will be the one that will commit the files.
+ # In this scenario the migration bot user will be the one that will commit the files.
def commit_author(snippet)
if Gitlab::UserAccessSnippet.new(snippet.author, snippet: snippet).can_do_action?(:update_snippet)
snippet.author
else
- admin_user
+ migration_bot_user
end
end
- def admin_user
- @admin_user ||= User.admins.active.first
+ def migration_bot_user
+ @migration_bot_user ||= User.migration_bot
end
# We sometimes receive invalid path errors from Gitaly if the Snippet filename
@@ -117,7 +117,7 @@ module Gitlab
# the migration can succeed, to achieve that, we'll identify in migration retries
# that the path is invalid
def set_file_path_error(error)
- @invalid_path_error = error.message.downcase.start_with?('invalid path', 'path cannot include directory traversal')
+ @invalid_path_error = error.is_a?(SnippetRepository::InvalidPathError)
end
end
end
diff --git a/lib/gitlab/ci/parsers/accessibility/pa11y.rb b/lib/gitlab/ci/parsers/accessibility/pa11y.rb
index 57eca184c33..953b5a91258 100644
--- a/lib/gitlab/ci/parsers/accessibility/pa11y.rb
+++ b/lib/gitlab/ci/parsers/accessibility/pa11y.rb
@@ -6,7 +6,7 @@ module Gitlab
module Accessibility
class Pa11y
def parse!(json_data, accessibility_report)
- root = Gitlab::Json.parse(json_data)
+ root = Gitlab::Json.parse(json_data).with_indifferent_access
parse_all(root, accessibility_report)
rescue JSON::ParserError => e
diff --git a/lib/gitlab/ci/reports/accessibility_reports.rb b/lib/gitlab/ci/reports/accessibility_reports.rb
index 5d58f942bfc..1901ba3b102 100644
--- a/lib/gitlab/ci/reports/accessibility_reports.rb
+++ b/lib/gitlab/ci/reports/accessibility_reports.rb
@@ -36,6 +36,10 @@ module Gitlab
def set_error_message(error)
@error_message = error
end
+
+ def all_errors
+ @urls.values.flatten
+ end
end
end
end
diff --git a/lib/gitlab/ci/reports/accessibility_reports_comparer.rb b/lib/gitlab/ci/reports/accessibility_reports_comparer.rb
new file mode 100644
index 00000000000..fa6337166d5
--- /dev/null
+++ b/lib/gitlab/ci/reports/accessibility_reports_comparer.rb
@@ -0,0 +1,55 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module Ci
+ module Reports
+ class AccessibilityReportsComparer
+ include Gitlab::Utils::StrongMemoize
+
+ STATUS_SUCCESS = 'success'
+ STATUS_FAILED = 'failed'
+
+ attr_reader :base_reports, :head_reports
+
+ def initialize(base_reports, head_reports)
+ @base_reports = base_reports || AccessibilityReports.new
+ @head_reports = head_reports
+ end
+
+ def status
+ head_reports.errors_count.positive? ? STATUS_FAILED : STATUS_SUCCESS
+ end
+
+ def existing_errors
+ strong_memoize(:existing_errors) do
+ base_reports.all_errors
+ end
+ end
+
+ def new_errors
+ strong_memoize(:new_errors) do
+ head_reports.all_errors - base_reports.all_errors
+ end
+ end
+
+ def resolved_errors
+ strong_memoize(:resolved_errors) do
+ base_reports.all_errors - head_reports.all_errors
+ end
+ end
+
+ def errors_count
+ head_reports.errors_count
+ end
+
+ def resolved_count
+ resolved_errors.size
+ end
+
+ def total_count
+ existing_errors.size + new_errors.size
+ end
+ end
+ end
+ end
+end
diff --git a/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml b/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml
index a9f29bda9b9..cf71bda247b 100644
--- a/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml
+++ b/lib/gitlab/ci/templates/Auto-DevOps.gitlab-ci.yml
@@ -159,5 +159,5 @@ include:
- template: Security/DAST.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml
- template: Security/Container-Scanning.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml
- template: Security/Dependency-Scanning.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/Dependency-Scanning.gitlab-ci.yml
- - template: Security/License-Management.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/License-Management.gitlab-ci.yml
+ - template: Security/License-Scanning.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/License-Scanning.gitlab-ci.yml
- template: Security/SAST.gitlab-ci.yml # https://gitlab.com/gitlab-org/gitlab-foss/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml
diff --git a/lib/gitlab/ci/templates/Jobs/Test.gitlab-ci.yml b/lib/gitlab/ci/templates/Jobs/Test.gitlab-ci.yml
index a0ddd273552..c6b0de44207 100644
--- a/lib/gitlab/ci/templates/Jobs/Test.gitlab-ci.yml
+++ b/lib/gitlab/ci/templates/Jobs/Test.gitlab-ci.yml
@@ -5,6 +5,7 @@ test:
POSTGRES_DB: test
stage: test
image: gliderlabs/herokuish:latest
+ needs: []
script:
- |
if [ -z ${KUBERNETES_PORT+x} ]; then
diff --git a/lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml b/lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml
index 0e3d7660bdf..fd762234163 100644
--- a/lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml
+++ b/lib/gitlab/ci/templates/Security/DAST.gitlab-ci.yml
@@ -36,3 +36,4 @@ dast:
variables:
- $DAST_DISABLED
- $DAST_DISABLED_FOR_DEFAULT_BRANCH && $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
+ - $CI_DEFAULT_BRANCH != $CI_COMMIT_REF_NAME && $REVIEW_DISABLED && $DAST_WEBSITE == null && $DAST_API_SPECIFICATION == null
diff --git a/lib/gitlab/ci/templates/Security/License-Management.gitlab-ci.yml b/lib/gitlab/ci/templates/Security/License-Management.gitlab-ci.yml
index 76dae9b7cc0..f2096d1eb8f 100644
--- a/lib/gitlab/ci/templates/Security/License-Management.gitlab-ci.yml
+++ b/lib/gitlab/ci/templates/Security/License-Management.gitlab-ci.yml
@@ -1,30 +1,25 @@
# Deprecated: https://gitlab.com/gitlab-org/gitlab/issues/14624
# Please, use License-Scanning.gitlab-ci.yml template instead
-variables:
- LICENSE_MANAGEMENT_SETUP_CMD: '' # If needed, specify a command to setup your environment with a custom package manager.
- LICENSE_MANAGEMENT_VERSION: 3
-
license_management:
stage: test
- image:
- name: "registry.gitlab.com/gitlab-org/security-products/license-management:$LICENSE_MANAGEMENT_VERSION"
- entrypoint: [""]
- variables:
- SETUP_CMD: $LICENSE_MANAGEMENT_SETUP_CMD
- allow_failure: true
+ image: alpine:latest
+ allow_failure: false
script:
- - echo "This template is deprecated, please use License-Scanning.gitlab-ci.yml template instead."
- - /run.sh analyze .
- artifacts:
- reports:
- license_management: gl-license-management-report.json
- dependencies: []
+ - |
+ echo "Sorry for failing your pipeline!
+ As of GitLab 13.0, we have removed the License-Management.gitlab.ci.yml template (deprecated since GitLab 12.8).
+ Please replace it with the License-Scanning.gitlab-ci.yml template instead.
+ For more details visit
+ https://docs.gitlab.com/ee/user/compliance/license_compliance/#migration-from-license_management-to-license_scanning"
+ - exit 1
only:
refs:
- branches
variables:
- $GITLAB_FEATURES =~ /\blicense_management\b/
except:
+ refs:
+ - master
variables:
- $LICENSE_MANAGEMENT_DISABLED
diff --git a/lib/gitlab/database/migration_helpers.rb b/lib/gitlab/database/migration_helpers.rb
index 710da8282ff..bf14bd4ab4b 100644
--- a/lib/gitlab/database/migration_helpers.rb
+++ b/lib/gitlab/database/migration_helpers.rb
@@ -265,12 +265,19 @@ module Gitlab
# or `RESET ALL` is executed
def disable_statement_timeout
if block_given?
- begin
- execute('SET statement_timeout TO 0')
-
+ if statement_timeout_disabled?
+ # Don't do anything if the statement_timeout is already disabled
+ # Allows for nested calls of disable_statement_timeout without
+ # resetting the timeout too early (before the outer call ends)
yield
- ensure
- execute('RESET ALL')
+ else
+ begin
+ execute('SET statement_timeout TO 0')
+
+ yield
+ ensure
+ execute('RESET ALL')
+ end
end
else
unless transaction_open?
@@ -495,7 +502,7 @@ module Gitlab
update_column_in_batches(table, column, default_after_type_cast, &block)
end
- change_column_null(table, column, false) unless allow_null
+ add_not_null_constraint(table, column) unless allow_null
# We want to rescue _all_ exceptions here, even those that don't inherit
# from StandardError.
rescue Exception => error # rubocop: disable all
@@ -1334,12 +1341,73 @@ into similar problems in the future (e.g. when new tables are created).
check_constraint_exists?(table, text_limit_name(table, column, name: constraint_name))
end
+ # Migration Helpers for managing not null constraints
+ def add_not_null_constraint(table, column, constraint_name: nil, validate: true)
+ if column_is_nullable?(table, column)
+ add_check_constraint(
+ table,
+ "#{column} IS NOT NULL",
+ not_null_constraint_name(table, column, name: constraint_name),
+ validate: validate
+ )
+ else
+ warning_message = <<~MESSAGE
+ NOT NULL check constraint was not created:
+ column #{table}.#{column} is already defined as `NOT NULL`
+ MESSAGE
+
+ Rails.logger.warn warning_message
+ end
+ end
+
+ def validate_not_null_constraint(table, column, constraint_name: nil)
+ validate_check_constraint(
+ table,
+ not_null_constraint_name(table, column, name: constraint_name)
+ )
+ end
+
+ def remove_not_null_constraint(table, column, constraint_name: nil)
+ remove_check_constraint(
+ table,
+ not_null_constraint_name(table, column, name: constraint_name)
+ )
+ end
+
+ def check_not_null_constraint_exists?(table, column, constraint_name: nil)
+ check_constraint_exists?(
+ table,
+ not_null_constraint_name(table, column, name: constraint_name)
+ )
+ end
+
private
+ def statement_timeout_disabled?
+ # This is a string of the form "100ms" or "0" when disabled
+ connection.select_value('SHOW statement_timeout') == "0"
+ end
+
+ def column_is_nullable?(table, column)
+ # Check if table.column has not been defined with NOT NULL
+ check_sql = <<~SQL
+ SELECT c.is_nullable
+ FROM information_schema.columns c
+ WHERE c.table_name = '#{table}'
+ AND c.column_name = '#{column}'
+ SQL
+
+ connection.select_value(check_sql) == 'YES'
+ end
+
def text_limit_name(table, column, name: nil)
name.presence || check_constraint_name(table, column, 'max_length')
end
+ def not_null_constraint_name(table, column, name: nil)
+ name.presence || check_constraint_name(table, column, 'not_null')
+ end
+
def missing_schema_object_message(table, type, name)
<<~MESSAGE
Could not find #{type} "#{name}" on table "#{table}" which was referenced during the migration.
@@ -1383,7 +1451,7 @@ into similar problems in the future (e.g. when new tables are created).
update_column_in_batches(table, new, Arel::Table.new(table)[old], batch_column_name: batch_column_name)
- change_column_null(table, new, false) unless old_col.null
+ add_not_null_constraint(table, new) unless old_col.null
copy_indexes(table, old, new)
copy_foreign_keys(table, old, new)
diff --git a/lib/gitlab/email/handler.rb b/lib/gitlab/email/handler.rb
index df9d4810ab3..7f8dd815103 100644
--- a/lib/gitlab/email/handler.rb
+++ b/lib/gitlab/email/handler.rb
@@ -9,10 +9,10 @@ module Gitlab
def self.load_handlers
[
- UnsubscribeHandler,
CreateNoteHandler,
- CreateMergeRequestHandler,
- CreateIssueHandler
+ CreateIssueHandler,
+ UnsubscribeHandler,
+ CreateMergeRequestHandler
]
end
diff --git a/lib/gitlab/git/tag.rb b/lib/gitlab/git/tag.rb
index 08dbd52e3fb..da86d6baf4a 100644
--- a/lib/gitlab/git/tag.rb
+++ b/lib/gitlab/git/tag.rb
@@ -66,6 +66,27 @@ module Gitlab
@raw_tag.tagger
end
+ def has_signature?
+ signature_type != :NONE
+ end
+
+ def signature_type
+ @raw_tag.signature_type || :NONE
+ end
+
+ def signature
+ return unless has_signature?
+
+ case signature_type
+ when :PGP
+ nil # not implemented, see https://gitlab.com/gitlab-org/gitlab/issues/19260
+ when :X509
+ X509::Tag.new(@raw_tag).signature
+ else
+ nil
+ end
+ end
+
private
def message_from_gitaly_tag
diff --git a/lib/gitlab/git_access_snippet.rb b/lib/gitlab/git_access_snippet.rb
index d05ffe9b508..a06eddab78f 100644
--- a/lib/gitlab/git_access_snippet.rb
+++ b/lib/gitlab/git_access_snippet.rb
@@ -61,6 +61,13 @@ module Gitlab
end
end
+ override :can_read_project?
+ def can_read_project?
+ return true if user&.migration_bot?
+
+ super
+ end
+
override :check_download_access!
def check_download_access!
passed = guest_can_download_code? || user_can_download_code?
diff --git a/lib/gitlab/gon_helper.rb b/lib/gitlab/gon_helper.rb
index 1f8ba51913e..84840718c92 100644
--- a/lib/gitlab/gon_helper.rb
+++ b/lib/gitlab/gon_helper.rb
@@ -42,7 +42,7 @@ module Gitlab
# Initialize gon.features with any flags that should be
# made globally available to the frontend
- push_frontend_feature_flag(:snippets_vue, default_enabled: false)
+ push_frontend_feature_flag(:snippets_vue, default_enabled: true)
push_frontend_feature_flag(:monaco_blobs, default_enabled: false)
push_frontend_feature_flag(:monaco_ci, default_enabled: false)
push_frontend_feature_flag(:snippets_edit_vue, default_enabled: false)
diff --git a/lib/gitlab/group_search_results.rb b/lib/gitlab/group_search_results.rb
index 8597903ad00..eb4361cdc53 100644
--- a/lib/gitlab/group_search_results.rb
+++ b/lib/gitlab/group_search_results.rb
@@ -4,8 +4,8 @@ module Gitlab
class GroupSearchResults < SearchResults
attr_reader :group
- def initialize(current_user, limit_projects, group, query, default_project_filter: false, per_page: 20)
- super(current_user, limit_projects, query, default_project_filter: default_project_filter, per_page: per_page)
+ def initialize(current_user, limit_projects, group, query, default_project_filter: false)
+ super(current_user, limit_projects, query, default_project_filter: default_project_filter)
@group = group
end
diff --git a/lib/gitlab/import_export/after_export_strategies/web_upload_strategy.rb b/lib/gitlab/import_export/after_export_strategies/web_upload_strategy.rb
index fd98bc2caad..e2dba831661 100644
--- a/lib/gitlab/import_export/after_export_strategies/web_upload_strategy.rb
+++ b/lib/gitlab/import_export/after_export_strategies/web_upload_strategy.rb
@@ -52,7 +52,10 @@ module Gitlab
end
def headers
- { 'Content-Length' => export_size.to_s }
+ {
+ 'Content-Type' => 'application/gzip',
+ 'Content-Length' => export_size.to_s
+ }
end
def export_size
diff --git a/lib/gitlab/import_export/importer.rb b/lib/gitlab/import_export/importer.rb
index 4b761eb86ae..e88e0128d57 100644
--- a/lib/gitlab/import_export/importer.rb
+++ b/lib/gitlab/import_export/importer.rb
@@ -111,13 +111,17 @@ module Gitlab
end
def overwrite_project
- return unless can?(current_user, :admin_namespace, project.namespace)
+ return true unless overwrite_project?
- if overwrite_project?
- ::Projects::OverwriteProjectService.new(project, current_user)
- .execute(project_to_overwrite)
+ unless can?(current_user, :admin_namespace, project.namespace)
+ message = "User #{current_user&.username} (#{current_user&.id}) cannot overwrite a project in #{project.namespace.path}"
+ @shared.error(::Projects::ImportService::PermissionError.new(message))
+ return false
end
+ ::Projects::OverwriteProjectService.new(project, current_user)
+ .execute(project_to_overwrite)
+
true
end
diff --git a/lib/gitlab/import_export/project/base_task.rb b/lib/gitlab/import_export/project/base_task.rb
index 5c75eca2bed..f6afbfcc50d 100644
--- a/lib/gitlab/import_export/project/base_task.rb
+++ b/lib/gitlab/import_export/project/base_task.rb
@@ -26,6 +26,22 @@ module Gitlab
}
end
+ def disable_upload_object_storage
+ overwrite_uploads_setting('enabled', false) do
+ yield
+ end
+ end
+
+ def overwrite_uploads_setting(key, value)
+ old_value = Settings.uploads.object_store[key]
+ Settings.uploads.object_store[key] = value
+
+ yield
+
+ ensure
+ Settings.uploads.object_store[key] = old_value
+ end
+
def success(message)
logger.info(message)
diff --git a/lib/gitlab/import_export/project/export_task.rb b/lib/gitlab/import_export/project/export_task.rb
index 22efd0cb8a3..4919ace0742 100644
--- a/lib/gitlab/import_export/project/export_task.rb
+++ b/lib/gitlab/import_export/project/export_task.rb
@@ -19,7 +19,11 @@ module Gitlab
.execute(Gitlab::ImportExport::AfterExportStrategies::MoveFileStrategy.new(archive_path: file_path), measurement_options)
end
+ return error(project.import_export_shared.errors.join(', ')) if project.import_export_shared.errors.any?
+
success('Done!')
+ rescue Gitlab::ImportExport::Error => e
+ error(e.message)
end
private
@@ -32,8 +36,13 @@ module Gitlab
def with_export
with_request_store do
- ::Gitlab::GitalyClient.allow_n_plus_1_calls do
- yield
+ # We are disabling ObjectStorage for `export`
+ # since when direct upload is enabled, remote storage will be used
+ # and Gitlab::ImportExport::AfterExportStrategies::MoveFileStrategy will fail to copy exported archive
+ disable_upload_object_storage do
+ ::Gitlab::GitalyClient.allow_n_plus_1_calls do
+ yield
+ end
end
end
end
diff --git a/lib/gitlab/import_export/project/import_task.rb b/lib/gitlab/import_export/project/import_task.rb
index 101cc5f5ab0..20f7ac1eb18 100644
--- a/lib/gitlab/import_export/project/import_task.rb
+++ b/lib/gitlab/import_export/project/import_task.rb
@@ -67,24 +67,6 @@ module Gitlab
Sidekiq::Worker.drain_all
end
- def disable_upload_object_storage
- overwrite_uploads_setting('background_upload', false) do
- overwrite_uploads_setting('direct_upload', false) do
- yield
- end
- end
- end
-
- def overwrite_uploads_setting(key, value)
- old_value = Settings.uploads.object_store[key]
- Settings.uploads.object_store[key] = value
-
- yield
-
- ensure
- Settings.uploads.object_store[key] = old_value
- end
-
def full_path
"#{namespace.full_path}/#{project_path}"
end
diff --git a/lib/gitlab/jira_import/issue_serializer.rb b/lib/gitlab/jira_import/issue_serializer.rb
index 9bbee901b14..df57680073e 100644
--- a/lib/gitlab/jira_import/issue_serializer.rb
+++ b/lib/gitlab/jira_import/issue_serializer.rb
@@ -51,32 +51,16 @@ module Gitlab
end
end
- def map_user_id(email)
- return unless email
-
- # We also include emails that are not yet confirmed
- users = User.by_any_email(email).to_a
-
- # this event should never happen but we should log it in case we have invalid data
- log_user_mapping_message('Multiple users found for an email address', email) if users.count > 1
-
- user = users.first
-
- unless project.project_member(user)
- log_user_mapping_message('Jira user not found', email)
-
- return
- end
-
- user.id
+ def map_user_id(jira_user)
+ Gitlab::JiraImport::UserMapper.new(project, jira_user).execute&.id
end
def reporter
- map_user_id(jira_issue&.reporter&.emailAddress) || import_owner_id
+ map_user_id(jira_issue.reporter&.attrs) || import_owner_id
end
def assignees
- found_user_id = map_user_id(jira_issue&.assignee&.emailAddress)
+ found_user_id = map_user_id(jira_issue.assignee&.attrs)
return unless found_user_id
@@ -95,15 +79,6 @@ module Gitlab
def logger
@logger ||= Gitlab::Import::Logger.build
end
-
- def log_user_mapping_message(message, email)
- logger.info(
- project_id: project.id,
- project_path: project.full_path,
- user_email: email,
- message: message
- )
- end
end
end
end
diff --git a/lib/gitlab/jira_import/user_mapper.rb b/lib/gitlab/jira_import/user_mapper.rb
new file mode 100644
index 00000000000..208ee49b724
--- /dev/null
+++ b/lib/gitlab/jira_import/user_mapper.rb
@@ -0,0 +1,53 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module JiraImport
+ class UserMapper
+ include ::Gitlab::Utils::StrongMemoize
+
+ def initialize(project, jira_user)
+ @project = project
+ @jira_user = jira_user
+ end
+
+ def execute
+ return unless jira_user
+
+ email = jira_user['emailAddress']
+
+ # We also include emails that are not yet confirmed
+ users = User.by_any_email(email).to_a
+
+ user = users.first
+
+ # this event should never happen but we should log it in case we have invalid data
+ log_user_mapping_message('Multiple users found for an email address', email) if users.count > 1
+
+ unless project.project_member(user) || project.group&.group_member(user)
+ log_user_mapping_message('Jira user not found', email)
+
+ return
+ end
+
+ user
+ end
+
+ private
+
+ attr_reader :project, :jira_user, :params
+
+ def log_user_mapping_message(message, email)
+ logger.info(
+ project_id: project.id,
+ project_path: project.full_path,
+ user_email: email,
+ message: message
+ )
+ end
+
+ def logger
+ @logger ||= Gitlab::Import::Logger.build
+ end
+ end
+ end
+end
diff --git a/lib/gitlab/json.rb b/lib/gitlab/json.rb
index 5ebda67e2ae..5b6689dbefe 100644
--- a/lib/gitlab/json.rb
+++ b/lib/gitlab/json.rb
@@ -2,13 +2,25 @@
module Gitlab
module Json
+ INVALID_LEGACY_TYPES = [String, TrueClass, FalseClass].freeze
+
class << self
- def parse(*args)
- adapter.parse(*args)
+ def parse(string, *args, **named_args)
+ legacy_mode = legacy_mode_enabled?(named_args.delete(:legacy_mode))
+ data = adapter.parse(string, *args, **named_args)
+
+ handle_legacy_mode!(data) if legacy_mode
+
+ data
end
- def parse!(*args)
- adapter.parse!(*args)
+ def parse!(string, *args, **named_args)
+ legacy_mode = legacy_mode_enabled?(named_args.delete(:legacy_mode))
+ data = adapter.parse!(string, *args, **named_args)
+
+ handle_legacy_mode!(data) if legacy_mode
+
+ data
end
def dump(*args)
@@ -28,6 +40,20 @@ module Gitlab
def adapter
::JSON
end
+
+ def parser_error
+ ::JSON::ParserError
+ end
+
+ def legacy_mode_enabled?(arg_value)
+ arg_value.nil? ? false : arg_value
+ end
+
+ def handle_legacy_mode!(data)
+ return data unless Feature.enabled?(:json_wrapper_legacy_mode, default_enabled: true)
+
+ raise parser_error if INVALID_LEGACY_TYPES.any? { |type| data.is_a?(type) }
+ end
end
end
end
diff --git a/lib/gitlab/metrics/samplers/ruby_sampler.rb b/lib/gitlab/metrics/samplers/ruby_sampler.rb
index 5cd2a86a106..0ca266f2e0c 100644
--- a/lib/gitlab/metrics/samplers/ruby_sampler.rb
+++ b/lib/gitlab/metrics/samplers/ruby_sampler.rb
@@ -91,7 +91,7 @@ module Gitlab
metrics[:memory_bytes].set(labels, memory_rss)
metrics[:process_resident_memory_bytes].set(labels, memory_rss)
- if Feature.enabled?(:collect_memory_uss_pss)
+ if Gitlab::Utils.to_boolean(ENV['enable_memory_uss_pss'])
memory_uss_pss = System.memory_usage_uss_pss
metrics[:process_unique_memory_bytes].set(labels, memory_uss_pss[:uss])
metrics[:process_proportional_memory_bytes].set(labels, memory_uss_pss[:pss])
diff --git a/lib/gitlab/performance_bar.rb b/lib/gitlab/performance_bar.rb
index 4445c876e7a..e26309b5dfd 100644
--- a/lib/gitlab/performance_bar.rb
+++ b/lib/gitlab/performance_bar.rb
@@ -44,7 +44,7 @@ module Gitlab
end
def self.l1_cache_backend
- Gitlab::ThreadMemoryCache.cache_backend
+ Gitlab::ProcessMemoryCache.cache_backend
end
def self.l2_cache_backend
diff --git a/lib/gitlab/project_search_results.rb b/lib/gitlab/project_search_results.rb
index eb7ca80dd60..fbdfe166645 100644
--- a/lib/gitlab/project_search_results.rb
+++ b/lib/gitlab/project_search_results.rb
@@ -2,30 +2,29 @@
module Gitlab
class ProjectSearchResults < SearchResults
- attr_reader :project, :repository_ref, :per_page
+ attr_reader :project, :repository_ref
- def initialize(current_user, project, query, repository_ref = nil, per_page: 20)
+ def initialize(current_user, project, query, repository_ref = nil)
@current_user = current_user
@project = project
@repository_ref = repository_ref.presence
@query = query
- @per_page = per_page
end
- def objects(scope, page = nil)
+ def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE)
case scope
when 'notes'
notes.page(page).per(per_page)
when 'blobs'
- paginated_blobs(blobs(page), page)
+ paginated_blobs(blobs(limit: limit_up_to_page(page, per_page)), page, per_page)
when 'wiki_blobs'
- paginated_blobs(wiki_blobs, page)
+ paginated_wiki_blobs(wiki_blobs(limit: limit_up_to_page(page, per_page)), page, per_page)
when 'commits'
Kaminari.paginate_array(commits).page(page).per(per_page)
when 'users'
users.page(page).per(per_page)
else
- super(scope, page, false)
+ super(scope, page: page, per_page: per_page, without_count: false)
end
end
@@ -49,7 +48,7 @@ module Gitlab
end
def limited_blobs_count
- @limited_blobs_count ||= blobs.count
+ @limited_blobs_count ||= blobs(limit: count_limit).count
end
# rubocop: disable CodeReuse/ActiveRecord
@@ -69,7 +68,7 @@ module Gitlab
# rubocop: enable CodeReuse/ActiveRecord
def wiki_blobs_count
- @wiki_blobs_count ||= wiki_blobs.count
+ @wiki_blobs_count ||= wiki_blobs(limit: count_limit).count
end
def commits_count
@@ -87,7 +86,7 @@ module Gitlab
private
- def paginated_blobs(blobs, page)
+ def paginated_blobs(blobs, page, per_page)
results = Kaminari.paginate_array(blobs).page(page).per(per_page)
Gitlab::Search::FoundBlob.preload_blobs(results)
@@ -95,19 +94,26 @@ module Gitlab
results
end
- def limit_up_to_page(page)
+ def paginated_wiki_blobs(blobs, page, per_page)
+ blob_array = paginated_blobs(blobs, page, per_page)
+ blob_array.map! do |blob|
+ Gitlab::Search::FoundWikiPage.new(blob)
+ end
+ end
+
+ def limit_up_to_page(page, per_page)
current_page = page&.to_i || 1
offset = per_page * (current_page - 1)
count_limit + offset
end
- def blobs(page = 1)
+ def blobs(limit: count_limit)
return [] unless Ability.allowed?(@current_user, :download_code, @project)
- @blobs ||= Gitlab::FileFinder.new(project, repository_project_ref).find(query, content_match_cutoff: limit_up_to_page(page))
+ @blobs ||= Gitlab::FileFinder.new(project, repository_project_ref).find(query, content_match_cutoff: limit)
end
- def wiki_blobs
+ def wiki_blobs(limit: count_limit)
return [] unless Ability.allowed?(@current_user, :read_wiki, @project)
@wiki_blobs ||= begin
@@ -115,7 +121,7 @@ module Gitlab
if project.wiki.empty?
[]
else
- Gitlab::WikiFileFinder.new(project, repository_wiki_ref).find(query)
+ Gitlab::WikiFileFinder.new(project, repository_wiki_ref).find(query, content_match_cutoff: limit)
end
else
[]
diff --git a/lib/gitlab/prometheus_client.rb b/lib/gitlab/prometheus_client.rb
index e3559644142..b03d8a4d254 100644
--- a/lib/gitlab/prometheus_client.rb
+++ b/lib/gitlab/prometheus_client.rb
@@ -163,7 +163,7 @@ module Gitlab
end
def parse_json(response_body)
- Gitlab::Json.parse(response_body)
+ Gitlab::Json.parse(response_body, legacy_mode: true)
rescue JSON::ParserError
raise PrometheusClient::Error, 'Parsing response failed'
end
diff --git a/lib/gitlab/regex.rb b/lib/gitlab/regex.rb
index 8230886de3d..c8b04ce2a5c 100644
--- a/lib/gitlab/regex.rb
+++ b/lib/gitlab/regex.rb
@@ -79,6 +79,12 @@ module Gitlab
"Must start with a letter, and cannot end with '-'"
end
+ # Pod name adheres to DNS Subdomain Names(RFC 1123) naming convention
+ # https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names
+ def kubernetes_dns_subdomain_regex
+ /\A[a-z0-9]([a-z0-9\-\.]*[a-z0-9])?\z/
+ end
+
def environment_slug_regex
@environment_slug_regex ||= /\A[a-z]([a-z0-9-]*[a-z0-9])?\z/.freeze
end
diff --git a/lib/gitlab/request_context.rb b/lib/gitlab/request_context.rb
index 560f6ac3130..952ae55d90a 100644
--- a/lib/gitlab/request_context.rb
+++ b/lib/gitlab/request_context.rb
@@ -29,7 +29,7 @@ module Gitlab
return if Gitlab::Metrics::System.real_time < request_deadline
raise RequestDeadlineExceeded,
- "Request takes longer than #{max_request_duration_seconds}"
+ "Request takes longer than #{max_request_duration_seconds} seconds"
end
private
diff --git a/lib/gitlab/search_results.rb b/lib/gitlab/search_results.rb
index 0473fa89a0d..c35ee62163a 100644
--- a/lib/gitlab/search_results.rb
+++ b/lib/gitlab/search_results.rb
@@ -4,8 +4,10 @@ module Gitlab
class SearchResults
COUNT_LIMIT = 100
COUNT_LIMIT_MESSAGE = "#{COUNT_LIMIT - 1}+"
+ DEFAULT_PAGE = 1
+ DEFAULT_PER_PAGE = 20
- attr_reader :current_user, :query, :per_page
+ attr_reader :current_user, :query
# Limit search results by passed projects
# It allows us to search only for projects user has access to
@@ -17,15 +19,14 @@ module Gitlab
# query
attr_reader :default_project_filter
- def initialize(current_user, limit_projects, query, default_project_filter: false, per_page: 20)
+ def initialize(current_user, limit_projects, query, default_project_filter: false)
@current_user = current_user
@limit_projects = limit_projects || Project.all
@query = query
@default_project_filter = default_project_filter
- @per_page = per_page
end
- def objects(scope, page = nil, without_count = true)
+ def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE, without_count: true)
collection = case scope
when 'projects'
projects
@@ -39,7 +40,9 @@ module Gitlab
users
else
Kaminari.paginate_array([])
- end.page(page).per(per_page)
+ end
+
+ collection = collection.page(page).per(per_page)
without_count ? collection.without_count : collection
end
diff --git a/lib/gitlab/sidekiq_logging/json_formatter.rb b/lib/gitlab/sidekiq_logging/json_formatter.rb
index 45c6842c59b..64782e1e1d1 100644
--- a/lib/gitlab/sidekiq_logging/json_formatter.rb
+++ b/lib/gitlab/sidekiq_logging/json_formatter.rb
@@ -19,6 +19,7 @@ module Gitlab
output[:message] = data
when Hash
convert_to_iso8601!(data)
+ convert_retry_to_integer!(data)
stringify_args!(data)
output.merge!(data)
end
@@ -41,6 +42,20 @@ module Gitlab
Time.at(timestamp).utc.iso8601(3)
end
+ def convert_retry_to_integer!(payload)
+ payload['retry'] =
+ case payload['retry']
+ when Integer
+ payload['retry']
+ when false, nil
+ 0
+ when true
+ Sidekiq::JobRetry::DEFAULT_MAX_RETRY_ATTEMPTS
+ else
+ -1
+ end
+ end
+
def stringify_args!(payload)
payload['args'] = Gitlab::Utils::LogLimitedArray.log_limited_array(payload['args'].map(&:to_s)) if payload['args']
end
diff --git a/lib/gitlab/sidekiq_middleware/admin_mode/client.rb b/lib/gitlab/sidekiq_middleware/admin_mode/client.rb
index e227ee654ee..36204e1bee0 100644
--- a/lib/gitlab/sidekiq_middleware/admin_mode/client.rb
+++ b/lib/gitlab/sidekiq_middleware/admin_mode/client.rb
@@ -8,7 +8,7 @@ module Gitlab
# If enabled then it injects a job field that persists through the job execution
class Client
def call(_worker_class, job, _queue, _redis_pool)
- return yield unless Feature.enabled?(:user_mode_in_session)
+ return yield unless ::Feature.enabled?(:user_mode_in_session)
# Admin mode enabled in the original request or in a nested sidekiq job
admin_mode_user_id = find_admin_user_id
@@ -16,7 +16,7 @@ module Gitlab
if admin_mode_user_id
job['admin_mode_user_id'] ||= admin_mode_user_id
- Gitlab::AppLogger.debug("AdminMode::Client injected admin mode for job: #{job.inspect}")
+ ::Gitlab::AppLogger.debug("AdminMode::Client injected admin mode for job: #{job.inspect}")
end
yield
@@ -25,8 +25,8 @@ module Gitlab
private
def find_admin_user_id
- Gitlab::Auth::CurrentUserMode.current_admin&.id ||
- Gitlab::Auth::CurrentUserMode.bypass_session_admin_id
+ ::Gitlab::Auth::CurrentUserMode.current_admin&.id ||
+ ::Gitlab::Auth::CurrentUserMode.bypass_session_admin_id
end
end
end
diff --git a/lib/gitlab/snippet_search_results.rb b/lib/gitlab/snippet_search_results.rb
index 7fcae04c14f..9911f9e62a6 100644
--- a/lib/gitlab/snippet_search_results.rb
+++ b/lib/gitlab/snippet_search_results.rb
@@ -11,8 +11,8 @@ module Gitlab
@query = query
end
- def objects(scope, page = nil)
- paginated_objects(snippet_titles, page)
+ def objects(scope, page: nil, per_page: DEFAULT_PER_PAGE)
+ paginated_objects(snippet_titles, page, per_page)
end
def formatted_count(scope)
@@ -38,7 +38,7 @@ module Gitlab
snippets.search(query)
end
- def paginated_objects(relation, page)
+ def paginated_objects(relation, page, per_page)
relation.page(page).per(per_page)
end
diff --git a/lib/gitlab/testing/clear_thread_memory_cache_middleware.rb b/lib/gitlab/testing/clear_process_memory_cache_middleware.rb
index 6f54038ae22..1e69e5e142d 100644
--- a/lib/gitlab/testing/clear_thread_memory_cache_middleware.rb
+++ b/lib/gitlab/testing/clear_process_memory_cache_middleware.rb
@@ -2,13 +2,13 @@
module Gitlab
module Testing
- class ClearThreadMemoryCacheMiddleware
+ class ClearProcessMemoryCacheMiddleware
def initialize(app)
@app = app
end
def call(env)
- Gitlab::ThreadMemoryCache.cache_backend.clear
+ Gitlab::ProcessMemoryCache.cache_backend.clear
@app.call(env)
end
diff --git a/lib/gitlab/thread_memory_cache.rb b/lib/gitlab/thread_memory_cache.rb
deleted file mode 100644
index 7f363dc7feb..00000000000
--- a/lib/gitlab/thread_memory_cache.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-# frozen_string_literal: true
-
-module Gitlab
- class ThreadMemoryCache
- THREAD_KEY = :thread_memory_cache
-
- def self.cache_backend
- # Note ActiveSupport::Cache::MemoryStore is thread-safe. Since
- # each backend is local per thread we probably don't need to worry
- # about synchronizing access, but this is a drop-in replacement
- # for ActiveSupport::Cache::RedisStore.
- Thread.current[THREAD_KEY] ||= ActiveSupport::Cache::MemoryStore.new
- end
- end
-end
diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb
index a01807aef13..0704f94b87f 100644
--- a/lib/gitlab/usage_data.rb
+++ b/lib/gitlab/usage_data.rb
@@ -19,6 +19,7 @@
module Gitlab
class UsageData
BATCH_SIZE = 100
+ FALLBACK = -1
class << self
def data(force_refresh: false)
@@ -34,6 +35,7 @@ module Gitlab
.merge(components_usage_data)
.merge(cycle_analytics_usage_data)
.merge(object_store_usage_data)
+ .merge(recording_ce_finish_data)
end
def to_json(force_refresh: false)
@@ -42,16 +44,22 @@ module Gitlab
def license_usage_data
{
+ recorded_at: Time.now, # should be calculated very first
uuid: alt_usage_data { Gitlab::CurrentSettings.uuid },
hostname: alt_usage_data { Gitlab.config.gitlab.host },
version: alt_usage_data { Gitlab::VERSION },
installation_type: alt_usage_data { installation_type },
active_user_count: count(User.active),
- recorded_at: Time.now,
edition: 'CE'
}
end
+ def recording_ce_finish_data
+ {
+ recording_ce_finished_at: Time.now
+ }
+ end
+
# rubocop: disable Metrics/AbcSize
# rubocop: disable CodeReuse/ActiveRecord
def system_usage_data
@@ -342,7 +350,7 @@ module Gitlab
results
rescue ActiveRecord::StatementInvalid
- { projects_jira_server_active: -1, projects_jira_cloud_active: -1, projects_jira_active: -1 }
+ { projects_jira_server_active: FALLBACK, projects_jira_cloud_active: FALLBACK, projects_jira_active: FALLBACK }
end
def successful_deployments_with_cluster(scope)
@@ -367,27 +375,27 @@ module Gitlab
{} # augmented in EE
end
- def count(relation, column = nil, fallback: -1, batch: true, start: nil, finish: nil)
+ def count(relation, column = nil, batch: true, start: nil, finish: nil)
if batch && Feature.enabled?(:usage_ping_batch_counter, default_enabled: true)
Gitlab::Database::BatchCount.batch_count(relation, column, start: start, finish: finish)
else
relation.count
end
rescue ActiveRecord::StatementInvalid
- fallback
+ FALLBACK
end
- def distinct_count(relation, column = nil, fallback: -1, batch: true, start: nil, finish: nil)
+ def distinct_count(relation, column = nil, batch: true, start: nil, finish: nil)
if batch && Feature.enabled?(:usage_ping_batch_counter, default_enabled: true)
Gitlab::Database::BatchCount.batch_distinct_count(relation, column, start: start, finish: finish)
else
relation.distinct_count_by(column)
end
rescue ActiveRecord::StatementInvalid
- fallback
+ FALLBACK
end
- def alt_usage_data(value = nil, fallback: -1, &block)
+ def alt_usage_data(value = nil, fallback: FALLBACK, &block)
if block_given?
yield
else
@@ -410,7 +418,7 @@ module Gitlab
def redis_usage_counter
yield
rescue ::Redis::CommandError, Gitlab::UsageDataCounters::BaseCounter::UnknownEvent
- -1
+ FALLBACK
end
def redis_usage_data_totals(counter)
diff --git a/lib/gitlab/user_access_snippet.rb b/lib/gitlab/user_access_snippet.rb
index bfed86c4df4..dcd45f9350d 100644
--- a/lib/gitlab/user_access_snippet.rb
+++ b/lib/gitlab/user_access_snippet.rb
@@ -17,7 +17,14 @@ module Gitlab
@project = snippet&.project
end
+ def allowed?
+ return true if snippet_migration?
+
+ super
+ end
+
def can_do_action?(action)
+ return true if snippet_migration?
return false unless can_access_git?
permission_cache[action] =
@@ -35,7 +42,10 @@ module Gitlab
end
def can_push_to_branch?(ref)
+ return true if snippet_migration?
+
super
+
return false unless snippet
return false unless can_do_action?(:update_snippet)
@@ -45,5 +55,9 @@ module Gitlab
def can_merge_to_branch?(ref)
false
end
+
+ def snippet_migration?
+ user&.migration_bot? && snippet
+ end
end
end
diff --git a/lib/gitlab/x509/signature.rb b/lib/gitlab/x509/signature.rb
index ed248e29211..7d4d4d9d13a 100644
--- a/lib/gitlab/x509/signature.rb
+++ b/lib/gitlab/x509/signature.rb
@@ -22,6 +22,10 @@ module Gitlab
X509Certificate.safe_create!(certificate_attributes) unless verified_signature.nil?
end
+ def user
+ User.find_by_any_email(@email)
+ end
+
def verified_signature
strong_memoize(:verified_signature) { verified_signature? }
end
diff --git a/lib/gitlab/x509/tag.rb b/lib/gitlab/x509/tag.rb
new file mode 100644
index 00000000000..48582c17764
--- /dev/null
+++ b/lib/gitlab/x509/tag.rb
@@ -0,0 +1,41 @@
+# frozen_string_literal: true
+require 'openssl'
+require 'digest'
+
+module Gitlab
+ module X509
+ class Tag
+ include Gitlab::Utils::StrongMemoize
+
+ def initialize(raw_tag)
+ @raw_tag = raw_tag
+ end
+
+ def signature
+ signature = X509::Signature.new(signature_text, signed_text, @raw_tag.tagger.email, Time.at(@raw_tag.tagger.date.seconds))
+
+ return if signature.verified_signature.nil?
+
+ signature
+ end
+
+ private
+
+ def signature_text
+ @raw_tag.message.slice(@raw_tag.message.index("-----BEGIN SIGNED MESSAGE-----")..-1)
+ rescue
+ nil
+ end
+
+ def signed_text
+ # signed text is reconstructed as long as there is no specific gitaly function
+ %{object #{@raw_tag.target_commit.id}
+type commit
+tag #{@raw_tag.name}
+tagger #{@raw_tag.tagger.name} <#{@raw_tag.tagger.email}> #{@raw_tag.tagger.date.seconds} #{@raw_tag.tagger.timezone}
+
+#{@raw_tag.message.gsub(/-----BEGIN SIGNED MESSAGE-----(.*)-----END SIGNED MESSAGE-----/m, "")}}
+ end
+ end
+ end
+end
diff --git a/lib/gitlab_danger.rb b/lib/gitlab_danger.rb
index ebfeb2671e2..1c1763454a5 100644
--- a/lib/gitlab_danger.rb
+++ b/lib/gitlab_danger.rb
@@ -20,7 +20,6 @@ class GitlabDanger
changelog
specs
roulette
- gitlab_ui_wg
ce_ee_vue_templates
].freeze
diff --git a/lib/mattermost/client.rb b/lib/mattermost/client.rb
index 01a9567491f..a9551ffbd30 100644
--- a/lib/mattermost/client.rb
+++ b/lib/mattermost/client.rb
@@ -49,7 +49,7 @@ module Mattermost
end
def json_response(response)
- json_response = Gitlab::Json.parse(response.body)
+ json_response = Gitlab::Json.parse(response.body, legacy_mode: true)
unless response.success?
raise Mattermost::ClientError.new(json_response['message'] || 'Undefined error')
diff --git a/lib/tasks/gitlab/gitaly.rake b/lib/tasks/gitlab/gitaly.rake
index ee47f71af93..f5f1f6745e1 100644
--- a/lib/tasks/gitlab/gitaly.rake
+++ b/lib/tasks/gitlab/gitaly.rake
@@ -15,8 +15,7 @@ Usage: rake "gitlab:gitaly:install[/installation/dir,/storage/path]")
checkout_or_clone_version(version: version, repo: args.repo, target_dir: args.dir)
- command = %w[/usr/bin/env -u RUBYOPT -u BUNDLE_GEMFILE]
-
+ command = []
_, status = Gitlab::Popen.popen(%w[which gmake])
command << (status.zero? ? 'gmake' : 'make')
@@ -31,7 +30,7 @@ Usage: rake "gitlab:gitaly:install[/installation/dir,/storage/path]")
Dir.chdir(args.dir) do
# In CI we run scripts/gitaly-test-build instead of this command
unless ENV['CI'].present?
- Bundler.with_original_env { run_command!(command) }
+ Bundler.with_original_env { Gitlab::Popen.popen(command, nil, { "RUBYOPT" => nil, "BUNDLE_GEMFILE" => nil }) }
end
end
end
diff --git a/locale/am_ET/gitlab.po b/locale/am_ET/gitlab.po
index b9ed15d2632..debbaaead07 100644
--- a/locale/am_ET/gitlab.po
+++ b/locale/am_ET/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: am\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:29\n"
+"PO-Revision-Date: 2020-05-05 21:37\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] "%d መለያ"
msgstr[1] "%d መለያዎች"
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr "%{mergeLength}/%{usersLength} merge ማድረጠይቻላáˆ"
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText}ᣠይህ እትሠበራስ-ሰር ይዘጋáˆá¢"
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} %{resultsString} á‹­á‹­á‹›áˆ"
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "የ%{name} አáˆáˆ³á‹«"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind} commits ኅላ %{default_branch}, %{number_commits_ahead} commits በáŠá‰µ"
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/ar_SA/gitlab.po b/locale/ar_SA/gitlab.po
index d83fd808ec8..64c1936c4a2 100644
--- a/locale/ar_SA/gitlab.po
+++ b/locale/ar_SA/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: ar\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:29\n"
+"PO-Revision-Date: 2020-05-05 21:31\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -332,6 +332,15 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -515,6 +524,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -527,6 +539,15 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -674,6 +695,9 @@ msgstr[5] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -1025,12 +1049,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -1064,6 +1094,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1280,6 +1313,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1289,6 +1328,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1535,6 +1577,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1910,6 +1955,72 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1979,6 +2090,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1997,6 +2111,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -2105,6 +2222,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -2186,6 +2306,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2423,6 +2546,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2654,10 +2780,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2687,6 +2813,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2867,6 +2996,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2909,6 +3041,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -3191,9 +3344,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3323,6 +3473,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3542,6 +3695,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3662,6 +3818,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3830,6 +3989,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3866,9 +4028,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3884,9 +4043,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4337,9 +4493,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4727,6 +4880,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -5033,6 +5192,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -5129,6 +5297,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5561,18 +5735,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5720,9 +5909,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5735,6 +5930,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5744,18 +5942,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5777,9 +5969,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5795,12 +5984,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5819,22 +6020,22 @@ msgstr[5] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5843,16 +6044,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5873,16 +6083,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -6137,7 +6347,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -6152,6 +6362,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -6209,6 +6422,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6314,6 +6530,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6335,6 +6554,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6695,6 +6917,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -7085,6 +7310,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7238,6 +7466,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7760,9 +7991,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8384,9 +8612,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8396,6 +8621,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8447,6 +8675,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8501,6 +8732,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8510,9 +8744,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8654,6 +8885,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8858,12 +9092,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8933,9 +9173,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8975,6 +9212,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8984,7 +9224,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -9008,6 +9248,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9383,7 +9629,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9395,12 +9644,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9689,10 +9944,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9734,6 +9989,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9749,6 +10007,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9779,7 +10040,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9806,6 +10070,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9845,16 +10112,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9866,9 +10133,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9893,9 +10166,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9932,7 +10202,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9941,7 +10211,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10283,9 +10553,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10730,6 +10997,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10808,6 +11078,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -11081,15 +11354,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -11153,6 +11423,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -11192,6 +11465,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11303,6 +11579,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11369,6 +11648,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11720,15 +12002,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11750,10 +12032,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11807,6 +12089,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -12200,6 +12485,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -12212,6 +12500,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12563,9 +12854,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12716,9 +13004,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12749,6 +13034,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -13013,6 +13301,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -13166,6 +13457,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13277,12 +13574,15 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13313,9 +13613,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13394,6 +13691,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13847,10 +14147,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13910,6 +14210,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -14048,15 +14351,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -14180,6 +14474,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14351,6 +14648,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14456,9 +14756,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14561,6 +14858,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14612,6 +14912,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14633,6 +14936,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14666,6 +14972,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14675,6 +14987,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14693,12 +15008,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14735,6 +15056,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14750,6 +15074,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14843,6 +15170,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14858,9 +15188,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14891,7 +15218,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14972,9 +15299,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14984,6 +15308,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -15062,15 +15389,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -15092,10 +15410,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15326,6 +15647,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15371,6 +15695,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15488,7 +15815,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15509,10 +15836,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15545,6 +15872,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16373,6 +16703,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16436,6 +16769,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16655,13 +16991,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16847,6 +17183,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16871,6 +17210,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -17075,6 +17417,9 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17456,9 +17801,33 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17564,7 +17933,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17756,6 +18125,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17828,6 +18200,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17876,6 +18251,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17930,6 +18308,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -18014,12 +18395,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -18077,6 +18464,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -18254,15 +18644,6 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-msgstr[4] ""
-msgstr[5] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -18281,6 +18662,9 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -18308,184 +18692,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18497,6 +18929,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18902,9 +19337,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18989,6 +19421,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -19307,6 +19742,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19448,6 +19886,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19733,6 +20174,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19856,6 +20300,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19865,18 +20312,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19934,6 +20393,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -20282,6 +20747,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20435,6 +20906,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20753,6 +21227,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -21074,6 +21551,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -21089,7 +21569,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -21152,6 +21632,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -21188,6 +21671,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -21329,6 +21815,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21527,7 +22019,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21557,10 +22052,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21593,7 +22088,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21662,6 +22157,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21854,7 +22352,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -22061,7 +22559,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -22223,6 +22721,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -22316,6 +22817,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -23267,6 +23771,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23444,6 +23951,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23474,6 +23990,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23507,7 +24026,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23561,9 +24083,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23672,15 +24200,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23711,9 +24230,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23897,6 +24413,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -24092,6 +24611,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -24158,6 +24680,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -24239,6 +24764,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -24323,9 +24851,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24422,6 +24962,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24461,6 +25004,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24479,12 +25025,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24527,7 +25079,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24605,6 +25157,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24788,6 +25343,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -25001,6 +25562,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -25172,9 +25736,6 @@ msgstr[5] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25511,6 +26072,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25571,6 +26135,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25607,6 +26174,12 @@ msgstr[5] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25757,15 +26330,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-msgstr[4] ""
-msgstr[5] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25820,6 +26384,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/bg/gitlab.po b/locale/bg/gitlab.po
index e274e832a38..d9feb7039b4 100644
--- a/locale/bg/gitlab.po
+++ b/locale/bg/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: bg\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:30\n"
+"PO-Revision-Date: 2020-05-05 21:36\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -654,8 +670,8 @@ msgstr[1] ""
msgid "1 closed issue"
msgid_plural "%{issues} closed issues"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "1 затворен проблем"
+msgstr[1] "%{issues} затворени проблема"
msgid "1 closed merge request"
msgid_plural "%{merge_requests} closed merge requests"
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr "Ñи Ñъздадете личен жетон за доÑтъп"
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr "Филтриране по Ñъобщение"
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr "ВнаÑÑне на хранилище"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "Ð¡ÑŠÐ±Ð¸Ñ‚Ð¸Ñ Ð·Ð° извеÑÑ‚Ñване"
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr "Планове за Ñхема"
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "ÐеуÑпешни:"
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr "Създаване на нов план за Ñхема"
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr "ТърÑете в клоните и етикетите"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr "нова заÑвка за Ñливане"
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/bn_BD/gitlab.po b/locale/bn_BD/gitlab.po
index 66869600500..26747c5d718 100644
--- a/locale/bn_BD/gitlab.po
+++ b/locale/bn_BD/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: bn\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:29\n"
+"PO-Revision-Date: 2020-05-05 21:31\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/bn_IN/gitlab.po b/locale/bn_IN/gitlab.po
index 9a0957d15be..8dd05d90fc5 100644
--- a/locale/bn_IN/gitlab.po
+++ b/locale/bn_IN/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: bn-IN\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:29\n"
+"PO-Revision-Date: 2020-05-05 21:34\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/bs_BA/gitlab.po b/locale/bs_BA/gitlab.po
index cd9940a7fab..69c02aa8f3f 100644
--- a/locale/bs_BA/gitlab.po
+++ b/locale/bs_BA/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: bs\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:29\n"
+"PO-Revision-Date: 2020-05-05 21:33\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -202,9 +202,9 @@ msgstr[2] ""
msgid "%d minute"
msgid_plural "%d minutes"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "%d minuta"
+msgstr[1] "%d minute"
+msgstr[2] "%d minuta"
msgid "%d more comment"
msgid_plural "%d more comments"
@@ -226,9 +226,9 @@ msgstr[2] ""
msgid "%d second"
msgid_plural "%d seconds"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "%d sekunda"
+msgstr[1] "%d sekunde"
+msgstr[2] "%d sekundi"
msgid "%d shard selected"
msgid_plural "%d shards selected"
@@ -242,6 +242,12 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -407,6 +413,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -419,6 +428,12 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -548,6 +563,9 @@ msgstr[2] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -697,9 +715,9 @@ msgstr[2] ""
msgid "1 Day"
msgid_plural "%d Days"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "1 dan"
+msgstr[1] "%d dana"
+msgstr[2] "%d dana"
msgid "1 closed issue"
msgid_plural "%{issues} closed issues"
@@ -715,9 +733,9 @@ msgstr[2] ""
msgid "1 day"
msgid_plural "%d days"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "1 dan"
+msgstr[1] "%d dana"
+msgstr[2] "%d dana"
msgid "1 group"
msgid_plural "%d groups"
@@ -739,9 +757,9 @@ msgstr[2] ""
msgid "1 minute"
msgid_plural "%d minutes"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "1 minuta"
+msgstr[1] "%d minute"
+msgstr[2] "%d minuta"
msgid "1 month"
msgstr ""
@@ -777,7 +795,7 @@ msgstr[1] ""
msgstr[2] ""
msgid "1 week"
-msgstr ""
+msgstr "1 sedmica"
msgid "1-9 contributions"
msgstr ""
@@ -798,13 +816,13 @@ msgid "2FADevice|Registered On"
msgstr ""
msgid "3 days"
-msgstr ""
+msgstr "3 dana"
msgid "3 hours"
msgstr ""
msgid "30 minutes"
-msgstr ""
+msgstr "30 minuta"
msgid "30+ contributions"
msgstr ""
@@ -842,12 +860,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -881,6 +905,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1097,6 +1124,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1106,6 +1139,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1349,6 +1385,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1356,7 +1395,7 @@ msgid "Adding new applications is disabled in your GitLab instance. Please conta
msgstr ""
msgid "Additional minutes"
-msgstr ""
+msgstr "Dodatne minute"
msgid "Additional text"
msgstr ""
@@ -1721,6 +1760,72 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1790,6 +1895,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1808,6 +1916,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1916,6 +2027,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1997,6 +2111,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2234,6 +2351,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2453,10 +2573,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2486,6 +2606,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2625,10 +2748,10 @@ msgid "Assign to"
msgstr ""
msgid "Assign yourself to these issues"
-msgstr ""
+msgstr "Zaduži sebi ove zadatke"
msgid "Assign yourself to this issue"
-msgstr ""
+msgstr "Zaduži sebi ovaj zadatak"
msgid "Assigned %{assignee_users_sentence}."
msgstr ""
@@ -2663,6 +2786,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2702,6 +2828,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2865,7 +3012,7 @@ msgid "Avatar will be removed. Are you sure?"
msgstr ""
msgid "Average per day: %{average}"
-msgstr ""
+msgstr "Dnevni prosjek: %{average}"
msgid "Back to page %{number}"
msgstr ""
@@ -2984,9 +3131,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3116,6 +3260,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3335,6 +3482,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3455,6 +3605,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3623,6 +3776,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3659,9 +3815,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3677,9 +3830,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4130,9 +4280,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4520,6 +4667,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4826,6 +4979,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4922,6 +5084,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5351,18 +5519,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5510,9 +5693,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5525,6 +5714,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5534,18 +5726,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5567,9 +5753,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5585,12 +5768,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5606,22 +5801,22 @@ msgstr[2] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5630,16 +5825,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5660,16 +5864,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5924,7 +6128,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5939,6 +6143,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5996,6 +6203,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6101,6 +6311,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6122,6 +6335,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6479,6 +6695,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6519,22 +6738,22 @@ msgid "Date range cannot exceed %{maxDateRange} days."
msgstr ""
msgid "Day of month"
-msgstr ""
+msgstr "Dan u mjesecu"
msgid "DayTitle|F"
-msgstr ""
+msgstr "P"
msgid "DayTitle|M"
-msgstr ""
+msgstr "P"
msgid "DayTitle|S"
-msgstr ""
+msgstr "N"
msgid "DayTitle|W"
-msgstr ""
+msgstr "S"
msgid "Days"
-msgstr ""
+msgstr "Dani"
msgid "Days to merge"
msgstr ""
@@ -6582,10 +6801,10 @@ msgid "Default description template for merge requests"
msgstr ""
msgid "Default first day of the week"
-msgstr ""
+msgstr "Standardni prvi dan sedmice"
msgid "Default first day of the week in calendars and date pickers."
-msgstr ""
+msgstr "Standardni prvi dan sedmice u kalendarima i izbornicima datuma."
msgid "Default issue template"
msgstr ""
@@ -6851,6 +7070,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7004,6 +7226,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7523,9 +7748,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8147,9 +8369,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8159,6 +8378,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8172,7 +8394,7 @@ msgid "Epics|An error occurred while updating labels."
msgstr ""
msgid "Epics|Are you sure you want to remove %{bStart}%{targetIssueTitle}%{bEnd} from %{bStart}%{parentEpicTitle}%{bEnd}?"
-msgstr ""
+msgstr "Jesi li siguran da želiš ukloniti %{bStart}%{targetIssueTitle}%{bEnd} iz %{bStart}%{parentEpicTitle}%{bEnd}?"
msgid "Epics|Create an epic within this group and add it as a child epic."
msgstr ""
@@ -8210,6 +8432,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8217,7 +8442,7 @@ msgid "Epics|Something went wrong while removing issue from epic."
msgstr ""
msgid "Epics|These dates affect how your epics appear in the roadmap. Dates from milestones come from the milestones assigned to issues in the epic. You can also set fixed dates or remove them entirely."
-msgstr ""
+msgstr "Ovi datumi utiÄu na to kako se epici pojavljuju u planu projekta. Datumi iz ciljeva se preuzimaju iz ciljeva koji su dodijeljeni zadacima u epiku. MožeÅ¡ postaviti i fiksne datume ili ih u potpunosti ukloniti."
msgid "Epics|This will also remove any descendents of %{bStart}%{targetEpicTitle}%{bEnd} from %{bStart}%{parentEpicTitle}%{bEnd}. Are you sure?"
msgstr ""
@@ -8264,6 +8489,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8273,9 +8501,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8417,6 +8642,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8460,28 +8688,28 @@ msgid "Every %{action} attempt has failed: %{job_error_message}. Please try agai
msgstr ""
msgid "Every day"
-msgstr ""
+msgstr "Svaki dan"
msgid "Every day (at 4:00am)"
-msgstr ""
+msgstr "Svaki dan (u 4:00 h)"
msgid "Every month"
-msgstr ""
+msgstr "MjeseÄno"
msgid "Every month (on the 1st at 4:00am)"
-msgstr ""
+msgstr "MjeseÄno (1. u 4:00 h)"
msgid "Every three months"
-msgstr ""
+msgstr "TromjeseÄno"
msgid "Every two weeks"
-msgstr ""
+msgstr "DvosedmiÄno"
msgid "Every week"
-msgstr ""
+msgstr "SedmiÄno"
msgid "Every week (Sundays at 4:00am)"
-msgstr ""
+msgstr "Svake sedmice (nedjeljom u 4:00 h)"
msgid "Everyone"
msgstr ""
@@ -8621,12 +8849,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8696,9 +8930,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8738,6 +8969,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8747,7 +8981,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8771,6 +9005,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9146,7 +9386,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9158,12 +9401,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9210,7 +9459,7 @@ msgid "First Seen"
msgstr ""
msgid "First day of the week"
-msgstr ""
+msgstr "Prvi dan sedmice"
msgid "First name"
msgstr ""
@@ -9348,7 +9597,7 @@ msgid "Frequency"
msgstr ""
msgid "Friday"
-msgstr ""
+msgstr "Petak"
msgid "From"
msgstr ""
@@ -9452,10 +9701,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9497,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9512,6 +9764,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9542,7 +9797,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9569,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9608,16 +9869,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9629,9 +9890,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9656,9 +9923,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9695,7 +9959,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9704,7 +9968,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10046,9 +10310,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10119,7 +10380,7 @@ msgid "Go to your groups"
msgstr ""
msgid "Go to your issues"
-msgstr ""
+msgstr "Idi na tvoje zadatke"
msgid "Go to your merge requests"
msgstr ""
@@ -10493,6 +10754,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10571,6 +10835,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10838,15 +11105,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10910,6 +11174,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10949,6 +11216,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11060,6 +11330,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11126,6 +11399,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11433,7 +11709,7 @@ msgid "Issue was closed by %{name} %{reason}"
msgstr ""
msgid "Issue weight"
-msgstr ""
+msgstr "Težina zadatka"
msgid "IssueBoards|Board"
msgstr ""
@@ -11451,7 +11727,7 @@ msgid "IssueBoards|No matching boards found"
msgstr ""
msgid "IssueBoards|Some of your boards are hidden, activate a license to see them again."
-msgstr ""
+msgstr "Neke tvoje table nisu vidljive, aktiviraj licencu za ponovni prikaz."
msgid "IssueBoards|Switch board"
msgstr ""
@@ -11474,15 +11750,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11504,10 +11780,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11561,6 +11837,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11860,12 +12139,12 @@ msgstr ""
msgid "Last %d day"
msgid_plural "Last %d days"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "Zadnjih %d dan"
+msgstr[1] "Zadnjih %d dana"
+msgstr[2] "Zadnjih %d dana"
msgid "Last %{days} days"
-msgstr ""
+msgstr "Zadnjih %{days} dana"
msgid "Last Accessed On"
msgstr ""
@@ -11951,6 +12230,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11963,6 +12245,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12299,9 +12584,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12452,9 +12734,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12485,6 +12764,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12749,6 +13031,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12902,6 +13187,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13010,12 +13301,15 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13046,9 +13340,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13127,6 +13418,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13191,7 +13485,7 @@ msgid "Minimum password length (number of characters)"
msgstr ""
msgid "Minutes"
-msgstr ""
+msgstr "Minute"
msgid "Mirror direction"
msgstr ""
@@ -13260,7 +13554,7 @@ msgid "Modify merge commit"
msgstr ""
msgid "Monday"
-msgstr ""
+msgstr "Ponedjeljak"
msgid "Monitor your errors by integrating with Sentry."
msgstr ""
@@ -13269,7 +13563,7 @@ msgid "Monitoring"
msgstr ""
msgid "Months"
-msgstr ""
+msgstr "Mjeseci"
msgid "More"
msgstr ""
@@ -13574,10 +13868,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13637,6 +13931,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13775,15 +14072,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13907,6 +14195,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14078,6 +14369,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14180,9 +14474,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14199,7 +14490,7 @@ msgid "Opened issues"
msgstr ""
msgid "OpenedNDaysAgo|Opened"
-msgstr ""
+msgstr "Otvoreno"
msgid "Opens in a new window"
msgstr ""
@@ -14285,6 +14576,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14336,6 +14630,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14357,6 +14654,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14390,6 +14690,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14399,6 +14705,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14417,12 +14726,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14459,6 +14774,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14474,6 +14792,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14567,6 +14888,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14582,9 +14906,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14615,7 +14936,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14696,9 +15017,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14708,6 +15026,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14786,15 +15107,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14816,10 +15128,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15050,6 +15365,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15095,6 +15413,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15212,7 +15533,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15233,10 +15554,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15269,6 +15590,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16097,6 +16421,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16160,6 +16487,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16379,13 +16709,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16571,6 +16901,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16595,6 +16928,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16796,6 +17132,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17174,9 +17513,30 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17282,7 +17642,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17468,6 +17828,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17537,6 +17900,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17585,6 +17951,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17639,6 +18008,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17673,7 +18045,7 @@ msgid "SSL Verification:"
msgstr ""
msgid "Saturday"
-msgstr ""
+msgstr "Subota"
msgid "Save"
msgstr ""
@@ -17723,12 +18095,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17786,6 +18164,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17939,12 +18320,6 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17957,6 +18332,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17984,184 +18362,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgstr ""
+
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Undo dismiss"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18173,6 +18599,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18578,9 +19007,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18665,6 +19091,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18980,6 +19409,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19121,6 +19553,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19406,6 +19841,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19529,6 +19967,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19538,18 +19979,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19607,6 +20060,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19929,7 +20388,7 @@ msgid "Summary"
msgstr ""
msgid "Sunday"
-msgstr ""
+msgstr "Nedjelja"
msgid "Support"
msgstr ""
@@ -19955,6 +20414,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20108,6 +20573,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20417,6 +20885,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20738,6 +21209,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20753,7 +21227,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20816,6 +21290,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20852,6 +21329,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20993,6 +21473,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21191,7 +21677,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21221,10 +21710,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21257,7 +21746,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21291,7 +21780,7 @@ msgid "ThreatMonitoring|While it's rare to have no traffic coming to your applic
msgstr ""
msgid "Thursday"
-msgstr ""
+msgstr "ÄŒetvrtak"
msgid "Time"
msgstr ""
@@ -21326,6 +21815,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21363,10 +21855,10 @@ msgid "TimeTracking|Time remaining: %{timeRemainingHumanReadable}"
msgstr ""
msgid "Timeago|%s days ago"
-msgstr ""
+msgstr "prije %s dana"
msgid "Timeago|%s days remaining"
-msgstr ""
+msgstr "preostalo %s dana"
msgid "Timeago|%s hours ago"
msgstr ""
@@ -21375,37 +21867,37 @@ msgid "Timeago|%s hours remaining"
msgstr ""
msgid "Timeago|%s minutes ago"
-msgstr ""
+msgstr "prije %s min"
msgid "Timeago|%s minutes remaining"
-msgstr ""
+msgstr "preostalo %s min"
msgid "Timeago|%s months ago"
-msgstr ""
+msgstr "prije %s mjeseci"
msgid "Timeago|%s months remaining"
-msgstr ""
+msgstr "preostalo %s mjeseci"
msgid "Timeago|%s seconds remaining"
-msgstr ""
+msgstr "preostalo %s s"
msgid "Timeago|%s weeks ago"
-msgstr ""
+msgstr "prije %s sedmica"
msgid "Timeago|%s weeks remaining"
-msgstr ""
+msgstr "preostalo %s sedmica"
msgid "Timeago|%s years ago"
-msgstr ""
+msgstr "prije %s godina"
msgid "Timeago|%s years remaining"
-msgstr ""
+msgstr "preostalo %s godina"
msgid "Timeago|1 day ago"
-msgstr ""
+msgstr "prije 1 dan"
msgid "Timeago|1 day remaining"
-msgstr ""
+msgstr "preostalo 1 dan"
msgid "Timeago|1 hour ago"
msgstr ""
@@ -21414,73 +21906,73 @@ msgid "Timeago|1 hour remaining"
msgstr ""
msgid "Timeago|1 minute ago"
-msgstr ""
+msgstr "prije 1 min"
msgid "Timeago|1 minute remaining"
-msgstr ""
+msgstr "preostalo 1 min"
msgid "Timeago|1 month ago"
-msgstr ""
+msgstr "prije 1 mjesec"
msgid "Timeago|1 month remaining"
-msgstr ""
+msgstr "preostalo 1 mjesec"
msgid "Timeago|1 week ago"
-msgstr ""
+msgstr "prije 1 sedmice"
msgid "Timeago|1 week remaining"
-msgstr ""
+msgstr "preostalo 1 sedmica"
msgid "Timeago|1 year ago"
-msgstr ""
+msgstr "prije 1 godine"
msgid "Timeago|1 year remaining"
-msgstr ""
+msgstr "preostalo 1 godina"
msgid "Timeago|Past due"
msgstr ""
msgid "Timeago|in %s days"
-msgstr ""
+msgstr "za %s dana"
msgid "Timeago|in %s hours"
msgstr ""
msgid "Timeago|in %s minutes"
-msgstr ""
+msgstr "za %s min"
msgid "Timeago|in %s months"
-msgstr ""
+msgstr "za %s mjeseci"
msgid "Timeago|in %s seconds"
-msgstr ""
+msgstr "za %s s"
msgid "Timeago|in %s weeks"
-msgstr ""
+msgstr "za %s sedmica"
msgid "Timeago|in %s years"
-msgstr ""
+msgstr "za %s godina"
msgid "Timeago|in 1 day"
-msgstr ""
+msgstr "za 1 dan"
msgid "Timeago|in 1 hour"
msgstr ""
msgid "Timeago|in 1 minute"
-msgstr ""
+msgstr "za 1 min"
msgid "Timeago|in 1 month"
-msgstr ""
+msgstr "za 1 mjesec"
msgid "Timeago|in 1 week"
-msgstr ""
+msgstr "za 1 sedmicu"
msgid "Timeago|in 1 year"
-msgstr ""
+msgstr "za 1 godinu"
msgid "Timeago|just now"
-msgstr ""
+msgstr "maloprije"
msgid "Timeago|right now"
msgstr ""
@@ -21512,7 +22004,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21648,7 +22140,7 @@ msgid "To-do item successfully marked as done."
msgstr ""
msgid "Today"
-msgstr ""
+msgstr "Danas"
msgid "Toggle Markdown preview"
msgstr ""
@@ -21719,7 +22211,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21879,6 +22371,9 @@ msgid "Try again?"
msgstr ""
msgid "Try all GitLab has to offer for 30 days."
+msgstr "Isprobajte sve što GitLab može ponuditi za 30 dana."
+
+msgid "Try changing or removing filters."
msgstr ""
msgid "Try to fork again"
@@ -21891,7 +22386,7 @@ msgid "Trying to communicate with your device. Plug it in (if you haven't alread
msgstr ""
msgid "Tuesday"
-msgstr ""
+msgstr "Utorak"
msgid "Turn Off"
msgstr ""
@@ -21974,6 +22469,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22919,6 +23417,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23096,6 +23597,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23126,6 +23636,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23159,7 +23672,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23213,9 +23729,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23253,19 +23775,19 @@ msgid "Webhooks have moved. They can now be found under the Settings menu."
msgstr ""
msgid "Wednesday"
-msgstr ""
+msgstr "Srijeda"
msgid "Weekday"
-msgstr ""
+msgstr "Radni dan"
msgid "Weeks"
-msgstr ""
+msgstr "Sedmice"
msgid "Weight"
-msgstr ""
+msgstr "Težina"
msgid "Weight %{weight}"
-msgstr ""
+msgstr "Težina %{weight}"
msgid "Welcome back! Your account had been deactivated due to inactivity but is now reactivated."
msgstr ""
@@ -23321,15 +23843,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23360,9 +23873,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23546,11 +24056,14 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
msgid "Yesterday"
-msgstr ""
+msgstr "JuÄer"
msgid "You"
msgstr ""
@@ -23741,6 +24254,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23807,6 +24323,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23888,6 +24407,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23972,9 +24494,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24071,6 +24605,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24110,6 +24647,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24128,12 +24668,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24173,7 +24719,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24251,6 +24797,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24419,6 +24968,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,9 +25048,9 @@ msgstr ""
msgid "day"
msgid_plural "days"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
+msgstr[0] "dan"
+msgstr[1] "dana"
+msgstr[2] "dana"
msgid "default branch"
msgstr ""
@@ -24620,6 +25175,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24753,7 +25311,7 @@ msgid "leave %{group_name}"
msgstr ""
msgid "less than a minute"
-msgstr ""
+msgstr "manje od minute"
msgid "level: %{level}"
msgstr ""
@@ -24785,9 +25343,6 @@ msgstr[2] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25124,6 +25679,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25178,6 +25736,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25208,6 +25769,12 @@ msgstr[2] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25230,7 +25797,7 @@ msgid "remove due date"
msgstr ""
msgid "remove weight"
-msgstr ""
+msgstr "ukloni težinu"
msgid "removed a Zoom call from this issue"
msgstr ""
@@ -25355,12 +25922,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25415,6 +25976,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/ca_ES/gitlab.po b/locale/ca_ES/gitlab.po
index 0ce8ec901fb..6f3785e8e5a 100644
--- a/locale/ca_ES/gitlab.po
+++ b/locale/ca_ES/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: ca\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:30\n"
+"PO-Revision-Date: 2020-05-05 21:15\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] "%{text} %{files} fitxers"
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Compte"
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "Tots els usuaris"
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr "Verificació contra el correu brossa"
msgid "Any"
msgstr "Qualsevol"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "Qualsevol etiqueta"
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "ag."
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr "Taulers"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr "Etiqueta"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr "Crea una etiqueta de projecte"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr "Creat"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
+msgid "Geo|All %{replicable_type}"
+msgstr ""
+
msgid "Geo|All projects"
msgstr "Tots els projectes"
-msgid "Geo|All projects are being scheduled for re-sync"
-msgstr ""
-
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr "Fallit"
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr "Grups"
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr "ID"
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr "Enrere"
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr "S'han creat les peticions de fusió"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
-msgstr "Entorn"
+msgid "Metrics|Expand panel"
+msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/cs_CZ/gitlab.po b/locale/cs_CZ/gitlab.po
index b25da713cb4..55a1492cdad 100644
--- a/locale/cs_CZ/gitlab.po
+++ b/locale/cs_CZ/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: cs\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 01:24\n"
+"PO-Revision-Date: 2020-05-05 21:14\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -272,6 +272,13 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -443,6 +450,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -455,6 +465,13 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "Profilový obrázek %{name}"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -590,6 +607,9 @@ msgstr[3] ""
msgid "%{text} is available"
msgstr "%{text} je k dispozici"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -903,12 +923,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -942,6 +968,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1158,6 +1187,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1167,6 +1202,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1411,6 +1449,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1784,6 +1825,72 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1853,6 +1960,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1871,6 +1981,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1979,6 +2092,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -2060,6 +2176,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2297,6 +2416,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2520,10 +2642,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2553,6 +2675,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2731,6 +2856,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2771,6 +2899,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "Srp"
@@ -3053,9 +3202,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3185,6 +3331,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3404,6 +3553,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3524,6 +3676,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3692,6 +3847,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3728,9 +3886,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3746,9 +3901,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4199,9 +4351,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4589,6 +4738,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4895,6 +5050,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4991,6 +5155,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5421,18 +5591,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5580,9 +5765,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5595,6 +5786,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5604,18 +5798,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5637,9 +5825,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5655,12 +5840,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5677,22 +5874,22 @@ msgstr[3] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5701,16 +5898,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5731,16 +5937,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5995,7 +6201,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -6010,6 +6216,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -6067,6 +6276,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6172,6 +6384,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6193,6 +6408,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6551,6 +6769,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6929,6 +7150,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7082,6 +7306,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7602,9 +7829,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8226,9 +8450,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8238,6 +8459,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8289,6 +8513,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8343,6 +8570,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8352,9 +8582,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8496,6 +8723,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8700,12 +8930,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8775,9 +9011,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8817,6 +9050,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8826,7 +9062,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8850,6 +9086,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9225,7 +9467,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9237,12 +9482,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9531,10 +9782,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9576,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9591,6 +9845,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9621,7 +9878,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9648,6 +9908,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9687,16 +9950,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9708,9 +9971,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9735,9 +10004,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9774,7 +10040,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9783,7 +10049,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10125,9 +10391,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10572,6 +10835,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10650,6 +10916,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10919,15 +11188,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10991,6 +11257,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -11030,6 +11299,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11141,6 +11413,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11207,6 +11482,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11556,15 +11834,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11586,10 +11864,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11643,6 +11921,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -12034,6 +12315,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -12046,6 +12330,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12387,9 +12674,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12540,9 +12824,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12573,6 +12854,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12837,6 +13121,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12990,6 +13277,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13099,12 +13392,15 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13135,9 +13431,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13216,6 +13509,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13665,10 +13961,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13728,6 +14024,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13866,15 +14165,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13998,6 +14288,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14169,6 +14462,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14272,9 +14568,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14377,6 +14670,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14428,6 +14724,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14449,6 +14748,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14482,6 +14784,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14491,6 +14799,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14509,12 +14820,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14551,6 +14868,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14566,6 +14886,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14659,6 +14982,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14674,9 +15000,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14707,7 +15030,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14788,9 +15111,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14800,6 +15120,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14878,15 +15201,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14908,10 +15222,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15142,6 +15459,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15187,6 +15507,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15304,7 +15627,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15325,10 +15648,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15361,6 +15684,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16189,6 +16515,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16252,6 +16581,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16471,13 +16803,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16663,6 +16995,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16687,6 +17022,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16889,6 +17227,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17268,9 +17609,31 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17376,7 +17739,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17564,6 +17927,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17634,6 +18000,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17682,6 +18051,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17736,6 +18108,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17820,12 +18195,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17883,6 +18264,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -18044,13 +18428,6 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -18065,6 +18442,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -18092,184 +18472,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18281,6 +18709,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18686,9 +19117,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18773,6 +19201,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -19089,6 +19520,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19230,6 +19664,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19515,6 +19952,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19638,6 +20078,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19647,18 +20090,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19716,6 +20171,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -20064,6 +20525,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20217,6 +20684,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20529,6 +20999,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20850,6 +21323,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20865,7 +21341,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20928,6 +21404,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20964,6 +21443,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -21105,6 +21587,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21303,7 +21791,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21333,10 +21824,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21369,7 +21860,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21438,6 +21929,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21626,7 +22120,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21833,7 +22327,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21995,6 +22489,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -22088,6 +22585,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -23035,6 +23535,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23212,6 +23715,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23242,6 +23754,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23275,7 +23790,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23329,9 +23847,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23438,15 +23962,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23477,9 +23992,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23663,6 +24175,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23858,6 +24373,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23924,6 +24442,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -24005,6 +24526,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -24089,9 +24613,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24188,6 +24724,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24227,6 +24766,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24245,12 +24787,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24291,7 +24839,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24369,6 +24917,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24542,6 +25093,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24747,6 +25304,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24914,9 +25474,6 @@ msgstr[3] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25253,6 +25810,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25309,6 +25869,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25341,6 +25904,12 @@ msgstr[3] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25489,13 +26058,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25550,6 +26112,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/cy_GB/gitlab.po b/locale/cy_GB/gitlab.po
index bb0b863f0d2..1b1664ca998 100644
--- a/locale/cy_GB/gitlab.po
+++ b/locale/cy_GB/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: cy\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:32\n"
+"PO-Revision-Date: 2020-05-05 21:32\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -332,6 +332,15 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -515,6 +524,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -527,6 +539,15 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -674,6 +695,9 @@ msgstr[5] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -1025,12 +1049,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -1064,6 +1094,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1280,6 +1313,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1289,6 +1328,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1535,6 +1577,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1910,6 +1955,72 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1979,6 +2090,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1997,6 +2111,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -2105,6 +2222,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -2186,6 +2306,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2423,6 +2546,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2654,10 +2780,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2687,6 +2813,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2867,6 +2996,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2909,6 +3041,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -3191,9 +3344,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3323,6 +3473,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3542,6 +3695,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3662,6 +3818,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3830,6 +3989,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3866,9 +4028,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3884,9 +4043,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4337,9 +4493,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4727,6 +4880,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -5033,6 +5192,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -5129,6 +5297,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5561,18 +5735,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5720,9 +5909,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5735,6 +5930,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5744,18 +5942,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5777,9 +5969,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5795,12 +5984,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5819,22 +6020,22 @@ msgstr[5] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5843,16 +6044,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5873,16 +6083,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -6137,7 +6347,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -6152,6 +6362,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -6209,6 +6422,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6314,6 +6530,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6335,6 +6554,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6695,6 +6917,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -7085,6 +7310,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7238,6 +7466,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7760,9 +7991,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8384,9 +8612,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8396,6 +8621,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8447,6 +8675,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8501,6 +8732,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8510,9 +8744,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8654,6 +8885,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8858,12 +9092,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8933,9 +9173,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8975,6 +9212,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8984,7 +9224,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -9008,6 +9248,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9383,7 +9629,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9395,12 +9644,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9689,10 +9944,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9734,6 +9989,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9749,6 +10007,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9779,7 +10040,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9806,6 +10070,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9845,16 +10112,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9866,9 +10133,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9893,9 +10166,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9932,7 +10202,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9941,7 +10211,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10283,9 +10553,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10730,6 +10997,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10808,6 +11078,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -11081,15 +11354,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -11153,6 +11423,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -11192,6 +11465,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11303,6 +11579,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11369,6 +11648,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11720,15 +12002,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11750,10 +12032,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11807,6 +12089,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -12200,6 +12485,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -12212,6 +12500,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12563,9 +12854,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12716,9 +13004,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12749,6 +13034,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -13013,6 +13301,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -13166,6 +13457,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13277,12 +13574,15 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13313,9 +13613,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13394,6 +13691,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13847,10 +14147,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13910,6 +14210,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -14048,15 +14351,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -14180,6 +14474,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14351,6 +14648,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14456,9 +14756,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14561,6 +14858,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14612,6 +14912,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14633,6 +14936,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14666,6 +14972,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14675,6 +14987,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14693,12 +15008,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14735,6 +15056,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14750,6 +15074,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14843,6 +15170,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14858,9 +15188,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14891,7 +15218,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14972,9 +15299,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14984,6 +15308,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -15062,15 +15389,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -15092,10 +15410,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15326,6 +15647,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15371,6 +15695,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15488,7 +15815,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15509,10 +15836,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15545,6 +15872,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16373,6 +16703,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16436,6 +16769,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16655,13 +16991,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16847,6 +17183,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16871,6 +17210,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -17075,6 +17417,9 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17456,9 +17801,33 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+msgstr[4] ""
+msgstr[5] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17564,7 +17933,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17756,6 +18125,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17828,6 +18200,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17876,6 +18251,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17930,6 +18308,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -18014,12 +18395,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -18077,6 +18464,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -18254,15 +18644,6 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-msgstr[4] ""
-msgstr[5] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -18281,6 +18662,9 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -18308,184 +18692,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18497,6 +18929,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18902,9 +19337,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18989,6 +19421,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -19307,6 +19742,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19448,6 +19886,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19733,6 +20174,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19856,6 +20300,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19865,18 +20312,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19934,6 +20393,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -20282,6 +20747,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20435,6 +20906,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20753,6 +21227,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -21074,6 +21551,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -21089,7 +21569,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -21152,6 +21632,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -21188,6 +21671,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -21329,6 +21815,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21527,7 +22019,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21557,10 +22052,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21593,7 +22088,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21662,6 +22157,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21854,7 +22352,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -22061,7 +22559,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -22223,6 +22721,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -22316,6 +22817,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -23267,6 +23771,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23444,6 +23951,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23474,6 +23990,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23507,7 +24026,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23561,9 +24083,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23672,15 +24200,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23711,9 +24230,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23897,6 +24413,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -24092,6 +24611,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -24158,6 +24680,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -24239,6 +24764,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -24323,9 +24851,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24422,6 +24962,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24461,6 +25004,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24479,12 +25025,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24527,7 +25079,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24605,6 +25157,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24788,6 +25343,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -25001,6 +25562,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -25172,9 +25736,6 @@ msgstr[5] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25511,6 +26072,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25571,6 +26135,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25607,6 +26174,12 @@ msgstr[5] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25757,15 +26330,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-msgstr[4] ""
-msgstr[5] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25820,6 +26384,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/da_DK/gitlab.po b/locale/da_DK/gitlab.po
index 792cff19df5..65964e7b148 100644
--- a/locale/da_DK/gitlab.po
+++ b/locale/da_DK/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: da\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:29\n"
+"PO-Revision-Date: 2020-05-05 21:14\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/de/gitlab.po b/locale/de/gitlab.po
index 02d7c210a2a..d0782b75010 100644
--- a/locale/de/gitlab.po
+++ b/locale/de/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: de\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:32\n"
+"PO-Revision-Date: 2020-05-05 21:14\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr "%{mergeLength}/%{usersLength} können zusammenführen"
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText}, dieses Ticket wird automatisch geschlossen werden."
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} enthielt %{resultsString}"
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "Avatar von %{name}"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind} Commits hinter %{default_branch}, %{number_commits_ahead} Commits voraus"
@@ -506,6 +519,9 @@ msgstr[1] "%{text} %{files} Dateien"
msgid "%{text} is available"
msgstr "%{text} ist verfügbar"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -781,12 +797,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> fügt
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> fügt \"Von <a href=\"#\">johnsmith@example.com</a>\" zu allen Tickets und Kommentaren hinzu, die ursprünglich von johnsmith@example.com erstellt wurden. Standardmäßig wird die E-Mail-Adresse maskiert, um den Datenschutz des Nutzers zu gewährleisten. Nutze diese Option, wenn du die volle E-Mail-Adresse anzeigen willst."
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<no name set>"
msgid "<no scopes selected>"
msgstr "<keine Bereiche ausgewählt>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "<strong>%{group_name}</strong> Gruppenmitglieder"
@@ -820,6 +842,9 @@ msgstr "Ein Let's Encrypt-Konto wird für diese GitLab-Installation mit deiner E
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr "Eine grundlegende Seite und serverlose Funktion, die AWS Lambda, AWS API Gateway und GitLab Pages verwendet"
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "Ein Default-Branch kann nicht für ein leeres Projekt ausgewählt werden."
@@ -1036,6 +1061,12 @@ msgstr "Dein Token für statische Objekte wird verwendet, um dich zu authentifiz
msgid "AccessTokens|reset it"
msgstr "Zurücksetzen"
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Konto"
@@ -1287,6 +1321,9 @@ msgstr "Ein Ticket zu einem Epic hinzugefügt."
msgid "Added at"
msgstr "Hinzugefügt um"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr "In dieser Version hinzugefügt"
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] "Alarm"
msgstr[1] "Alarme"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr "Alle Projekte"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr "Alle Sicherheits-Scans sind aktiviert, weil %{linkStart}Auto DevOps%{linkEnd} in diesem Projekt aktiviert ist"
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "Alle Benutzer(innen)"
@@ -1745,6 +1851,9 @@ msgstr "Gruppenbesitzer erlauben, LDAP-bezogene Einstellungen zu verwalten"
msgid "Allow only the selected protocols to be used for Git access."
msgstr "Nur die ausgewählten Protokolle für den Git-Zugriff zulassen."
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr "Beim Abrufen der Genehmigungsberechtigten für die neue Regel ist ein Fe
msgid "An error occurred fetching the dropdown data."
msgstr "Beim Abrufen der Dropdown-Daten ist ein Fehler aufgetreten."
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "Bei der Vorschau des Blobs ist ein Fehler aufgetreten"
@@ -1934,6 +2046,9 @@ msgstr "Beim Abrufen der Projekt-Autovervollständigung ist ein Fehler aufgetret
msgid "An error occurred while fetching sidebar data"
msgstr "Während des Abrufens der Daten für die Seitenleiste ist ein Fehler aufgetreten"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr "Beim Abrufen der Service-Desk-Adresse ist ein Fehler aufgetreten."
@@ -2171,6 +2286,9 @@ msgstr "Anti-Spam-Überprüfung"
msgid "Any"
msgstr "Irgendein"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "Beliebiges Label"
@@ -2386,12 +2504,12 @@ msgstr "Möchtest du wirklich dieses Projekt archivieren?"
msgid "Are you sure that you want to unarchive this project?"
msgstr "Möchtest du wirklich dieses Projekt aus dem Archiv zurückholen?"
-msgid "Are you sure you want to cancel creating this comment?"
-msgstr "Möchtest du wirklich die Erstellung dieses Kommentars abbrechen?"
-
msgid "Are you sure you want to cancel editing this comment?"
msgstr "Möchtest du wirklich die Bearbeitung dieses Kommentars abbrechen?"
+msgid "Are you sure you want to close this blocked issue?"
+msgstr ""
+
msgid "Are you sure you want to delete %{name}?"
msgstr ""
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "Bist du sicher, dass du diesen Build löschen möchtest?"
@@ -2595,6 +2716,9 @@ msgstr "Weise %{assignee_users_sentence} zu."
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr "Mindestens eine Zustimmung der Code-Eigentümer(innen) ist erforderlich, um Dateien zu ändern, auf die die entsprechenden CODEOWNER-Regeln zutreffen."
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "Aug"
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr "Alle ausstehenden Kommentare löschen"
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr "Boards"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr "Einklappen"
@@ -3266,6 +3411,9 @@ msgstr "EE kaufen"
msgid "Buy GitLab Enterprise Edition"
msgstr "Kaufe die GitLab Enterprise Edition"
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr "Von %{user_name}"
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr "Das Ändern eines Release-Tags wird nur über die Release-API unterstüt
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr "Tag"
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr "in %{duration}"
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr "Erneut prüfen"
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "Klicke auf einen beliebigen <strong>-Projektnamen</strong> in der folgenden Projektliste, um zum Projektmeilenstein zu navigieren."
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "Klicke auf den <strong>Download</strong>-Button und warte bis das Herunterladen abgeschlossen ist."
@@ -4451,6 +4596,12 @@ msgstr "Abrufen der Projekte"
msgid "ClusterIntegration|Fetching zones"
msgstr "Rufe Zonen ab"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "GitLab-Integration"
@@ -4757,6 +4908,15 @@ msgstr "Anfrage zur Installation fehlgeschlagen"
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "Änderungen speichern"
@@ -4853,6 +5013,12 @@ msgstr "Wähle eine Zone aus"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "Wähle eine Zone aus, um den Maschinentyp auszuwählen"
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "Repository entfernen"
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr "Tag"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr "Erstelle einen neuen Branch"
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr "Projektlabel erstellen"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr "Erstelle einen persönlichen Zugriffstoken"
msgid "Created"
msgstr "Erstellt"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr "Erstellt am"
@@ -6241,7 +6455,7 @@ msgid "Customize icon"
msgstr ""
msgid "Customize language and region related settings."
-msgstr ""
+msgstr "Sprach- und Region-bezogene Einstellungen anpassen."
msgid "Customize name"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6510,10 +6727,10 @@ msgid "Default description template for merge requests"
msgstr ""
msgid "Default first day of the week"
-msgstr ""
+msgstr "Standardwert für den ersten Wochentag"
msgid "Default first day of the week in calendars and date pickers."
-msgstr ""
+msgstr "Standardwert für den ersten Wochentag im Kalender und in der Datumsauswahl."
msgid "Default issue template"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr "Bereitstellungsschlüssel"
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr "Bereitgestellt für"
msgid "Deploying to"
msgstr "Bereitstellung für"
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr "Datei bearbeiten"
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr "Epics"
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr "Epics Roadmap"
@@ -8080,6 +8297,9 @@ msgstr "Epics und Tickets"
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr "Mit Epics kannst du deine Projekte effizienter und mit weniger Aufwand verwalten"
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr "Beim Abrufen untergeordneter Epics ist etwas schief gelaufen."
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr "Fehler beim Abrufen der Label."
msgid "Error fetching network graph."
msgstr "Fehler beim Abrufen des Netzwerkgraphen."
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr "Fehler beim Abrufen der Referenzen"
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr "Fehler beim Abrufen der Daten des Nutzungsberichts."
-
msgid "Error loading branch data. Please try again."
msgstr "Fehler beim Laden der Branch-Daten. Bitte versuche es erneut."
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr "Geschätzt"
@@ -8542,12 +8768,18 @@ msgstr "Erkunde öffentliche Gruppen"
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr "Fehlgeschlagen"
msgid "Failed Jobs"
msgstr "Fehlgeschlagene Jobs"
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr "Bereitstellung fehlgeschlagen für"
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,8 +9305,11 @@ msgstr "Filter nach Commit-Nachricht"
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
-msgstr "Nach Namen filtern..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
+msgstr ""
msgid "Filter by two-factor authentication"
msgstr ""
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9131,7 +9378,7 @@ msgid "First Seen"
msgstr "Erstmals gesehen"
msgid "First day of the week"
-msgstr ""
+msgstr "Erster Wochentag"
msgid "First name"
msgstr ""
@@ -9373,11 +9620,11 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr "Prüfsumme verifiziert"
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
-msgstr "Daten sind veraltet von %{timeago}"
+msgid "GeoNodes|Container repositories"
+msgstr ""
msgid "GeoNodes|Data replication lag"
msgstr "Datenreplikationsverzögerung"
@@ -9418,6 +9665,9 @@ msgstr "Letzte Event-ID, die vom Cursor verarbeitet wurde"
msgid "GeoNodes|Last event ID seen from primary"
msgstr "Letzte Ereignis-ID vom Primärknoten aus gesehen"
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr "Knoten werden geladen"
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr "Knoten wurde erfolgreich entfernt."
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr "Keine Prüfsumme"
@@ -9463,8 +9716,11 @@ msgstr "Repository-Prüfsummenfortschritt"
msgid "GeoNodes|Repository verification progress"
msgstr "Repository-Üerprüfungsfortschritt"
-msgid "GeoNodes|Selective"
-msgstr "Selektiv"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
+msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
msgstr "Etwas ist schiefgelaufen während der Änderung des Knotenstatuses"
@@ -9490,6 +9746,9 @@ msgstr "Unbenutzte Slots"
msgid "GeoNodes|Unverified"
msgstr "Nicht verifiziert"
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr "Benutzte Slots"
@@ -9529,17 +9788,17 @@ msgstr ""
msgid "Geo|All"
msgstr "Alle"
+msgid "Geo|All %{replicable_type}"
+msgstr ""
+
msgid "Geo|All projects"
msgstr "Alle Projekte"
-msgid "Geo|All projects are being scheduled for re-sync"
-msgstr "Alle Projekte sind für eine erneute Synchronisierung eingeplant"
-
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
-msgstr "Stapelverarbeitung"
+msgid "Geo|All projects are being scheduled for reverify"
+msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
msgstr "Tracking-Eintrag für ein vorhandenes Projekt konnte nicht entfernt werden."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr "Fehlgeschlagen"
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr "Geo-Status"
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr "Wird synchronisiert"
@@ -9577,9 +9842,6 @@ msgstr "Nächste Synchronisierung geplant um"
msgid "Geo|Not synced yet"
msgstr "Noch nicht synchronisiert"
-msgid "Geo|Pending"
-msgstr "Ausstehend"
-
msgid "Geo|Pending synchronization"
msgstr "Ausstehende Synchronisation"
@@ -9616,8 +9878,8 @@ msgstr ""
msgid "Geo|Resync"
msgstr "Resynchronisation"
-msgid "Geo|Resync all projects"
-msgstr "Alle Projekte erneut synchronisieren"
+msgid "Geo|Resync all"
+msgstr ""
msgid "Geo|Retry count"
msgstr "Wiederholversuch"
@@ -9625,7 +9887,7 @@ msgstr "Wiederholversuch"
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr "Gruppen"
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr "Gruppen können durch %{subgroup_docs_link_start}Untergruppen%{subgroup_docs_link_end} verschachtelt werden."
@@ -10757,15 +11022,12 @@ msgstr "ID"
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
-msgstr "Ermöglicht Live-Vorschauen von JavaScript-Projekten in der Web-IDE mithilfe der clientseitigen CodeSandbox-Auswertung."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
+msgstr ""
msgid "IDE|Back"
msgstr "Zurück"
-msgid "IDE|Client side evaluation"
-msgstr "Clientseitige Auswertung"
-
msgid "IDE|Commit"
msgstr "Commit"
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr "Importiere Repositories von GitHub"
msgid "Import repository"
msgstr "Repository importieren"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr "Im nächsten Schritt kannst du die Projekte auswählen, die du importieren möchtest."
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr "Tickets"
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr "Tickets können Bugs, Tasks oder zu diskutierende Ideen sein. Tickets sind darüber hinaus auch durchsuchbar und filterbar."
@@ -11422,11 +11696,11 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
-msgstr "Erstellte Tickets pro Monat"
+msgid "IssuesAnalytics|Issues opened per month"
+msgstr ""
msgid "IssuesAnalytics|Last 12 months"
msgstr "Letzten 12 Monate"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11771,7 +12048,7 @@ msgid "Labels|and %{count} more"
msgstr ""
msgid "Language"
-msgstr ""
+msgstr "Sprache"
msgid "Large File Storage"
msgstr "Large File Storage"
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr "Mehr Informationen"
@@ -12211,9 +12494,6 @@ msgstr "Liste deine Bitbucket-Server-Repositorys auf"
msgid "Live preview"
msgstr "Live-Vorschau"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12242,7 +12522,7 @@ msgid "Loading…"
msgstr ""
msgid "Localization"
-msgstr ""
+msgstr "Lokalisierung"
msgid "Location"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr "Verwalte Git-Repositories mit detaillierten Zugriffskontrollen, die deinen Code schützen. Führe Codeüberprüfungen durch und verbessere die Zusammenarbeit mit Merge-Requests. Jedes Projekt kann auch ein Ticketsystem und ein Wiki haben."
-
msgid "Manage Web IDE features"
msgstr "Web-IDE Funktionen verwalten"
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr "Manifest"
@@ -12661,6 +12941,9 @@ msgstr "Merge_Request erstellt"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr "Merged"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
-msgstr "Umgebung"
+msgid "Metrics|Expand panel"
+msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr "Zum Gruppieren ähnlicher Metriken"
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr "Prometheus Query-Dokumentation"
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13170,7 +13462,7 @@ msgid "Modify merge commit"
msgstr ""
msgid "Monday"
-msgstr ""
+msgstr "Montag"
msgid "Monitor your errors by integrating with Sentry."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr "Keine Änderungen"
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr "Es konnte keine Verbindung zu einem Gitaly-Server hergestellt werden. Bitte überprüfe deine Protokolle!"
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "Benachrichtigungsereignisse"
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr "Seitenleiste öffnen"
-msgid "Open source software to collaborate on code"
-msgstr "Open-Source-Software für die Zusammenarbeit an Code"
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "Ãœbersicht"
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr "Conan-Befehl"
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr "Conan-Befehl kopieren"
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr "Pakete"
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr "Pfad, übertragen, entfernen"
-
msgid "Path:"
msgstr "Pfad:"
@@ -14523,8 +14842,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "Führe erweiterte Optionen aus, wie z. B. das Ändern des Pfades, Übertragen oder Entfernen einer Gruppe."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr ""
@@ -14604,9 +14923,6 @@ msgstr "Zeitpläne der Pipeline"
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr "Pipeline-Kontingent"
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr "Pipeline-Trigger"
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "Fehlgeschlagen:"
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,12 +15034,15 @@ msgstr "Kontinuierliche Integration (CI) kann dabei helfen, Fehler zu erkennen,
msgid "Pipelines|Get started with Pipelines"
msgstr "Erste Schritte mit Pipelines"
-msgid "Pipelines|Loading Pipelines"
-msgstr "Pipelines laden"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
+msgid "Pipelines|Loading Pipelines"
+msgstr "Pipelines laden"
+
msgid "Pipelines|Project cache successfully reset."
msgstr "Der Projekt-Cache wurde erfolgreich zurückgesetzt."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr "Bitte warte, während wir uns mit deinem Repository verbinden. Aktualisi
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr "Warte bitte, während wir das Repository für dich importieren. Aktualisiere nach Belieben."
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15082,7 +15401,7 @@ msgid "Preferences|These settings will update how dates and times are displayed
msgstr ""
msgid "Preferences|This feature is experimental and translations are not complete yet"
-msgstr ""
+msgstr "Dieses Feature ist experimentell und die Ãœbersetzungen sind noch nicht abgeschlossen"
msgid "Preferences|This setting allows you to customize the appearance of the syntax."
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr "Vorschau der Nutzdaten"
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr "Private Projekte können in deinem persönlichen Namensraum erstellt werden:"
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr "Mit GitLab Pages kannst du deine statischen Webseiten auf GitLab hosten"
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,15 +16615,15 @@ msgstr "Prometheus-API-Basis-URL, wie http://prometheus.example.com/"
msgid "PrometheusService|Prometheus is being automatically managed on your clusters"
msgstr "Prometheus wird automatisch auf deinen Clustern verwaltet"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
+msgstr ""
+
msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment"
msgstr "Diese Metriken werden erst nach deiner ersten Bereitstellung in einer Umgebung überwacht"
msgid "PrometheusService|Time-series monitoring service"
msgstr "Zeitreihen-Monitoring-Service"
-msgid "PrometheusService|To enable manual configuration, uninstall Prometheus from your clusters"
-msgstr "Deinstalliere Prometheus aus deinen Clustern, um die manuelle Konfiguration zu aktivieren"
-
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
msgstr "Deaktiviere unten die manuelle Konfiguration, um die Installation von Prometheus auf deinen Clustern zu ermöglichen"
@@ -16479,6 +16807,9 @@ msgstr "Der Schutz deiner Umgebung wurde aufgehoben"
msgid "Protip:"
msgstr "Protipp:"
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr "Provider"
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr "Öffentliche Pipelines"
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr "Pull"
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] "In einer Sekunde aktualisieren, um den aktualisierten Status anzuzeigen..."
msgstr[1] "In %d Sekunden aktualisieren, um den aktualisierten Status anzuzeigen..."
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr "Statusbericht"
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr "Aktionen"
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr "Klasse"
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr "Replikation fortsetzen"
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr "Runner führt Jobs von zugewiesenen Projekten aus"
msgid "Runner token"
msgstr "Runner-Token"
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr "SAML SSO"
msgid "SAML SSO for %{group_name}"
msgstr "SAML SSO für %{group_name}"
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17576,7 +17945,7 @@ msgid "SSL Verification:"
msgstr ""
msgid "Saturday"
-msgstr ""
+msgstr "Samstag"
msgid "Save"
msgstr "Speichern"
@@ -17626,12 +17995,18 @@ msgstr "Plane eine neue Pipeline"
msgid "Scheduled"
msgstr "Geplant"
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr "Zeitpläne"
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr "Branches durchsuchen"
msgid "Search branches and tags"
msgstr "Suche nach Branches und Tags"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr "Dateien durchsuchen"
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr "Sicherheits-Dashboard"
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
-msgstr "Ticket erstellt"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
-msgstr "Ticket erstellen"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
-msgstr "Mehr Informationen"
+msgid "SecurityReports|Add a project to your dashboard"
+msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
-msgstr "Fehler beim Erstellen des Tickets."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
-msgstr "Überwache Sicherheitslücken in deinem Code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
+msgstr ""
+
+msgid "SecurityReports|Select a reason"
+msgstr ""
+
+msgid "SecurityReports|Severity"
+msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|Undo dismiss"
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr "Auswählen"
@@ -18470,9 +18897,6 @@ msgstr "CI/CD einrichten"
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr "Etwas lief schief, %{project} konnte nicht zum Dashboard hinzugefügt werden"
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr "Markiere ein Label, um es zu einem priorisierten Label zu machen. Ordne die priorisierten Labels durch Ziehen an, um ihre relative Priorität zu ändern."
@@ -19420,6 +19856,9 @@ msgstr "Gib deine Nachricht an, um sie zu aktivieren"
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19820,7 +20277,7 @@ msgid "Summary"
msgstr ""
msgid "Sunday"
-msgstr ""
+msgstr "Sonntag"
msgid "Support"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr "Informationen synchronisieren"
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19859,7 +20322,7 @@ msgid "System Info"
msgstr "Systeminformationen"
msgid "System default (%{default})"
-msgstr ""
+msgstr "Systemstandard (%{default})"
msgid "System header and footer"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "Vorlage"
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr "Beim Laden des Benutzeraktivitäts-Kalenders ist ein Fehler aufgetreten."
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr "Können unter %{link} verwaltet werden."
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr "Angebote von Drittanbietern"
@@ -20740,6 +21215,9 @@ msgstr "Diese Anwendung wurde erstellt von %{link_to_owner}."
msgid "This application will be able to:"
msgstr "Diese Anwendung wird in der Lage sein:"
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr "Dieses Ticket ist vertraulich"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "Dieses Ticket ist gesperrt."
@@ -21079,7 +21563,10 @@ msgstr "Diese(r) Benutzer(in) wird der/die Autor(in) aller Ereignisse im Aktivit
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr "Diese(r) Benutzer(in) wird der/die Autor(in) aller Ereignisse im Aktivitätsfeed sein, die die Folge eines Updates, wie die Erstellung neuer Branches oder das Pushen neuer Commits zu existierenden Branches, sind. Bei der Erstellung oder der Neuzuweisung kannst du nur dich selbst als Mirror-Benutzer(in) zuweisen."
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr "Es ist ein Fehler aufgetreten. Umgebungen konnten nicht abgerufen werden
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21179,7 +21666,7 @@ msgid "ThreatMonitoring|While it's rare to have no traffic coming to your applic
msgstr ""
msgid "Thursday"
-msgstr ""
+msgstr "Donnerstag"
msgid "Time"
msgstr ""
@@ -21214,6 +21701,9 @@ 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 "Zeit in Sekunden die GitLab auf die Antwort des externen Dienstes warten wird. Wenn der Dienst nicht rechtzeitig antwortet, wird der Zugriff verweigert."
+msgid "Time of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr "Verbleibende Zeit"
@@ -21398,7 +21888,7 @@ msgstr "Titel"
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr "Zu viele Namespaces aktiviert. Sie müssen sie über die Konsole oder di
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr "Zu viele Projekte aktviert. Sie müssen sie über die Konsole oder die API verwalten."
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr "Teste für 30 Tage alles was GitLab zu bieten hat."
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21777,7 +22270,7 @@ msgid "Trying to communicate with your device. Plug it in (if you haven't alread
msgstr ""
msgid "Tuesday"
-msgstr ""
+msgstr "Dienstag"
msgid "Turn Off"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr "Sieh es auf GitLab an"
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr "Klasse"
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr "Projekt"
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr "Wir wollen sicher gehen, dass du es bist. Bitte bestätige, dass du kein Roboter bist."
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23137,7 +23657,7 @@ msgid "Webhooks have moved. They can now be found under the Settings menu."
msgstr ""
msgid "Wednesday"
-msgstr ""
+msgstr "Mittwoch"
msgid "Weekday"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr "Wiki"
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr "Ja, füg' es hinzu"
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr "Ja, lass mich Google Code-Benutzer(innen) vollständigen Namen oder GitLab-Benutzer(innen) zuordnen."
@@ -23624,6 +24135,9 @@ msgstr "Du kannst nicht auf dieser schreibgeschützte GitLab-Instanz schreiben."
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr "Du hast keine Berechtigungen"
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr "Deine Projekte"
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr "vor"
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr "%{linkStartTag}Lerne mehr über Abhängigkeitsüberprüfung%{linkEndTag}
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr "%{linkStartTag}Lerne mehr über SAST%{linkEndTag}"
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr "SAST"
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr "Sicherheitsüberprüfung"
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] "Merge-Requests"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr "Neuer Merge-Request"
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] "Projekte"
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr "Schnellzugriff"
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr "dieses Dokument"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr "um deinen Mitwirkenden zu helfen möglichst effizient zu kommunizieren!"
@@ -25280,6 +25840,9 @@ msgstr "sieh es auf GitLab an"
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/el_GR/gitlab.po b/locale/el_GR/gitlab.po
index 57539f9d394..86197dbbef9 100644
--- a/locale/el_GR/gitlab.po
+++ b/locale/el_GR/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: el\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:32\n"
+"PO-Revision-Date: 2020-05-05 21:35\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/eo/gitlab.po b/locale/eo/gitlab.po
index 2cd570848ef..447e4effc83 100644
--- a/locale/eo/gitlab.po
+++ b/locale/eo/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: eo\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:31\n"
+"PO-Revision-Date: 2020-05-05 21:31\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr "kreos propran atingoĵetonon"
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr "Filtri per mesaÄo"
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr "Enporti deponejon"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "Sciigaj eventoj"
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr "Ĉenstablaj planoj"
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "Malsukcesaj:"
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr "Plani novan ĉenstablon"
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr "Serĉu branĉon aŭ etikedon"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr "novan peton pri kunfando"
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/es/gitlab.po b/locale/es/gitlab.po
index bba3b9a4487..d69bcadc687 100644
--- a/locale/es/gitlab.po
+++ b/locale/es/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: es-ES\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:27\n"
+"PO-Revision-Date: 2020-05-05 21:14\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr "%{mergeLength}/%{usersLength} puede fusionarse"
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText}, esta incidencia se cerrará automáticamente."
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} contenido en %{resultsString}"
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "Avatar de %{name}"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind} commits detrás de %{default_branch}, %{number_commits_ahead} commits por delante"
@@ -506,6 +519,9 @@ msgstr[1] "%{text}%{files} archivos"
msgid "%{text} is available"
msgstr "%{text} esta disponible"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -781,12 +797,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> añadi
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> añadirá \"Por <a href=\"#\">johnsmith@example.com</a>\" a todas las incidencias y comentarios originalmente creados por johnsmith@example.com. Por defecto, el correo electrónico o el nombre de usuario está oculto para asegurar la privacidad del usuario. Utilice esta opción si desea mostrar la dirección de correo electrónico completa."
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<no tiene el nombre establecido>"
msgid "<no scopes selected>"
msgstr "<ningún alcance seleccionado>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "miembros del grupo <strong>%{group_name}</strong>"
@@ -820,6 +842,9 @@ msgstr "Se configurará una cuenta de Let's Encrypt para esta instalación de Gi
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "No se puede elegir una rama por defecto para un proyecto vacío."
@@ -1036,6 +1061,12 @@ msgstr "Su token se utiliza para autenticarle cuando los objetos estáticos del
msgid "AccessTokens|reset it"
msgstr "Reiniciarlo"
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Cuenta"
@@ -1287,6 +1321,9 @@ msgstr "Agrada una incidencia a una tarea épica."
msgid "Added at"
msgstr "Añadido el"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr "Añadido en esta versión"
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] "Alerta"
msgstr[1] "Alertas"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr "%{linkStart}Aprenda más%{linkEnd} sobre la configuración de este endpoint para recibir alertas."
@@ -1727,6 +1830,9 @@ msgstr "Todos los proyectos"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr "Todas las exploraciones de seguridad están habilitadas porque %{linkStart}Auto DevOps%{linkEnd} está habilitado en este proyecto"
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "Todos los usuarios"
@@ -1745,6 +1851,9 @@ msgstr "Permitir a los propietarios de los grupos administrar configuraciones re
msgid "Allow only the selected protocols to be used for Git access."
msgstr "Permitir que sólo los protocolos seleccionados tengan acceso a Git."
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr "Se ha producido un error al obtener los aprobadores para la nueva regla.
msgid "An error occurred fetching the dropdown data."
msgstr "Se ha producido un error al recuperar los datos de la lista desplegable."
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "Ha ocurrido un error visualizando el blob"
@@ -1934,6 +2046,9 @@ msgstr "Se ha producido un error al obtener la información de autocompletado de
msgid "An error occurred while fetching sidebar data"
msgstr "Se ha producido un error al obtener los datos de la barra lateral."
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr "Se ha producido un error al obtener la dirección de Service Desk."
@@ -2171,6 +2286,9 @@ msgstr "Verificación de correo no deseado"
msgid "Any"
msgstr "Cualquiera"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "Cualquier etiqueta"
@@ -2386,12 +2504,12 @@ msgstr "¿Está seguro de que desea archivar el proyecto?"
msgid "Are you sure that you want to unarchive this project?"
msgstr "¿Está seguro de que desea desarchivar este proyecto?"
-msgid "Are you sure you want to cancel creating this comment?"
-msgstr "¿Está seguro que deseas cancelar la creación de este comentario?"
-
msgid "Are you sure you want to cancel editing this comment?"
msgstr "¿Está seguro de que desea cancelar la edición de este comentario?"
+msgid "Are you sure you want to close this blocked issue?"
+msgstr ""
+
msgid "Are you sure you want to delete %{name}?"
msgstr ""
@@ -2419,6 +2537,9 @@ msgstr "¿Está seguro que desea eliminar este pipeline? Al hacerlo caducarán t
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "¿Estás seguro de que quieres borrar esta versión?"
@@ -2595,6 +2716,9 @@ msgstr "Asigna %{assignee_users_sentence}."
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr "Se requiere al menos la aprobación de un propietario del código para cambiar los archivos que coincidan con las reglas de CODEOWNER."
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr "Debe especificar por lo menos un group_id o un project_id"
@@ -2633,6 +2757,27 @@ msgstr "En"
msgid "AuditEvents|Target"
msgstr "Objetivo"
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "Ago"
@@ -2915,9 +3060,6 @@ msgstr "La URL raíz de Bamboo, por ejemplo, https://bamboo.example.com"
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr "Debe configurar el etiquetado automático de revisión y un disparador del repositorio en Bamboo."
-msgid "Batch operations"
-msgstr "Operaciones por lotes"
-
msgid "BatchComments|Delete all pending comments"
msgstr "Borrar todos los comentarios pendientes"
@@ -3047,6 +3189,9 @@ msgstr "Comenzar con el conjunto de listas por defecto, lo pondrá en el camino
msgid "Boards"
msgstr "Tableros"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr "Contraer"
@@ -3266,6 +3411,9 @@ msgstr "Comprar EE"
msgid "Buy GitLab Enterprise Edition"
msgstr "Comprar GitLab Enterprise Edition"
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr "Por %{user_name}"
@@ -3386,6 +3534,9 @@ msgstr "No se pueden eliminar miembros del grupo sin una cuenta administrada por
msgid "Can't scan the code?"
msgstr "¿No puede escanear el código?"
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr "Canary"
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr "Cambiar la ruta del grupo puede tener efectos secundarios no deseados."
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr "Tag"
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr "falló"
-
msgid "ChatMessage|has failed"
msgstr "ha fallado"
@@ -3608,9 +3759,6 @@ msgstr "en %{duration}"
msgid "ChatMessage|in %{project_link}"
msgstr "en %{project_link}"
-msgid "ChatMessage|passed"
-msgstr "pasó"
-
msgid "Check again"
msgstr "Verficar de nuevo"
@@ -4061,9 +4209,6 @@ msgstr "Limpiar peso."
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "Haga clic en cualquier <strong>nombre de proyecto</strong> en la lista de proyectos que se muestra a continuación para navegar hasta el hito de proyecto correspondiente."
-msgid "Click here"
-msgstr "Haga click aquí"
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "Haga click en el botón <strong>Descargar</strong> y espere a que se complete la descarga."
@@ -4451,6 +4596,12 @@ msgstr "Obtener proyectos"
msgid "ClusterIntegration|Fetching zones"
msgstr "Obtener zonas"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "Integración GitLab"
@@ -4757,6 +4908,15 @@ msgstr "Falló la solicitud para iniciar la instalación"
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr "La solicitud para comenzar la desinstalación ha fallado"
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "Guardar cambios"
@@ -4853,6 +5013,12 @@ msgstr "Seleccione la zona"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "Seleccione la zona para elegir el tipo de máquina"
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr "Token de servicio"
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr "El registro de contenedores no está activado en esta instancia de GitLa
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr "Eliminar automáticamente las imágenes adicionales que no están diseñados para ser conservadas."
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr "Registro de contenedores"
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr "Copiar el comando build"
@@ -5464,18 +5654,12 @@ msgstr "Copiar el comando de inicio de sesión"
msgid "ContainerRegistry|Copy push command"
msgstr "Copiar el comando push"
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr "Error de conexión de Docker"
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr "Si no ha iniciado sesión, necesita autenticarse en el registro de conte
msgid "ContainerRegistry|Image ID"
msgstr "ID de la imagen"
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr "Inicio rápido"
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "Borrar repositorio"
@@ -5535,22 +5728,22 @@ msgstr[1] "Eliminar etiquetas"
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr "Se ha producido un error al actualizar la política de caducidad."
msgid "ContainerRegistry|Tag"
msgstr "Etiqueta"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr "Política de caducidad de las etiquetas"
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr "La política de caducidad de las etiquetas está diseñada para:"
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,18 +5791,18 @@ msgstr "No hay imágenes de contenedores disponibles en este grupo"
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr "No hay imágenes de contenedores almacenadas para este proyecto"
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr "Esta imagen no tiene etiquetas activas"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr "Estamos teniendo problemas para conectar con Docker, lo que podría deberse a una incidencia con la ruta o el nombre de su proyecto. %{docLinkStart}Más Información%{docLinkEnd}"
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
-msgstr ""
-
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
msgstr "Con el registro de contenedores, cada proyecto puede tener su propio espacio para almacenar sus imágenes de Docker. %{docLinkStart}Más Información%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr "No es posible eliminar el apodo del chate %{chat_name}."
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr "No se puede revocar el token de suplantación %{token_name}."
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr "No se pudo revocar el token de acceso personal %{personal_access_token_name}."
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr "Crear un merge request"
msgid "Create a new branch"
msgstr "Crear un nuevo 'branch'"
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr "Cree un nuevo archivo ya todavía no hay archivos. Posteriormente, podrá confirmar los cambios con sus commits."
@@ -6030,6 +6238,9 @@ msgstr "Crear etiqueta de proyecto"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr "crear un token de acceso personal"
msgid "Created"
msgstr "Creado"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr "Creado en"
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr "Lista desplegable de las etapas"
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6773,6 +6990,9 @@ msgstr "Claves de despliegue"
msgid "Deploy key was successfully updated."
msgstr "La clave de despliegue se actualizó correctamente."
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr "Desplegado en"
msgid "Deploying to"
msgstr "Desplegando en"
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr "API"
@@ -7444,9 +7667,6 @@ msgstr "Editar descripción"
msgid "Edit environment"
msgstr "Editar el entorno"
-msgid "Edit epic description"
-msgstr "Editar la descripción de la tarea épica"
-
msgid "Edit file"
msgstr "Editar archivo"
@@ -8068,9 +8288,6 @@ msgstr "Eventos épicos"
msgid "Epics"
msgstr "Épicas"
-msgid "Epics (Ultimate / Gold license only)"
-msgstr "Tareas épicas (solo para las licencias Ultimate y Gold de Gitlab.com)"
-
msgid "Epics Roadmap"
msgstr "Hoja de ruta de tareas épicas"
@@ -8080,6 +8297,9 @@ msgstr "Tareas épicas e incidencias"
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr "Las tareas épicas le permiten administrar sus proyectos de manera más eficiente y con menos esfuerzo"
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr "Añadir una tarea épica"
@@ -8131,6 +8351,9 @@ msgstr "Se ha producido un error al obtener las tareas épicas hijas."
msgid "Epics|Something went wrong while fetching group epics."
msgstr "Se ha producido un error al obtener los grupos de tareas épicas."
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr "Se ha producido un error al ordenar el elemento."
@@ -8185,6 +8408,9 @@ msgstr "Se ha producido un error en la recuperación de las etiquetas."
msgid "Error fetching network graph."
msgstr "Se ha producido un error al obtener el gráfico de la red."
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr "Se ha producido un error al obtener los proyectos"
@@ -8194,9 +8420,6 @@ msgstr "Se ha producido un error al obtener los refs"
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr "Se ha producido un error al obtener la lista de dependencias. Por favor revise su conexión a internet y vuelva a intentarlo."
-msgid "Error fetching usage ping data."
-msgstr "Se ha producido un error al obtener los datos de uso de ping."
-
msgid "Error loading branch data. Please try again."
msgstr "Se ha producido un error al cargar los datos de la rama. Por favor, vuelva a intentarlo."
@@ -8338,6 +8561,9 @@ msgstr "Para habilitar la selección del proyecto, ingrese un token de autentica
msgid "Errors"
msgstr "Errores"
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr "Estimado"
@@ -8542,12 +8768,18 @@ msgstr "Explorar grupos públicos"
msgid "Export as CSV"
msgstr "Exportar como CSV"
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr "Exportar incidencias"
msgid "Export project"
msgstr "Exportar proyecto"
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr "Exporte este proyecto con todos los datos relacionados para mover su proyecto a una nueva instancia de GitLab. Una vez que finalice la exportación, puede importar el archivo desde la página \"Nuevo proyecto\"."
@@ -8617,9 +8849,6 @@ msgstr "Fallido"
msgid "Failed Jobs"
msgstr "Trabajos fallidos"
-msgid "Failed create wiki"
-msgstr "Se ha producido un error al crear el wiki"
-
msgid "Failed to add a Zoom meeting"
msgstr "Se ha producido un error al agregar una reunión de Zoom"
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr "Se ha producido un error al crear los recursos"
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr "Se ha producido un error al eliminar el panel de control. Por favor, inténtelo de nuevo."
@@ -8668,7 +8900,7 @@ msgstr "Se ha producido un error al desplegar a"
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr "Error al encolar la operación de rebase, posiblemente debido a una transacción de larga duración. Por favor, inténtelo de nuevo más tarde."
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr "Se ha producido un error al cargar grupos y usuarios."
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr "Se ha producido un error al cargar ramas relacionadas"
@@ -9067,8 +9305,11 @@ msgstr "Filtrar por mensaje del cambio"
msgid "Filter by milestone name"
msgstr "Filtrar por nombre del hito"
-msgid "Filter by name..."
-msgstr "Filtrar por nombre..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
+msgstr ""
msgid "Filter by two-factor authentication"
msgstr "Filtrar por autenticación de dos factores"
@@ -9079,12 +9320,18 @@ msgstr "Filtrar por usuario"
msgid "Filter projects"
msgstr "Filtrar proyectos"
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr "Filtrar resultados por grupo"
msgid "Filter results by project"
msgstr "Filtrar resultados por proyecto"
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr "Filtra sus proyectos por nombre"
@@ -9373,12 +9620,12 @@ msgstr "Adjuntos"
msgid "GeoNodes|Checksummed"
msgstr "Comprobado"
+msgid "GeoNodes|Consult Geo troubleshooting information"
+msgstr ""
+
msgid "GeoNodes|Container repositories"
msgstr "Repositorios de contenedores"
-msgid "GeoNodes|Data is out of date from %{timeago}"
-msgstr "No se han actualizado los datos desde %{timeago}"
-
msgid "GeoNodes|Data replication lag"
msgstr "Retraso en replicación de datos"
@@ -9418,6 +9665,9 @@ msgstr "ID del último evento procesado por el cursor"
msgid "GeoNodes|Last event ID seen from primary"
msgstr "ID del último evento visto desde el principal"
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr "Cargando nodos"
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr "El nodo se eliminó correctamente."
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr "Sin suma de verificación"
@@ -9463,8 +9716,11 @@ msgstr "Progreso de la suma de verificación del repositorio"
msgid "GeoNodes|Repository verification progress"
msgstr "GeoNodes|Progreso de la verificación del repositorio"
-msgid "GeoNodes|Selective"
-msgstr "Selectivo"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
+msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
msgstr "Se ha producido un error mientras se cambiaba el estado del nodo"
@@ -9490,6 +9746,9 @@ msgstr "Slots sin utilizar"
msgid "GeoNodes|Unverified"
msgstr " Sin verificar"
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr "Slots utilizados"
@@ -9529,17 +9788,17 @@ msgstr "Se ha programado %{name} para que se vuelva a comprobar"
msgid "Geo|All"
msgstr "Todos"
+msgid "Geo|All %{replicable_type}"
+msgstr ""
+
msgid "Geo|All projects"
msgstr "Todos los proyectos"
-msgid "Geo|All projects are being scheduled for re-sync"
-msgstr "Se ha programado la sincronización de los proyectos"
-
-msgid "Geo|All projects are being scheduled for re-verify"
-msgstr "Se ha programado la verificación de todos los proyectos"
+msgid "Geo|All projects are being scheduled for resync"
+msgstr ""
-msgid "Geo|Batch operations"
-msgstr "Operaciones por lotes"
+msgid "Geo|All projects are being scheduled for reverify"
+msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
msgstr "No se puede eliminar la entrada de seguimiento para un proyecto existente."
@@ -9550,9 +9809,15 @@ msgstr "No se puede eliminar la entrada de seguimiento para un proyecto existent
msgid "Geo|Failed"
msgstr "Fallido"
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr "Estado de Geo"
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr "Sincronizado"
@@ -9577,9 +9842,6 @@ msgstr "Próxima sincronización programada en"
msgid "Geo|Not synced yet"
msgstr "Sin sincronizar aún"
-msgid "Geo|Pending"
-msgstr "Pendiente"
-
msgid "Geo|Pending synchronization"
msgstr "Sincronización pendiente"
@@ -9616,8 +9878,8 @@ msgstr ""
msgid "Geo|Resync"
msgstr "Resincronizar"
-msgid "Geo|Resync all projects"
-msgstr "Resincronizar todos los proyectos"
+msgid "Geo|Resync all"
+msgstr ""
msgid "Geo|Retry count"
msgstr "Contador de reintentos"
@@ -9625,8 +9887,8 @@ msgstr "Contador de reintentos"
msgid "Geo|Reverify"
msgstr "Volver a comprobar"
-msgid "Geo|Reverify all projects"
-msgstr "Volver a comprobar todos los proyectos"
+msgid "Geo|Reverify all"
+msgstr ""
msgid "Geo|Status"
msgstr "Estado"
@@ -9967,9 +10229,6 @@ msgstr "Ir a los entornos"
msgid "Go to file"
msgstr "Ir al archivo"
-msgid "Go to file (MRs only)"
-msgstr "Ir al archivo (sólo MRs)"
-
msgid "Go to file permalink (while viewing a file)"
msgstr "Ir al enlace permanente de archivo (mientras ve un archivo)"
@@ -10414,6 +10673,9 @@ msgstr "Desactivar las notificaciones por correo electrónico"
msgid "GroupSettings|Disable group mentions"
msgstr "Desactivar las menciones de grupo"
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr "Si la visibilidad del grupo principal es menor que la visibilidad actual del grupo, los niveles de visibilidad para subgrupos y proyectos se cambiarán para que coincidan con la visibilidad del nuevo grupo principal."
@@ -10492,6 +10754,9 @@ msgstr "Grupos"
msgid "Groups (%{count})"
msgstr "Grupos: (%{count})"
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr "Los grupos también se pueden anidar creando %{subgroup_docs_link_start}subgrupos%{subgroup_docs_link_end}."
@@ -10757,15 +11022,12 @@ msgstr "ID"
msgid "ID:"
msgstr "ID:"
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr "Volver"
-msgid "IDE|Client side evaluation"
-msgstr "Evaluación del lado del cliente"
-
msgid "IDE|Commit"
msgstr "Commit"
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr "Si algún trabajo supera este umbral de tiempo de espera, se marcará como fallido. Se permite la utilización del lenguaje de entrada de tiempo para humanos, como por ejemplo, \"1 hora\". Los valores que no contengan ninguna especificación de formato se representan como tiempo en segundos."
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr "Si está marcado, los propietarios de grupos pueden administrar enlaces de grupo LDAP y anular los miembros LDAP"
@@ -10868,6 +11133,9 @@ msgstr "Si cree que esto puede ser un error, consulte la documentación para la
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr "Si pierde los códigos de recuperación, puede generar otros nuevos, invalidando todos los códigos anteriores."
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr "Si su repositorio HTTP no es accesible públicamente, añada sus credenciales."
@@ -10979,6 +11247,9 @@ msgstr "Importar repositorios desde GitHub"
msgid "Import repository"
msgstr "Importar repositorio"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr "Importar tareas"
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr "Para personalizar su experiencia con GitLab <br>nos gustaría conocer un poco más sobre usted."
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr "En el siguiente paso, podrá seleccionar los proyectos que desea importar."
@@ -11392,15 +11666,15 @@ msgstr "Gestor de incidencias YouTrack"
msgid "Issues"
msgstr "Incidencias"
-msgid "Issues / Merge Requests"
-msgstr "Incidencias/Merge requests"
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr "Las incidencias pueden ser errores, tareas o ideas para ser discutidas. Además, las mismas, pueden ser buscadas y filtradas."
@@ -11422,11 +11696,11 @@ msgstr "Una vez haya comenzado a crear incidencias, podremos iniciar el seguimie
msgid "IssuesAnalytics|Avg/Month:"
msgstr "Promedio mensual:"
-msgid "IssuesAnalytics|Issues created"
-msgstr "Incidencias creadas"
+msgid "IssuesAnalytics|Issues opened"
+msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
-msgstr "Incidencias creadas por mes"
+msgid "IssuesAnalytics|Issues opened per month"
+msgstr ""
msgid "IssuesAnalytics|Last 12 months"
msgstr "Últimos 12 meses"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr "Los eventos para %{noteable_model_name} están deshabilitados."
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr "Aprenda GitLab"
@@ -11880,6 +12160,9 @@ msgstr "Aprenda como contribuir %{link_start}a las plantillas integradas%{link_e
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr "Aprenda como %{no_packages_link_start}publicar y compartir sus paquetes%{no_packages_link_end} con GitLab."
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr "Conozca más"
@@ -12211,9 +12494,6 @@ msgstr "Listar sus repositorios de Bitbucket Server"
msgid "Live preview"
msgstr "Vista previa"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr "Cadena mal formada"
msgid "Manage"
msgstr "Administrar"
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr "Administre los repositorios de Git con controles de acceso detallados que mantienen su código seguro. Realice revisiones de código y mejore la colaboración con merge request. Cada proyecto también puede tener una herramienta de gestión de incidencias y un wiki."
-
msgid "Manage Web IDE features"
msgstr "Administrar las características del Web IDE"
@@ -12397,6 +12674,9 @@ msgstr "Administrar autenticación de dos factores"
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr "Manifiesto"
@@ -12661,6 +12941,9 @@ msgstr "Solicitudes de merge creadas"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr "Mensaje del merge commit"
@@ -12814,6 +13097,12 @@ msgstr "Fusionado"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
-msgstr "Entorno"
+msgid "Metrics|Expand panel"
+msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr "Para agrupar métricas similares"
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr "Documentción sobre las consultas de Prometheus"
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr "Mostrar último"
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr "por ejemplo, req/seg."
msgid "Microsoft Azure"
msgstr "Microsoft Azure"
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr "Migrados %{success_count}/%{total_count} archivos."
@@ -13483,11 +13775,11 @@ msgstr "Los usuarios recién registrados serán creados, por defecto, como exter
msgid "Next"
msgstr "Siguiente"
-msgid "Next file in diff (MRs only)"
-msgstr "Siguiente archivo en diff (sólo MRs)"
+msgid "Next file in diff"
+msgstr ""
-msgid "Next unresolved discussion (MRs only)"
-msgstr "Siguiente discusión sin resolver (solo MRs)"
+msgid "Next unresolved discussion"
+msgstr ""
msgid "Nickname"
msgstr "Seudónimo"
@@ -13546,6 +13838,9 @@ msgstr "Sin cambios"
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr "No hay cambios entre %{ref_start}%{source_branch}%{ref_end} y %{ref_start}%{target_branch}%{ref_end}"
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr "¡No ha sido posible realizar la conexión con un servidor de Gitaly, por favor compruebe sus logs!"
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr "No se han encontrado vulnerabilidades para este grupo"
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr "No se han encontrado vulnerabilidades para este pipeline"
-
-msgid "No vulnerabilities found for this project"
-msgstr "No se han encontrado vulnerabilidades para este proyecto"
-
msgid "No vulnerabilities present"
msgstr "No se han encontrado vulnerabilidades"
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr "Nada para previsualizar."
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "Eventos de notificación"
@@ -13987,6 +14276,9 @@ msgstr "Una vez importados, los repositorios se pueden replicar vía de SSH. Par
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr "Una vez que el archivo exportado esté preparado, recibirá una notificación por correo electrónico con un enlace para su descarga, también puede descargarlo desde esta página."
@@ -14088,9 +14380,6 @@ msgstr "Abrir raw"
msgid "Open sidebar"
msgstr "Abrir barra lateral"
-msgid "Open source software to collaborate on code"
-msgstr "Software de código abierto para colaborar en el código"
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "Resumen"
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr "Para más información sobre el registro de Maven, %{linkStart}vea la do
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr "Si aún no lo ha hecho, debe añadir lo siguiente a su archivo %{codeStart}pom.xml%{codeEnd}."
@@ -14307,6 +14611,9 @@ msgstr "Instalación"
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr "Aprenda a %{noPackagesLinkStart}publicar y compartir sus paquetes%{noPackagesLinkEnd} con GitLab."
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr "Configuración del registro"
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr "npm"
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr "yarn"
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr "Paquetes"
@@ -14475,6 +14794,9 @@ msgstr "La contraseña se actualizó correctamente. Por favor, inicie la sesión
msgid "Past due"
msgstr "Vencido"
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr "Pegue aquí la clave pública de la máquina. Obtenga más información acerca de cómo generarla %{link_start}aquí%{link_end}"
@@ -14490,9 +14812,6 @@ msgstr "Pegue su clave pública SSH, que generalmente está contenida en el arch
msgid "Path"
msgstr "Ruta"
-msgid "Path, transfer, remove"
-msgstr "Ruta, transferir, eliminar"
-
msgid "Path:"
msgstr "Ruta:"
@@ -14523,8 +14842,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "Realice opciones avanzadas como cambiar la ruta, transferir o eliminar el grupo."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr "Realice operaciones comunes en el proyecto GitLab"
@@ -14604,9 +14923,6 @@ msgstr "Programaciones de los Pipelines"
msgid "Pipeline minutes quota"
msgstr "Cuota de minutos del pipeline"
-msgid "Pipeline quota"
-msgstr "Cuota de pipelines"
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr "Disparadores de los triggers"
msgid "Pipeline: %{status}"
msgstr "Pipeline: %{status}"
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "Fallidos:"
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr "La configuración de los pipelines para '%{project_name}' se actualizó correctamente."
-msgid "Pipelines| to purchase more minutes."
-msgstr "para comprar más minutos."
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr "%{namespace_name} ha excedido la cuota de minutos de su pipeline."
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr "%{namespace_name} tiene menos de %{notification_level}%% minutos CI disponibles."
-
msgid "Pipelines|API"
msgstr "API"
@@ -14724,12 +15034,15 @@ msgstr "La integración continua le puede ayudar a capturar errores en su produc
msgid "Pipelines|Get started with Pipelines"
msgstr "Comenzar a utilizar los pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
msgid "Pipelines|Loading Pipelines"
msgstr "Cargar pipelines"
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
-msgstr "Los pipelines no se ejecutarán en los ejecutores compartidos."
-
msgid "Pipelines|Project cache successfully reset."
msgstr "Caché del proyecto restablecida correctamente."
@@ -14958,6 +15271,9 @@ msgstr "Por favor, vuelva a introducir la dirección de correo electrónico."
msgid "Please select"
msgstr "Por favor, seleccione"
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr "Por favor, seleccione un país"
@@ -15003,6 +15319,9 @@ msgstr "Por favor espere mientras nos conectamos a su repositorio."
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr "Por favor espere mientras importamos el repositorio por usted."
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,11 +15460,11 @@ msgstr "Vista previa del payload"
msgid "Previous Artifacts"
msgstr "Artefactos anteriores"
-msgid "Previous file in diff (MRs only)"
-msgstr "Archivo previo en diff (sólo MRs)"
+msgid "Previous file in diff"
+msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
-msgstr "Discusión previa sin resolver (solo MRs)"
+msgid "Previous unresolved discussion"
+msgstr ""
msgid "Primary"
msgstr "Principal"
@@ -15177,6 +15496,9 @@ msgstr "Grupo(s) privado(s)"
msgid "Private profile"
msgstr "Perfil privado"
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr "Los proyectos privados se pueden crear en su espacio de nombres personal con:"
@@ -16005,6 +16327,9 @@ msgstr "Wiki"
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr "Con GitLab Pages puede alojar sus sitios web estáticos en GitLab"
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ".NET Core"
@@ -16068,6 +16393,9 @@ msgstr "Serverless Framework/JS"
msgid "ProjectTemplates|Spring"
msgstr "Spring"
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr "IOS (Swift)"
@@ -16287,15 +16615,15 @@ msgstr "URL Base de Prometheus, como http://prometheus.example.com/"
msgid "PrometheusService|Prometheus is being automatically managed on your clusters"
msgstr "Prometheus se administra automáticamente en sus clusters"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
+msgstr ""
+
msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment"
msgstr "Estas métricas serán monitorizadas una vez se realice el primer despliegue a un entorno"
msgid "PrometheusService|Time-series monitoring service"
msgstr "Servicio de monitorización de series de tiempo"
-msgid "PrometheusService|To enable manual configuration, uninstall Prometheus from your clusters"
-msgstr "Para habilitar la configuración manual, por favor, desinstale Prometheus de sus clústeres"
-
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
msgstr "Para permitir la instalación de Prometheus en sus clústeres, por favor, desactive la configuración manual"
@@ -16479,6 +16807,9 @@ msgstr "Se ha desprotegido su entorno"
msgid "Protip:"
msgstr "Sugerencia:"
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr "Proveedor"
@@ -16503,6 +16834,9 @@ msgstr "Claves de despliegue público (%{deploy_keys_count})"
msgid "Public pipelines"
msgstr "Pipelines públicos"
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr "Pull"
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] "Actualizar en un segundo para mostrar el estado actualizado..."
msgstr[1] "Actualizar en %d segundos para mostrar el estado actualizado..."
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr "Regenerar el lD de la instancia"
@@ -17080,9 +17417,29 @@ msgstr "Informes"
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr "Acciones"
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr "Clase"
@@ -17188,7 +17545,7 @@ msgstr "La solicitud para vincular la cuenta SAML debe ser autorizada"
msgid "Requested %{time_ago}"
msgstr "Solicitado %{time_ago}"
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr "Reanudar la replicación"
msgid "Resync"
msgstr "Resincronizar"
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr "¡Token de suplantación revocado %{token_name}!"
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr "Se ha revocado el token de acceso personal %{personal_access_token_name}!"
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr "Agregar a"
@@ -17488,6 +17851,9 @@ msgstr "El ejecutor ejecuta los trabajos de todos los proyectos asignados"
msgid "Runner token"
msgstr "Token del ejecutor"
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr "No se actualizó el ejecutor."
@@ -17542,6 +17908,9 @@ msgstr "SAML SSO"
msgid "SAML SSO for %{group_name}"
msgstr "SAML SSO para %{group_name}"
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr "SAML para %{group_name}"
@@ -17626,12 +17995,18 @@ msgstr "Programar un nuevo pipeline"
msgid "Scheduled"
msgstr "Programado"
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr "Programaciones"
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr "Programación"
@@ -17689,6 +18064,9 @@ msgstr "Buscar ramas"
msgid "Search branches and tags"
msgstr "Buscar ramas y etiquetas"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr "Buscar archivos"
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] "fragmento de código"
msgstr[1] "fragmentos de código"
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] "Resultado del fragmento de código"
-msgstr[1] "Resultados del fragmento de código"
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] "usuario"
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] "Resultado de la wiki"
msgstr[1] "Resultados de la wiki"
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,185 +18252,233 @@ msgstr "Configuración de seguridad"
msgid "Security Dashboard"
msgstr "Panel de control de seguridad"
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
-msgstr "Se ha producido un error al obtener los datos del panel de control. Por favor, compruebe su conexión de red y vuelva a intentarlo."
+msgid "Security configuration help link"
+msgstr "Enlace de ayuda de configuración de seguridad"
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
-msgstr "Se ha producido un error al obtener los datos del panel de control. Por favor, compruebe su conexión de red y vuelva a intentarlo."
+msgid "Security dashboard"
+msgstr "Panel de control de seguridad"
-msgid "Security Dashboard|Issue Created"
-msgstr "Incidencia creada"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
-msgstr "Comentario agregado a '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
-msgstr "Comentario eliminado en '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
+msgstr "Configurado"
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
-msgstr "Comentario editado en '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
+msgstr "Característica"
-msgid "Security Reports|Create issue"
-msgstr "Crear incidencia"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgstr ""
+
+msgid "SecurityConfiguration|Not yet configured"
+msgstr "Todavía no está configurado"
-msgid "Security Reports|Dismiss vulnerability"
-msgstr "Informes de seguridad | Descartar vulnerabilidad"
+msgid "SecurityConfiguration|Secure features"
+msgstr "Características seguras"
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
-msgstr "Descartado '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
+msgstr "Estado"
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
-msgstr "Obtenga más información sobre cómo configurar su panel de control"
+msgid "SecurityReports|Add a project to your dashboard"
+msgstr ""
-msgid "Security Reports|More info"
-msgstr "Más información"
+msgid "SecurityReports|Add or remove projects from your dashboard"
+msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
-msgstr "Oops, algo no parece correcto."
+msgid "SecurityReports|Add projects"
+msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
-msgstr "Se ha producido un error añadir el comentario."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the issue."
-msgstr "Se ha producido un error al crear la incidencia."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
-msgstr "Se ha producido un error al crear el merge request."
+msgid "SecurityReports|Create issue"
+msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
-msgstr "Se ha producido un error al eliminar el comentario."
+msgid "SecurityReports|Dismiss Selected"
+msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
-msgstr "Se ha producido un error al descartar la vulnerabilidad."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
-msgstr "Enlace de ayuda de configuración de seguridad"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
+msgstr ""
-msgid "Security dashboard"
-msgstr "Panel de control de seguridad"
+msgid "SecurityReports|False positive"
+msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
-msgstr "Configurado"
+msgid "SecurityReports|Issue Created"
+msgstr ""
-msgid "SecurityConfiguration|Feature"
-msgstr "Característica"
+msgid "SecurityReports|Learn More"
+msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
-msgstr "Todavía no está configurado"
+msgid "SecurityReports|Load more vulnerabilities"
+msgstr ""
-msgid "SecurityConfiguration|Secure features"
-msgstr "Características seguras"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
-msgid "SecurityConfiguration|Status"
-msgstr "Estado"
+msgid "SecurityReports|More info"
+msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
-msgstr "%{firstProject} y %{secondProject}"
+msgid "SecurityReports|More information"
+msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
-msgstr "%{firstProject}, %{secondProject} y %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
-msgstr "Añadir un proyecto al panel de control"
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
-msgstr "Añadir o eliminar proyectos de su panel de control"
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
-msgid "SecurityDashboard|Add projects"
-msgstr "Añadir proyectos"
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
-msgstr "Editar panel de control"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
-msgstr "Ocultar descartado"
+msgid "SecurityReports|Project"
+msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
-msgstr "Monitorizar las vulnerabilidades en su código"
+msgid "SecurityReports|Projects added"
+msgstr ""
-msgid "SecurityDashboard|More information"
-msgstr "Más información"
+msgid "SecurityReports|Remove project from dashboard"
+msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Project"
-msgstr "Proyecto"
+msgid "SecurityReports|Security Dashboard"
+msgstr ""
-msgid "SecurityDashboard|Projects added"
-msgstr "Proyectos añadidos"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
+msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
-msgstr "Eliminar proyecto del panel de control"
+msgid "SecurityReports|Select a project to add by using the project search field above."
+msgstr ""
-msgid "SecurityDashboard|Report type"
-msgstr "Tipo de informe"
+msgid "SecurityReports|Select a reason"
+msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
-msgstr "Volver al panel de control"
+msgid "SecurityReports|Severity"
+msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
-msgstr "Panel de seguridad"
+msgid "SecurityReports|Status"
+msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Severity"
-msgstr "Gravedad"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
-msgstr "Se ha producido un error al añadir %{invalidProjects}"
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
+msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
msgstr "Vea la %{password_policy_guidelines} de GitLab"
@@ -18065,6 +18489,9 @@ msgstr "Ver métricas"
msgid "See the affected projects in the GitLab admin panel"
msgstr "Ver los proyectos afectados en el panel de administración de GitLab"
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr "Seleccionar"
@@ -18470,9 +18897,6 @@ msgstr "Configurar CI/CD"
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr "Configurar un %{type} ejecutor automáticamente"
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr "Gravedad: %{severity}"
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr "Snowplow"
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr "Algunos servidores de correo electrónico no permiten sobreescribir el nombre del remitente del correo electrónico. Habilite esta opción para incluir el nombre del autor de la incidencia, del merge request o del comentario en el cuerpo del correo electrónico."
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr "Algo salió mal, no se puede agregar %{project} al panel de control"
@@ -19297,6 +19730,9 @@ msgstr "Datos de la etapa actualizados"
msgid "Stage removed"
msgstr "Etapa eliminada"
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr "Resalte una etiqueta para convertirla en una etiqueta con prioridad. Ordene las etiquetas priorizadas para cambiar su prioridad relativa, arrastrando."
@@ -19420,6 +19856,9 @@ msgstr "Indique su mensaje para activar"
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr "Sincronizar información"
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr "Sistema"
@@ -19999,6 +20462,9 @@ msgstr "Dominio del equipo"
msgid "Telephone number"
msgstr "Número de teléfono"
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "Plantilla"
@@ -20305,6 +20771,9 @@ msgstr "La licencia se ha eliminado. GitLab ya no tiene una licencia válida."
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr "La licencia se ha subido correctamente y está activada. Puede ver los detalles de a continuación."
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr "El tamaño máximo de archivo permitido es de %{size}."
@@ -20626,6 +21095,9 @@ msgstr "Se ha producido un error al recopilar los datos del gráfico"
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr "Se ha producido un error al cargar el calendario de actividades de los usuarios."
@@ -20641,7 +21113,7 @@ msgstr "Se ha producido un error al restablecer los minutos de ejecución de los
msgid "There was an error resetting user pipeline minutes."
msgstr "Se ha producido un error al restablecer los minutos de ejecución de los pipelines del usuario."
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr "Estas variables están configuradas en la configuración del grupo princ
msgid "They can be managed using the %{link}."
msgstr "Se pueden administrar usando el %{link}."
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr "Ofertas de terceros"
@@ -20740,6 +21215,9 @@ msgstr "Esta aplicación fue creada por %{link_to_owner}."
msgid "This application will be able to:"
msgstr "Está aplicación podrá:"
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr "Este bloque es auto-referencial"
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr "Esta incidencia es confidencial"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "Esta incidencia está bloqueada."
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 "Tiempo en segundos que GitLab esperará hasta obtener una respuesta de un servicio externo. Cuando el servicio no responda a tiempo, se denegará el acceso."
+msgid "Time of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr "Tiempo restante"
@@ -21398,8 +21888,8 @@ msgstr "Título"
msgid "Title:"
msgstr "Título:"
-msgid "Titles and Filenames"
-msgstr "Títulos y nombres de archivos"
+msgid "Titles and Descriptions"
+msgstr ""
msgid "To"
msgstr "Para"
@@ -21605,8 +22095,8 @@ msgstr "Demasiados espacios de nombres habilitados. Necesitará administrarlos a
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr "Demasiados proyectos habilitados. Necesitará administrarlos a través de la consola o mediante el API."
-msgid "Topics"
-msgstr "Temas"
+msgid "Topics (optional)"
+msgstr ""
msgid "Total"
msgstr "Total"
@@ -21767,6 +22257,9 @@ msgstr "¿Desea intentarlo de nuevo?"
msgid "Try all GitLab has to offer for 30 days."
msgstr "Pruebe todo lo que GitLab tiene para ofrecer durante 30 días."
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr "Intentar realizar el fork de nuevo"
@@ -21860,6 +22353,9 @@ msgstr "No se ha podido conectar con el servidor de Prometheus"
msgid "Unable to connect to server: %{error}"
msgstr "Imposible conectar con el servidor: %{error}"
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr "Ver incidencia"
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr "Ver en GitLab"
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr "Clase"
@@ -23043,8 +23554,11 @@ msgstr "Espacio de nombres"
msgid "Vulnerability|Project"
msgstr "Proyecto"
-msgid "Vulnerability|Report Type"
-msgstr "Tipo de informe"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
+msgstr ""
msgid "Vulnerability|Severity"
msgstr "Severidad"
@@ -23097,9 +23611,15 @@ msgstr "Hemos obtenido respuesta desde su dispositivo U2F. Ha sido autenticado c
msgid "We sent you an email with reset password instructions"
msgstr "Le enviamos un correo electrónico con las instrucciones para restablecer la contraseña"
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr "Queremos asegurarnos de que sea usted, por favor, ayudenos a confirmar que no es un robot."
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr "No hemos encontrado vulnerabilidades"
@@ -23204,15 +23724,6 @@ msgstr "Al utilizar los protocolos <code>http://</code> o <code>https://</code>,
msgid "When:"
msgstr "Cuando:"
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr "Wiki"
-msgid "Wiki pages"
-msgstr "Páginas del Wiki"
-
msgid "Wiki was successfully updated."
msgstr "El wiki se actualizó correctamente."
@@ -23429,6 +23937,9 @@ msgstr "Sí o no"
msgid "Yes, add it"
msgstr "Si, hazlo"
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr "Sí, déjenme asignar usuarios de Google Code a nombres completos o usuarios de GitLab."
@@ -23624,6 +24135,9 @@ msgstr "No puede escribir en esta instancia de sólo lectura de GitLab."
msgid "You could not create a new trigger."
msgstr "No es posible crear un nuevo disparador."
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr "Se ha cancelado la suscripción a este hilo."
msgid "You have declined the invitation to join %{label}."
msgstr "Has rechazado la invitación para unirse a %{label}."
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr "No tiene permisos"
@@ -23771,6 +24288,9 @@ msgstr "Es necesario subir un archivo de exportación de proyecto de GitLab (en
msgid "You need to upload a Google Takeout archive."
msgstr "Necesita subir un archivo de Google Takeout."
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr "Trató de hacer un fork de %{link_to_the_project} pero falló por la siguiente razón:"
@@ -23855,9 +24375,21 @@ msgstr "Ya ha habilitado la autenticación de dos pasos utilizando una contraseÃ
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr "Este correo electrónico se utilizará para operaciones basadas en la web, como por ejemplo, realizar ediciones y merges."
@@ -23954,6 +24486,9 @@ msgstr "Se ha producido un error al enviar su comentario. Por favor, compruebe s
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr "Se ha producido un error al editar su comentario. Por favor, compruebe su conexión de red y vuelva a intentarlo."
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr "Su nuevo token SCIM"
msgid "Your new personal access token has been created."
msgstr "Se ha creado su nuevo token de acceso personal."
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr "Su contraseña no es necesaria para ver esta página. Si se le solicita una contraseña o cualquier otro dato personal, póngase en contacto con su administrador para denunciar el abuso."
@@ -24011,12 +24549,18 @@ msgstr "Tus proyectos"
msgid "Your request for access has been queued for review."
msgstr "Su solicitud de acceso ha sido puesta en cola para su revisión."
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,8 +24599,8 @@ msgstr "hace"
msgid "allowed to fail"
msgstr "permitido fallar"
-msgid "already being used for another group or project milestone."
-msgstr "ya se está utilizando para otro grupo o hito del proyecto."
+msgid "already being used for another group or project %{timebox_name}."
+msgstr ""
msgid "already has a \"created\" issue link"
msgstr ""
@@ -24133,6 +24677,9 @@ msgstr "%{linkStartTag}Aprenda más sobre el análisis de dependencias %{linkEnd
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr "%{linkStartTag}Aprenda más sobre SAST %{linkEndTag}"
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr "Resolver con un merge request"
msgid "ciReport|SAST"
msgstr "SAST"
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr "Análisis de seguridad"
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr "grupo"
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr "ya ha sido vinculado a otra vulnerabilidad"
@@ -24656,9 +25212,6 @@ msgstr[1] "merge requests"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr "el hito debe pertenecer a un proyecto o un grupo."
-
msgid "missing"
msgstr "falta"
@@ -24995,6 +25548,9 @@ msgstr "nueva solicitud de fusión"
msgid "no contributions"
msgstr "sin contribuciones"
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr "nadie puede hacer merge"
@@ -25047,6 +25603,9 @@ msgstr "comentario pendiente"
msgid "pending removal"
msgstr "pendiente de eliminación"
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr "pipeline"
@@ -25075,6 +25634,12 @@ msgstr[1] "proyectos"
msgid "project avatar"
msgstr "avatar del proyecto"
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr "acciones rápidas"
@@ -25221,11 +25786,6 @@ msgstr "la siguiente incidencia(s)"
msgid "this document"
msgstr "este documento"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] "hilo resuelto"
-msgstr[1] "hilos resueltos"
-
msgid "to help your contributors communicate effectively!"
msgstr "¡Para ayudar a sus colaboradores a comunicarse de manera efectiva!"
@@ -25280,6 +25840,9 @@ msgstr "ver en GitLab"
msgid "view the blob"
msgstr "ver el blob"
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr "Añadir un comentario o motivo para el descarte"
diff --git a/locale/et_EE/gitlab.po b/locale/et_EE/gitlab.po
index 220c08c9c3f..d1cb6cb1c03 100644
--- a/locale/et_EE/gitlab.po
+++ b/locale/et_EE/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: et\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:31\n"
+"PO-Revision-Date: 2020-05-05 21:32\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/fa_IR/gitlab.po b/locale/fa_IR/gitlab.po
index 36a4ffa0038..0fe3aefd655 100644
--- a/locale/fa_IR/gitlab.po
+++ b/locale/fa_IR/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: fa\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:26\n"
+"PO-Revision-Date: 2020-05-05 21:31\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/fi_FI/gitlab.po b/locale/fi_FI/gitlab.po
index 8841b855b52..4ec4ee77c25 100644
--- a/locale/fi_FI/gitlab.po
+++ b/locale/fi_FI/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: fi\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:31\n"
+"PO-Revision-Date: 2020-05-05 21:14\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/fil_PH/gitlab.po b/locale/fil_PH/gitlab.po
index f27cff91bb7..07f7779ecec 100644
--- a/locale/fil_PH/gitlab.po
+++ b/locale/fil_PH/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: fil\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:31\n"
+"PO-Revision-Date: 2020-05-05 21:33\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/fr/gitlab.po b/locale/fr/gitlab.po
index 58604450c93..fc31e7c2d23 100644
--- a/locale/fr/gitlab.po
+++ b/locale/fr/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: fr\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:32\n"
+"PO-Revision-Date: 2020-05-05 21:11\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "Avatar de %{name}"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind} commits de retard sur %{default_branch}, %{number_commits_ahead} commits d’avance"
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr "%{text} est disponible"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> ajoute
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> ajoutera « Par <a href=\"#\">johnsmith@example.com</a> » à tous les tickets et commentaires créés à l’origine par johnsmith@example.com. Par défaut, l’adresse de courriel ou le nom d’utilisateur est masqué pour garantir la confidentialité de l’utilisateur. Utilisez cette option si vous souhaitez afficher l’adresse de courriel complète."
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "Membres du groupe <strong>%{group_name}</strong>"
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "Une branche par défaut ne peut pas être choisie pour un projet vide."
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Compte"
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr "Ajouté à"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] "Alerte"
msgstr[1] "Alertes"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "Tous les utilisateurs"
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "Une erreur s’est produite lors de la prévisualisation du blob"
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr "Une erreur s’est produite lors de la récupération des données de la barre latérale"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr "Vérification antiâ€pourriel"
msgid "Any"
msgstr "Tout"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "Toute étiquette"
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "Êtesâ€vous sûr(e) de vouloir supprimer cette construction ?"
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr "Au moins une approbation d’un propriétaire de code est requise pour modifier les fichiers correspondant aux règles de propriété du code (CODEOWNER)."
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "août"
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr "Supprimer tous les commentaires en attente"
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr "Tableaux"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "Cliquez sur n’importe quel <strong>nom de projet</strong> dans la liste des projets ciâ€dessous pour naviguer jusqu’au jalon du projet."
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "Cliquez sur le bouton <strong>Télécharger</strong> et attendez que le téléchargement soit terminé."
@@ -4451,6 +4596,12 @@ msgstr "Récupération des projets"
msgid "ClusterIntegration|Fetching zones"
msgstr "Récupération des zones"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "Intégration GitLab"
@@ -4757,6 +4908,15 @@ msgstr "La demande de lancement de l’installation a échoué"
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "Enregistrer les modifications"
@@ -4853,6 +5013,12 @@ msgstr "Sélectionnez la zone"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "Sélectionnez la zone afin de choisir le type de machine"
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "Supprimer le dépôt"
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr "Étiquette"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr "Créer une nouvelle branche"
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr "Créer une étiquette de projet"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr "Créer un jeton d’accès personnel"
msgid "Created"
msgstr "Créé"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr "Créé à"
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr "Clefs de déploiement"
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr "Déployé sur"
msgid "Deploying to"
msgstr "En cours de déploiement sur"
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr "Épopées"
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr "Feuille de route des épopées"
@@ -8080,6 +8297,9 @@ msgstr ""
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’efforts"
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr "Erreur lors de la récupération des étiquettes."
msgid "Error fetching network graph."
msgstr "Erreur lors de la récupération du graphique du réseau."
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr "Erreur lors de la récupération des refs"
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr "Erreur lors de la récupération des données d’utilisation."
-
msgid "Error loading branch data. Please try again."
msgstr "Erreur lors du chargement des données de branche. Veuillez réessayer."
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr "Estimé"
@@ -8542,12 +8768,18 @@ msgstr "Explorer les groupes publics"
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr "Échec"
msgid "Failed Jobs"
msgstr "Tâches ayant échoué"
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr "Échec du déploiement sur"
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr "Filtrer par message de commit"
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,11 +9620,11 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr "Vérifié par somme de contrôle"
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
-msgstr "Données périmées à partir de %{timeago}"
+msgid "GeoNodes|Container repositories"
+msgstr ""
msgid "GeoNodes|Data replication lag"
msgstr "Latence de la réplication des données"
@@ -9418,6 +9665,9 @@ msgstr "Dernier identifiant d’événement traité par le curseur"
msgid "GeoNodes|Last event ID seen from primary"
msgstr "Dernier identifiant d’événement vu par le nœud primaire"
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr "Chargement des nœuds"
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr "Le nœud a été supprimé avec succès."
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr "Non vérifié par somme de contrôle"
@@ -9463,8 +9716,11 @@ msgstr "Progression du calcul de la somme de contrôle du dépôt"
msgid "GeoNodes|Repository verification progress"
msgstr "Progression de la vérification du dépôt"
-msgid "GeoNodes|Selective"
-msgstr "Sélectif"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
+msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
msgstr "Une erreur s’est produite lors du changement de statut du nœud"
@@ -9490,6 +9746,9 @@ msgstr "Emplacements non utilisés"
msgid "GeoNodes|Unverified"
msgstr "Non vérifié"
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr "Emplacements utilisés"
@@ -9529,17 +9788,17 @@ msgstr ""
msgid "Geo|All"
msgstr "Tous"
+msgid "Geo|All %{replicable_type}"
+msgstr ""
+
msgid "Geo|All projects"
msgstr "Tous les projets"
-msgid "Geo|All projects are being scheduled for re-sync"
-msgstr "Tous les projets ont été planifiés pour resynchronisation"
-
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
-msgstr "Opérations par lot"
+msgid "Geo|All projects are being scheduled for reverify"
+msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
msgstr "Impossible de supprimer l’entrée de suivi d’un projet existant."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr "En échec"
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr "État de Geo"
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr "Synchronisé"
@@ -9577,9 +9842,6 @@ msgstr "Prochaine synchro programmée à"
msgid "Geo|Not synced yet"
msgstr "Pas encore synchronisé"
-msgid "Geo|Pending"
-msgstr "En attente"
-
msgid "Geo|Pending synchronization"
msgstr "En attente de synchronisation"
@@ -9616,8 +9878,8 @@ msgstr ""
msgid "Geo|Resync"
msgstr "Reâ€synchroniser"
-msgid "Geo|Resync all projects"
-msgstr "Resynchroniser tous les projets"
+msgid "Geo|Resync all"
+msgstr ""
msgid "Geo|Retry count"
msgstr "Nombre de tentatives"
@@ -9625,7 +9887,7 @@ msgstr "Nombre de tentatives"
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr "Groupes"
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr "Les groupes peuvent également être imbriqués en créant des %{subgroup_docs_link_start}sousâ€groupes%{subgroup_docs_link_end}."
@@ -10757,15 +11022,12 @@ msgstr "Identifiant"
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
-msgstr "Autoriser les aperçus en direct des projets JavaScript dans l’EDI Web à l’aide de l’évaluation côté client CodeSandbox."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
+msgstr ""
msgid "IDE|Back"
msgstr "Retour"
-msgid "IDE|Client side evaluation"
-msgstr "Évaluation côté client"
-
msgid "IDE|Commit"
msgstr "Valider"
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr "Importer des dépôts à partir de GitHub"
msgid "Import repository"
msgstr "Importer un dépôt"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr "À la prochaine étape, vous pourrez sélectionner les projets que vous souhaitez importer."
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr "Tickets"
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr "Les tickets peuvent être des bogues, des tâches ou des sujets de discussion. De plus, les tickets sont consultables et filtrables."
@@ -11422,11 +11696,11 @@ msgstr "Une fois que vous aurez commencé à créer des tickets d’incident en
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
-msgstr "Tickets créés par mois"
+msgid "IssuesAnalytics|Issues opened per month"
+msgstr ""
msgid "IssuesAnalytics|Last 12 months"
msgstr "Les 12 derniers mois"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr "En savoir plus"
@@ -12211,9 +12494,6 @@ msgstr "Lister vos dépôts BitBucket Server"
msgid "Live preview"
msgstr "Prévisualisation"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr "Gérez les dépôts Git avec des contrôles d’accès très précis permettant de sécuriser votre code. Effectuez des revues de code et renforcez la collaboration avec les demandes de fusion Git. Chaque projet peut également avoir un système de tickets de suivi et un wiki."
-
msgid "Manage Web IDE features"
msgstr "Gérer les fonctionnalités de l’EDI Web"
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr "Manifeste"
@@ -12661,6 +12941,9 @@ msgstr "Demandes de fusion créées"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr "Fusionnée"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
-msgstr "Environnement"
+msgid "Metrics|Expand panel"
+msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr "Pour regrouper des métriques similaires"
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr "Documentation des requêtes Prometheus"
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr "Aucun changement"
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr "Aucune connexion n’a pu être établie avec un serveur Gitaly, veuillez vérifier votre journal !"
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "Événement de notifications"
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr "Ouvrir la barre latérale"
-msgid "Open source software to collaborate on code"
-msgstr "Logiciel libre permettant de collaborer sur du code source"
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "Vue d’ensemble"
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr "Paquets"
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr "Chemin d’accès, transfert et suppression"
-
msgid "Path:"
msgstr "Chemin d’accès :"
@@ -14523,8 +14842,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "Effectuer des actions avancées telles que la modification du chemin d’accès, le transfert ou la suppression du groupe."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr ""
@@ -14604,9 +14923,6 @@ msgstr "Planifications de pipelines"
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr "Quota du pipeline"
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr "Déclencheurs de pipeline"
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "Échecs :"
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,12 +15034,15 @@ msgstr "L’intégration continue peut aider à détecter les bogues en exécuta
msgid "Pipelines|Get started with Pipelines"
msgstr "Premiers pas avec les pipelines"
-msgid "Pipelines|Loading Pipelines"
-msgstr "Chargement des pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
+msgid "Pipelines|Loading Pipelines"
+msgstr "Chargement des pipelines"
+
msgid "Pipelines|Project cache successfully reset."
msgstr "Réinitialisation du cache de projet réussie."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr "Veuillez patienter pendant la connexion à votre dépôt. Actualisez à
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr "Veuillez patienter pendant l’importation de votre dépôt. Actualisez à votre guise."
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr "Aperçu de la charge utile"
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr "Des projets privés peuvent être créés dans votre espace de noms personnel avec :"
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,15 +16615,15 @@ msgstr "URL de base de l’API Prometheus, telle que http://prometheus.example.c
msgid "PrometheusService|Prometheus is being automatically managed on your clusters"
msgstr "Prometheus est géré automatiquement sur vos grappes de serveurs"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
+msgstr ""
+
msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment"
msgstr "Ces métriques ne seront supervisées qu’après votre premier déploiement dans un environnement"
msgid "PrometheusService|Time-series monitoring service"
msgstr "Service de supervision de séries temporelles"
-msgid "PrometheusService|To enable manual configuration, uninstall Prometheus from your clusters"
-msgstr "Pour activer la configuration manuelle, désinstallez Prometheus de vos grappes de serveurs"
-
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 grappes de serveurs, désactivez la configuration manuelle ciâ€dessous"
@@ -16479,6 +16807,9 @@ msgstr "Votre environnement a été déprotégé"
msgid "Protip:"
msgstr "Astuce :"
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr "Fournisseur"
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr "Pipelines publics"
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr "Récupérer"
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] "L’affichage sera réactualisé dans une seconde avec le statut mis à jour..."
msgstr[1] "L’affichage sera réactualisé dans %d secondes avec le statut mis à jour…"
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr "Rapports"
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr "Actions"
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr "Classe"
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr "L’exécuteur exécute des tâches de projets attribués"
msgid "Runner token"
msgstr "Jeton de l’exécuteur"
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr "Authentification unique SAML"
msgid "SAML SSO for %{group_name}"
msgstr "Authentification unique SAML pour %{group_name}"
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr "Planifier un nouveau pipeline"
msgid "Scheduled"
msgstr "Planifié"
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr "Planifications"
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr "Rechercher des branches"
msgid "Search branches and tags"
msgstr "Rechercher dans les branches et les étiquettes"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr "Rechercher des fichiers"
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr "Tableau de bord de sécurité"
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
-msgstr "Erreur lors de la récupération du nombre de vulnérabilités. Veuillez vérifier votre connexion réseau puis réessayer."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
+msgstr ""
+
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgstr ""
+
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgstr ""
+
+msgid "SecurityConfiguration|Configured"
+msgstr ""
+
+msgid "SecurityConfiguration|Feature"
+msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
-msgstr "Erreur lors de la récupération de la liste des vulnérabilités. Veuillez vérifier votre connexion réseau puis réessayer."
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgstr ""
-msgid "Security Dashboard|Issue Created"
-msgstr "Ticket créé"
+msgid "SecurityConfiguration|Not yet configured"
+msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Create issue"
-msgstr "Créer un ticket"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
+msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
-msgstr "Rejeter la vulnérabilité"
+msgid "SecurityReports|Add a project to your dashboard"
+msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|More info"
-msgstr "Plus d’informations"
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
-msgstr "Une erreur est survenue lors de la création du ticket."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
-msgstr "Une erreur est survenue lors du rejet de la vulnérabilité."
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
-msgstr "Une erreur est survenue lors de l’annulation du rejet."
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
-msgstr "Une erreur est survenue lors de l’annulation de ce rejet."
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
+msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgstr ""
+
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
-msgstr "Surveiller les vulnérabilités dans votre code"
+msgid "SecurityReports|Select a reason"
+msgstr ""
+
+msgid "SecurityReports|Severity"
+msgstr ""
+
+msgid "SecurityReports|Status"
+msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|Undo dismiss"
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr "Sélectionner"
@@ -18470,9 +18897,6 @@ msgstr "Configuration CI/CD"
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr "Une erreur est survenue, impossible d’ajouter %{project} au tableau de bord"
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr "Mettez une étoile sur une étiquette pour en faire une étiquette prioritaire. Ordonnez les étiquettes prioritaires pour changer leurs priorités relatives en les faisant glisser."
@@ -19420,6 +19856,9 @@ msgstr "Énoncez votre message à activer"
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr "Synchroniser les informations"
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "Modèle"
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr "Une erreur s’est produite lors du chargement du calendrier d’activité des utilisateurs."
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr "Ils peuvent être gérés en utilisant %{link}."
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr "Offres tierces"
@@ -20740,6 +21215,9 @@ msgstr "Cette application a été créée par %{link_to_owner}."
msgid "This application will be able to:"
msgstr "Cette application sera en mesure de :"
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr "Ce ticket est confidentiel"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "Ce ticket est verrouillé."
@@ -21079,7 +21563,10 @@ msgstr "Cet utilisateur sera l’auteur de tous les événements du flux d’act
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr "Cet utilisateur sera l’auteur de tous les événements du flux d’activité résultant d’une mise à jour, comme la création de nouvelles branches ou les nouveaux commits poussés vers des branches existantes. Lors de la création ou lors de la réaffectation, vous ne pouvez assigner que vousâ€même comme utilisateur du miroir."
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 "Délai d’attente, en secondes, d’une réponse du service externe. Lorsque le service ne répond pas à temps, l’accès sera refusé."
+msgid "Time of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr "Temps restant"
@@ -21398,7 +21888,7 @@ msgstr "Titre"
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr "Essayez tout ce que GitLab peut vous offrir pendant 30 jours."
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr "Voir sur GitLab"
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr "Classe"
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr "Projet"
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr "Nous voulons nous assurer qu’il s’agit bien de vous, merci de confirmer que vous n’êtes pas un robot."
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr "Wiki"
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr "Oui, l’ajouter"
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr "Oui, permettezâ€moi d’associer les utilisateurs de Google Code aux noms complets ou aux nom d’utilisateurs de GitLab."
@@ -23624,6 +24135,9 @@ msgstr "Vous ne pouvez pas écrire sur cette instance GitLab en lecture seule."
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr "Vous n’avez pas les autorisations"
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr "Vos projets"
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr "auparavant "
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr "%{linkStartTag}En savoir plus sur l’analyse des dépendances%{linkEndT
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr "%{linkStartTag}En savoir plus sur SAST %{linkEndTag}"
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr "SAST"
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr "Analyse de sécurité"
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] "demandes de fusion"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr "nouvelle demande de fusion"
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] "projets"
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr "ce document"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr "pour aider vos contributeurs à communiquer efficacement !"
@@ -25280,6 +25840,9 @@ msgstr "voir sur GitLab"
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 1f29126109d..b339c52ce09 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -241,6 +241,9 @@ msgstr ""
msgid "%{completedWeight} of %{totalWeight} weight completed"
msgstr ""
+msgid "%{containerScanningLinkStart}Container Scanning%{containerScanningLinkEnd} and/or %{dependencyScanningLinkStart}Dependency Scanning%{dependencyScanningLinkEnd} must be enabled. %{securityBotLinkStart}GitLab-Security-Bot%{securityBotLinkEnd} will be the author of the auto-created merge request. %{moreInfoLinkStart}More information%{moreInfoLinkEnd}."
+msgstr ""
+
msgid "%{cores} cores"
msgstr ""
@@ -318,6 +321,9 @@ msgstr ""
msgid "%{firstLabel} +%{labelCount} more"
msgstr ""
+msgid "%{firstMilestoneName} + %{numberOfOtherMilestones} more"
+msgstr ""
+
msgid "%{global_id} is not a valid id for %{expected_type}."
msgstr ""
@@ -1185,6 +1191,9 @@ msgstr ""
msgid "Add a link"
msgstr ""
+msgid "Add a new issue"
+msgstr ""
+
msgid "Add a numbered list"
msgstr ""
@@ -1200,7 +1209,7 @@ msgstr ""
msgid "Add an SSH key"
msgstr ""
-msgid "Add an existing issue to the epic."
+msgid "Add an existing issue"
msgstr ""
msgid "Add an issue"
@@ -1356,7 +1365,7 @@ msgstr ""
msgid "Adds an issue to an epic."
msgstr ""
-msgid "Adjust your filters/search criteria above."
+msgid "Adjust your filters/search criteria above. If you believe this may be an error, please refer to the %{linkStart}Geo Troubleshooting%{linkEnd} documentation for more information."
msgstr ""
msgid "Admin Area"
@@ -1709,9 +1718,15 @@ msgstr ""
msgid "AlertManagement|Alerts"
msgstr ""
+msgid "AlertManagement|All alerts"
+msgstr ""
+
msgid "AlertManagement|Authorize external service"
msgstr ""
+msgid "AlertManagement|Create issue"
+msgstr ""
+
msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
msgstr ""
@@ -1739,6 +1754,9 @@ msgstr ""
msgid "AlertManagement|No alerts to display."
msgstr ""
+msgid "AlertManagement|Open"
+msgstr ""
+
msgid "AlertManagement|Overview"
msgstr ""
@@ -2132,6 +2150,9 @@ msgstr ""
msgid "An error occurred while loading merge requests."
msgstr ""
+msgid "An error occurred while loading milestones"
+msgstr ""
+
msgid "An error occurred while loading terraform report"
msgstr ""
@@ -2207,6 +2228,9 @@ msgstr ""
msgid "An error occurred while saving the template. Please check if the template exists."
msgstr ""
+msgid "An error occurred while searching for milestones"
+msgstr ""
+
msgid "An error occurred while subscribing to notifications."
msgstr ""
@@ -2912,6 +2936,9 @@ msgstr ""
msgid "Automatic certificate management using Let's Encrypt"
msgstr ""
+msgid "Automatically create merge requests for vulnerabilities that have fixes available."
+msgstr ""
+
msgid "Automatically marked as default internal user"
msgstr ""
@@ -2927,6 +2954,9 @@ msgstr ""
msgid "Available"
msgstr ""
+msgid "Available for dependency and container scanning"
+msgstr ""
+
msgid "Available group Runners: %{runners}"
msgstr ""
@@ -3410,12 +3440,6 @@ msgstr ""
msgid "Business metrics (Custom)"
msgstr ""
-msgid "Buy EE"
-msgstr ""
-
-msgid "Buy GitLab Enterprise Edition"
-msgstr ""
-
msgid "Buy more Pipeline minutes"
msgstr ""
@@ -5593,18 +5617,9 @@ msgstr ""
msgid "Connection timed out"
msgstr ""
-msgid "Contact an owner of group %{namespace_name} to upgrade the plan."
-msgstr ""
-
-msgid "Contact owner %{link_start}%{owner_name}%{link_end} to upgrade the plan."
-msgstr ""
-
msgid "Contact sales to upgrade"
msgstr ""
-msgid "Contact your Administrator to upgrade your license."
-msgstr ""
-
msgid "Container Registry"
msgstr ""
@@ -5710,7 +5725,7 @@ msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
-msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-master%{codeEnd} or %{codeStart}release-.*%{codeEnd} are supported"
msgstr ""
msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
@@ -6144,9 +6159,6 @@ msgstr ""
msgid "Create a new issue"
msgstr ""
-msgid "Create a new issue and add it to the epic."
-msgstr ""
-
msgid "Create a new repository"
msgstr ""
@@ -6156,9 +6168,6 @@ msgstr ""
msgid "Create an account using:"
msgstr ""
-msgid "Create an issue"
-msgstr ""
-
msgid "Create an issue. Issues are created for each alert triggered."
msgstr ""
@@ -6213,6 +6222,9 @@ msgstr ""
msgid "Create milestone"
msgstr ""
+msgid "Create new"
+msgstr ""
+
msgid "Create new board"
msgstr ""
@@ -6889,11 +6901,6 @@ msgid_plural "Dependencies|%d additional vulnerabilities not shown"
msgstr[0] ""
msgstr[1] ""
-msgid "Dependencies|%d vulnerability"
-msgid_plural "Dependencies|%d vulnerabilities"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "Dependencies|%d vulnerability detected"
msgid_plural "Dependencies|%d vulnerabilities detected"
msgstr[0] ""
@@ -6929,12 +6936,6 @@ msgstr ""
msgid "Dependencies|Packager"
msgstr ""
-msgid "Dependencies|Safe"
-msgstr ""
-
-msgid "Dependencies|Status"
-msgstr ""
-
msgid "Dependencies|The %{codeStartTag}dependency_scanning%{codeEndTag} job has failed and cannot generate the list. Please ensure the job is running properly and run the pipeline again."
msgstr ""
@@ -6944,9 +6945,6 @@ msgstr ""
msgid "Dependencies|Unsupported file(s) detected"
msgstr ""
-msgid "Dependencies|Version"
-msgstr ""
-
msgid "Dependencies|Vulnerable components"
msgstr ""
@@ -7220,15 +7218,27 @@ msgstr ""
msgid "DesignManagement|Adding a design with the same filename replaces the file in a new version."
msgstr ""
+msgid "DesignManagement|Are you sure you want to cancel changes to this comment?"
+msgstr ""
+
msgid "DesignManagement|Are you sure you want to cancel creating this comment?"
msgstr ""
msgid "DesignManagement|Are you sure you want to delete the selected designs?"
msgstr ""
+msgid "DesignManagement|Cancel changes"
+msgstr ""
+
msgid "DesignManagement|Cancel comment confirmation"
msgstr ""
+msgid "DesignManagement|Cancel comment update confirmation"
+msgstr ""
+
+msgid "DesignManagement|Comment"
+msgstr ""
+
msgid "DesignManagement|Could not add a new comment. Please try again."
msgstr ""
@@ -7238,6 +7248,9 @@ msgstr ""
msgid "DesignManagement|Could not update discussion. Please try again."
msgstr ""
+msgid "DesignManagement|Could not update note. Please try again."
+msgstr ""
+
msgid "DesignManagement|Delete"
msgstr ""
@@ -7265,12 +7278,18 @@ msgstr ""
msgid "DesignManagement|Go to previous design"
msgstr ""
+msgid "DesignManagement|Keep changes"
+msgstr ""
+
msgid "DesignManagement|Keep comment"
msgstr ""
msgid "DesignManagement|Requested design version does not exist. Showing latest version instead"
msgstr ""
+msgid "DesignManagement|Save comment"
+msgstr ""
+
msgid "DesignManagement|Select all"
msgstr ""
@@ -8305,10 +8324,10 @@ msgstr ""
msgid "Epics, Issues, and Merge Requests"
msgstr ""
-msgid "Epics|Add an epic"
+msgid "Epics|Add a new epic"
msgstr ""
-msgid "Epics|Add an existing epic as a child epic."
+msgid "Epics|Add an existing epic"
msgstr ""
msgid "Epics|An error occurred while saving the %{epicDateType} date"
@@ -8320,12 +8339,6 @@ msgstr ""
msgid "Epics|Are you sure you want to remove %{bStart}%{targetIssueTitle}%{bEnd} from %{bStart}%{parentEpicTitle}%{bEnd}?"
msgstr ""
-msgid "Epics|Create an epic within this group and add it as a child epic."
-msgstr ""
-
-msgid "Epics|Create new epic"
-msgstr ""
-
msgid "Epics|How can I solve this?"
msgstr ""
@@ -8395,6 +8408,9 @@ msgstr ""
msgid "Error creating label."
msgstr ""
+msgid "Error creating new iteration"
+msgstr ""
+
msgid "Error deleting %{issuableType}"
msgstr ""
@@ -8572,9 +8588,6 @@ msgstr ""
msgid "Estimated"
msgstr ""
-msgid "Event Actions"
-msgstr ""
-
msgid "EventFilterBy|Filter by all"
msgstr ""
@@ -9127,9 +9140,15 @@ msgstr ""
msgid "FeatureFlags|Feature flags allow you to configure your code into different flavors by dynamically toggling certain functionality."
msgstr ""
+msgid "FeatureFlags|Flag becomes read only soon"
+msgstr ""
+
msgid "FeatureFlags|Get started with feature flags"
msgstr ""
+msgid "FeatureFlags|GitLab is moving to a new way of managing feature flags, and in 13.4, this feature flag will become read-only. Please create a new feature flag."
+msgstr ""
+
msgid "FeatureFlags|ID"
msgstr ""
@@ -9322,6 +9341,9 @@ msgstr ""
msgid "Filter by user"
msgstr ""
+msgid "Filter pipelines"
+msgstr ""
+
msgid "Filter projects"
msgstr ""
@@ -9790,10 +9812,10 @@ msgstr ""
msgid "Geo|%{name} is scheduled for re-verify"
msgstr ""
-msgid "Geo|All"
+msgid "Geo|Adjust your filters/search criteria above. If you believe this may be an error, please refer to the %{linkStart}Geo Troubleshooting%{linkEnd} documentation for more information."
msgstr ""
-msgid "Geo|All %{replicable_type}"
+msgid "Geo|All %{replicable_name}"
msgstr ""
msgid "Geo|All projects"
@@ -9913,6 +9935,9 @@ msgstr ""
msgid "Geo|The node is currently %{minutes_behind} behind the primary node."
msgstr ""
+msgid "Geo|There are no %{replicable_type} to show"
+msgstr ""
+
msgid "Geo|Tracking database entry will be removed. Are you sure?"
msgstr ""
@@ -11132,9 +11157,6 @@ 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 believe this may be an error, please refer to the %{linkStart}Geo Troubleshooting%{linkEnd} documentation for more information."
-msgstr ""
-
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
@@ -11303,9 +11325,6 @@ msgstr ""
msgid "Improve Merge Requests and customer support 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."
msgstr ""
@@ -11408,6 +11427,12 @@ msgstr ""
msgid "Insights"
msgstr ""
+msgid "Insights|Some items are not visible beacuse the project was filtered out in the insights.yml file (see the projects.only config for more information)."
+msgstr ""
+
+msgid "Insights|This project is filtered out in the insights.yml file (see the projects.only config for more information)."
+msgstr ""
+
msgid "Install"
msgstr ""
@@ -11458,6 +11483,30 @@ msgstr ""
msgid "Integrations allow you to integrate GitLab with other applications"
msgstr ""
+msgid "Integrations|All details"
+msgstr ""
+
+msgid "Integrations|Comment detail:"
+msgstr ""
+
+msgid "Integrations|Comment settings:"
+msgstr ""
+
+msgid "Integrations|Enable comments"
+msgstr ""
+
+msgid "Integrations|Includes Standard plus entire commit message, commit hash, and issue IDs"
+msgstr ""
+
+msgid "Integrations|Includes commit title and branch"
+msgstr ""
+
+msgid "Integrations|Standard"
+msgstr ""
+
+msgid "Integrations|When a Jira issue is mentioned in a commit or merge request a remote link and comment (if enabled) will be created."
+msgstr ""
+
msgid "Interested parties can even contribute by pushing commits if they want to."
msgstr ""
@@ -11497,6 +11546,12 @@ msgstr ""
msgid "Invalid URL"
msgstr ""
+msgid "Invalid container_name"
+msgstr ""
+
+msgid "Invalid cursor parameter"
+msgstr ""
+
msgid "Invalid cursor value provided"
msgstr ""
@@ -11533,12 +11588,18 @@ msgstr ""
msgid "Invalid pin code"
msgstr ""
+msgid "Invalid pod_name"
+msgstr ""
+
msgid "Invalid query"
msgstr ""
msgid "Invalid repository path"
msgstr ""
+msgid "Invalid search parameter"
+msgstr ""
+
msgid "Invalid server response"
msgstr ""
@@ -11761,6 +11822,12 @@ msgstr ""
msgid "Jira project: %{importProject}"
msgstr ""
+msgid "JiraService| on branch %{branch_link}"
+msgstr ""
+
+msgid "JiraService|%{user_link} mentioned this issue in %{entity_link} of %{project_link}%{branch}:{quote}%{entity_message}{quote}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -12186,6 +12253,9 @@ msgstr ""
msgid "Learn more about Web Terminal"
msgstr ""
+msgid "Learn more about X.509 signed commits"
+msgstr ""
+
msgid "Learn more about adding certificates to your project by following the %{docs_link_start}documentation on GitLab Pages%{docs_link_end}."
msgstr ""
@@ -12207,9 +12277,6 @@ msgstr ""
msgid "Learn more about the dependency list"
msgstr ""
-msgid "Learn more about x509 signed commits"
-msgstr ""
-
msgid "Learn more in the"
msgstr ""
@@ -12670,6 +12737,9 @@ msgstr ""
msgid "Manage labels"
msgstr ""
+msgid "Manage milestones"
+msgstr ""
+
msgid "Manage project labels"
msgstr ""
@@ -12724,6 +12794,9 @@ msgstr ""
msgid "Mark comment as resolved"
msgstr ""
+msgid "Mark this comment as private"
+msgstr ""
+
msgid "Mark this issue as a duplicate of another issue"
msgstr ""
@@ -13021,6 +13094,9 @@ msgstr ""
msgid "MergeRequests|Add a reply"
msgstr ""
+msgid "MergeRequests|An error occurred while checking whether another squash is in progress."
+msgstr ""
+
msgid "MergeRequests|An error occurred while saving the draft comment."
msgstr ""
@@ -13236,6 +13312,9 @@ msgstr ""
msgid "Metrics|Link contains an invalid time window, please verify the link to see the requested time range."
msgstr ""
+msgid "Metrics|Link contains invalid chart information, please verify the link to see the expanded panel."
+msgstr ""
+
msgid "Metrics|Max"
msgstr ""
@@ -13723,6 +13802,9 @@ msgstr ""
msgid "New issue title"
msgstr ""
+msgid "New iteration created"
+msgstr ""
+
msgid "New label"
msgstr ""
@@ -13798,9 +13880,6 @@ msgstr ""
msgid "No %{providerTitle} repositories found"
msgstr ""
-msgid "No %{replicableType} match this filter"
-msgstr ""
-
msgid "No Epic"
msgstr ""
@@ -13930,6 +14009,9 @@ msgstr ""
msgid "No messages were logged"
msgstr ""
+msgid "No milestone"
+msgstr ""
+
msgid "No milestones to show"
msgstr ""
@@ -14409,6 +14491,9 @@ msgstr ""
msgid "Operation failed. Check pod logs for %{pod_name} for more details."
msgstr ""
+msgid "Operation not allowed"
+msgstr ""
+
msgid "Operation timed out. Check pod logs for %{pod_name} for more details."
msgstr ""
@@ -14526,6 +14611,9 @@ msgstr ""
msgid "Package type must be Maven"
msgstr ""
+msgid "Package type must be NuGet"
+msgstr ""
+
msgid "Package was removed"
msgstr ""
@@ -15015,6 +15103,9 @@ msgstr ""
msgid "Pipelines for merge requests are configured. A detached pipeline runs in the context of the merge request, and not against the merged result. Learn more in the documentation for Pipelines for Merged Results."
msgstr ""
+msgid "Pipelines must succeed for merge requests to be eligible to merge. Please enable pipelines for this project to continue. For more information, see the %{linkStart}documentation.%{linkEnd}"
+msgstr ""
+
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
@@ -15078,7 +15169,7 @@ msgstr ""
msgid "Pipeline|Commit"
msgstr ""
-msgid "Pipeline|Could not retrieve the pipeline status. For troubleshooting steps, read the %{linkStart}documentation.%{linkEnd}"
+msgid "Pipeline|Could not retrieve the pipeline status. For troubleshooting steps, read the %{linkStart}documentation%{linkEnd}."
msgstr ""
msgid "Pipeline|Coverage"
@@ -15105,6 +15196,9 @@ msgstr ""
msgid "Pipeline|Merged result pipeline"
msgstr ""
+msgid "Pipeline|No pipeline has been run for this commit."
+msgstr ""
+
msgid "Pipeline|Pipeline"
msgstr ""
@@ -15135,6 +15229,9 @@ msgstr ""
msgid "Pipeline|Stop pipeline #%{pipelineId}?"
msgstr ""
+msgid "Pipeline|Trigger author"
+msgstr ""
+
msgid "Pipeline|Triggerer"
msgstr ""
@@ -15495,6 +15592,9 @@ msgstr ""
msgid "Private - The group and its projects can only be viewed by members."
msgstr ""
+msgid "Private comments are accessible by internal staff only"
+msgstr ""
+
msgid "Private group(s)"
msgstr ""
@@ -16113,9 +16213,6 @@ msgstr ""
msgid "ProjectService|Comment will be posted on each event"
msgstr ""
-msgid "ProjectService|Last edit"
-msgstr ""
-
msgid "ProjectService|Perform common operations on GitLab project: %{project_name}"
msgstr ""
@@ -16671,24 +16768,51 @@ msgstr ""
msgid "Promoted issue to an epic."
msgstr ""
+msgid "Promotions|Buy EE"
+msgstr ""
+
+msgid "Promotions|Buy GitLab Enterprise Edition"
+msgstr ""
+
+msgid "Promotions|Contact an owner of group %{namespace_name} to upgrade the plan."
+msgstr ""
+
+msgid "Promotions|Contact owner %{link_start}%{owner_name}%{link_end} to upgrade the plan."
+msgstr ""
+
+msgid "Promotions|Contact your Administrator to upgrade your license."
+msgstr ""
+
msgid "Promotions|Don't show me this again"
msgstr ""
msgid "Promotions|Epics let you manage your portfolio of projects more efficiently and with less effort by tracking groups of issues that share a theme, across projects and milestones."
msgstr ""
+msgid "Promotions|Improve issues management with Issue weight and GitLab Enterprise Edition."
+msgstr ""
+
msgid "Promotions|Learn more"
msgstr ""
msgid "Promotions|See the other features in the %{subscription_link_start}bronze plan%{subscription_link_end}"
msgstr ""
+msgid "Promotions|Start GitLab Ultimate trial"
+msgstr ""
+
msgid "Promotions|This feature is locked."
msgstr ""
msgid "Promotions|Upgrade plan"
msgstr ""
+msgid "Promotions|Upgrade your plan"
+msgstr ""
+
+msgid "Promotions|Weight"
+msgstr ""
+
msgid "Promotions|Weighting your issue"
msgstr ""
@@ -18060,6 +18184,9 @@ msgstr ""
msgid "Search Button"
msgstr ""
+msgid "Search Milestones"
+msgstr ""
+
msgid "Search an environment spec"
msgstr ""
@@ -19444,6 +19571,9 @@ msgstr ""
msgid "Something went wrong while stopping this environment. Please try again."
msgstr ""
+msgid "Something went wrong while toggling auto-fix settings, please try again later."
+msgstr ""
+
msgid "Something went wrong while updating a requirement."
msgstr ""
@@ -19774,9 +19904,6 @@ msgstr ""
msgid "Stars"
msgstr ""
-msgid "Start GitLab Ultimate trial"
-msgstr ""
-
msgid "Start Web Terminal"
msgstr ""
@@ -20209,9 +20336,15 @@ msgstr ""
msgid "Suggest code changes which can be immediately applied in one click. Try it out!"
msgstr ""
+msgid "Suggested Solutions"
+msgstr ""
+
msgid "Suggested change"
msgstr ""
+msgid "Suggested solutions help link"
+msgstr ""
+
msgid "SuggestedColors|Bright green"
msgstr ""
@@ -20962,6 +21095,9 @@ msgstr ""
msgid "The vulnerability is no longer detected. Verify the vulnerability has been remediated before changing its status."
msgstr ""
+msgid "There are no %{replicableType} to show"
+msgstr ""
+
msgid "There are no GPG keys associated with this account."
msgstr ""
@@ -21037,6 +21173,9 @@ msgstr ""
msgid "There was a problem communicating with your device."
msgstr ""
+msgid "There was a problem fetching project users."
+msgstr ""
+
msgid "There was a problem refreshing the data, please try again"
msgstr ""
@@ -22640,9 +22779,6 @@ msgstr ""
msgid "Upgrade plan to unlock Canary Deployments feature"
msgstr ""
-msgid "Upgrade your plan"
-msgstr ""
-
msgid "Upgrade your plan to activate Advanced Global Search."
msgstr ""
@@ -24910,6 +25046,9 @@ msgstr ""
msgid "connecting"
msgstr ""
+msgid "container_name can contain only lowercase letters, digits, '-', and '.' and must start and end with an alphanumeric character"
+msgstr ""
+
msgid "container_name cannot be larger than %{max_length} chars"
msgstr ""
@@ -25617,6 +25756,9 @@ msgstr ""
msgid "pipeline"
msgstr ""
+msgid "pod_name can contain only lowercase letters, digits, '-', and '.' and must start and end with an alphanumeric character"
+msgstr ""
+
msgid "pod_name cannot be larger than %{max_length} chars"
msgstr ""
@@ -25821,6 +25963,9 @@ msgstr ""
msgid "updated %{time_ago}"
msgstr ""
+msgid "uploads"
+msgstr ""
+
msgid "user avatar"
msgstr ""
diff --git a/locale/gl_ES/gitlab.po b/locale/gl_ES/gitlab.po
index 085f3b76a51..14066fd10dc 100644
--- a/locale/gl_ES/gitlab.po
+++ b/locale/gl_ES/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: gl\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:32\n"
+"PO-Revision-Date: 2020-05-05 21:34\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/he_IL/gitlab.po b/locale/he_IL/gitlab.po
index b48785a99c6..b25581c3683 100644
--- a/locale/he_IL/gitlab.po
+++ b/locale/he_IL/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: he\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:32\n"
+"PO-Revision-Date: 2020-05-05 21:11\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -272,6 +272,13 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -443,6 +450,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -455,6 +465,13 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -590,6 +607,9 @@ msgstr[3] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -903,12 +923,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -942,6 +968,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1158,6 +1187,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1167,6 +1202,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1411,6 +1449,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1784,6 +1825,72 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1853,6 +1960,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1871,6 +1981,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1979,6 +2092,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -2060,6 +2176,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2297,6 +2416,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2520,10 +2642,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2553,6 +2675,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2731,6 +2856,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2771,6 +2899,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -3053,9 +3202,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3185,6 +3331,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3404,6 +3553,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3524,6 +3676,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3692,6 +3847,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3728,9 +3886,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3746,9 +3901,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4199,9 +4351,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4589,6 +4738,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4895,6 +5050,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4991,6 +5155,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5421,18 +5591,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5580,9 +5765,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5595,6 +5786,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5604,18 +5798,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5637,9 +5825,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5655,12 +5840,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5677,22 +5874,22 @@ msgstr[3] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5701,16 +5898,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5731,16 +5937,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5995,7 +6201,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -6010,6 +6216,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -6067,6 +6276,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6172,6 +6384,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6193,6 +6408,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6551,6 +6769,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6929,6 +7150,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7082,6 +7306,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7602,9 +7829,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8226,9 +8450,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8238,6 +8459,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8289,6 +8513,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8343,6 +8570,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8352,9 +8582,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8496,6 +8723,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8700,12 +8930,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8775,9 +9011,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8817,6 +9050,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8826,7 +9062,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8850,6 +9086,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9225,7 +9467,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9237,12 +9482,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9531,10 +9782,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9576,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9591,6 +9845,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9621,7 +9878,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9648,6 +9908,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9687,16 +9950,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9708,9 +9971,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9735,9 +10004,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9774,7 +10040,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9783,7 +10049,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10125,9 +10391,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10572,6 +10835,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10650,6 +10916,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10919,15 +11188,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10991,6 +11257,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -11030,6 +11299,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11141,6 +11413,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11207,6 +11482,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11556,15 +11834,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11586,10 +11864,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11643,6 +11921,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -12034,6 +12315,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -12046,6 +12330,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12387,9 +12674,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12540,9 +12824,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12573,6 +12854,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12837,6 +13121,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12990,6 +13277,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13099,12 +13392,15 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13135,9 +13431,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13216,6 +13509,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13665,10 +13961,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13728,6 +14024,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13866,15 +14165,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13998,6 +14288,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14169,6 +14462,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14272,9 +14568,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14377,6 +14670,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14428,6 +14724,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14449,6 +14748,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14482,6 +14784,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14491,6 +14799,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14509,12 +14820,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14551,6 +14868,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14566,6 +14886,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14659,6 +14982,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14674,9 +15000,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14707,7 +15030,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14788,9 +15111,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14800,6 +15120,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14878,15 +15201,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14908,10 +15222,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15142,6 +15459,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15187,6 +15507,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15304,7 +15627,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15325,10 +15648,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15361,6 +15684,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16189,6 +16515,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16252,6 +16581,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16471,13 +16803,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16663,6 +16995,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16687,6 +17022,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16889,6 +17227,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17268,9 +17609,31 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17376,7 +17739,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17564,6 +17927,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17634,6 +18000,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17682,6 +18051,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17736,6 +18108,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17820,12 +18195,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17883,6 +18264,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -18044,13 +18428,6 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -18065,6 +18442,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -18092,184 +18472,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18281,6 +18709,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18686,9 +19117,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18773,6 +19201,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -19089,6 +19520,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19230,6 +19664,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19515,6 +19952,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19638,6 +20078,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19647,18 +20090,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19716,6 +20171,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -20064,6 +20525,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20217,6 +20684,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20529,6 +20999,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20850,6 +21323,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20865,7 +21341,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20928,6 +21404,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20964,6 +21443,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -21105,6 +21587,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21303,7 +21791,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21333,10 +21824,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21369,7 +21860,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21438,6 +21929,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21626,7 +22120,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21833,7 +22327,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21995,6 +22489,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -22088,6 +22585,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -23035,6 +23535,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23212,6 +23715,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23242,6 +23754,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23275,7 +23790,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23329,9 +23847,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23438,15 +23962,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23477,9 +23992,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23663,6 +24175,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23858,6 +24373,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23924,6 +24442,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -24005,6 +24526,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -24089,9 +24613,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24188,6 +24724,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24227,6 +24766,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24245,12 +24787,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24291,7 +24839,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24369,6 +24917,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24542,6 +25093,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24747,6 +25304,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24914,9 +25474,6 @@ msgstr[3] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25253,6 +25810,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25309,6 +25869,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25341,6 +25904,12 @@ msgstr[3] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25489,13 +26058,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25550,6 +26112,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/hi_IN/gitlab.po b/locale/hi_IN/gitlab.po
index 0e2e1f8d644..220339b757d 100644
--- a/locale/hi_IN/gitlab.po
+++ b/locale/hi_IN/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: hi\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:32\n"
+"PO-Revision-Date: 2020-05-05 21:32\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/hr_HR/gitlab.po b/locale/hr_HR/gitlab.po
index 164774ef390..31ef7dcfe58 100644
--- a/locale/hr_HR/gitlab.po
+++ b/locale/hr_HR/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: hr\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:30\n"
+"PO-Revision-Date: 2020-05-05 21:32\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -242,6 +242,12 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -407,6 +413,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -419,6 +428,12 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -548,6 +563,9 @@ msgstr[2] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -842,12 +860,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -881,6 +905,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1097,6 +1124,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1106,6 +1139,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1349,6 +1385,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1721,6 +1760,72 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1790,6 +1895,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1808,6 +1916,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1916,6 +2027,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1997,6 +2111,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2234,6 +2351,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2453,10 +2573,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2486,6 +2606,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2663,6 +2786,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2702,6 +2828,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2984,9 +3131,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3116,6 +3260,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3335,6 +3482,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3455,6 +3605,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3623,6 +3776,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3659,9 +3815,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3677,9 +3830,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4130,9 +4280,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4520,6 +4667,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4826,6 +4979,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4922,6 +5084,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5351,18 +5519,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5510,9 +5693,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5525,6 +5714,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5534,18 +5726,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5567,9 +5753,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5585,12 +5768,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5606,22 +5801,22 @@ msgstr[2] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5630,16 +5825,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5660,16 +5864,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5924,7 +6128,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5939,6 +6143,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5996,6 +6203,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6101,6 +6311,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6122,6 +6335,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6479,6 +6695,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6851,6 +7070,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7004,6 +7226,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7523,9 +7748,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8147,9 +8369,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8159,6 +8378,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8210,6 +8432,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8264,6 +8489,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8273,9 +8501,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8417,6 +8642,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8621,12 +8849,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8696,9 +8930,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8738,6 +8969,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8747,7 +8981,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8771,6 +9005,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9146,7 +9386,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9158,12 +9401,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9452,10 +9701,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9497,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9512,6 +9764,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9542,7 +9797,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9569,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9608,16 +9869,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9629,9 +9890,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9656,9 +9923,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9695,7 +9959,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9704,7 +9968,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10046,9 +10310,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10493,6 +10754,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10571,6 +10835,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10838,15 +11105,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10910,6 +11174,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10949,6 +11216,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11060,6 +11330,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11126,6 +11399,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11474,15 +11750,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11504,10 +11780,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11561,6 +11837,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11951,6 +12230,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11963,6 +12245,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12299,9 +12584,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12452,9 +12734,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12485,6 +12764,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12749,6 +13031,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12902,6 +13187,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13010,12 +13301,15 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13046,9 +13340,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13127,6 +13418,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13574,10 +13868,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13637,6 +13931,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13775,15 +14072,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13907,6 +14195,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14078,6 +14369,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14180,9 +14474,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14285,6 +14576,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14336,6 +14630,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14357,6 +14654,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14390,6 +14690,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14399,6 +14705,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14417,12 +14726,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14459,6 +14774,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14474,6 +14792,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14567,6 +14888,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14582,9 +14906,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14615,7 +14936,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14696,9 +15017,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14708,6 +15026,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14786,15 +15107,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14816,10 +15128,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15050,6 +15365,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15095,6 +15413,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15212,7 +15533,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15233,10 +15554,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15269,6 +15590,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16097,6 +16421,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16160,6 +16487,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16379,13 +16709,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16571,6 +16901,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16595,6 +16928,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16796,6 +17132,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17174,9 +17513,30 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17282,7 +17642,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17468,6 +17828,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17537,6 +17900,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17585,6 +17951,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17639,6 +18008,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17723,12 +18095,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17786,6 +18164,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17939,12 +18320,6 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17957,6 +18332,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17984,184 +18362,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18173,6 +18599,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18578,9 +19007,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18665,6 +19091,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18980,6 +19409,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19121,6 +19553,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19406,6 +19841,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19529,6 +19967,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19538,18 +19979,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19607,6 +20060,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19955,6 +20414,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20108,6 +20573,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20417,6 +20885,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20738,6 +21209,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20753,7 +21227,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20816,6 +21290,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20852,6 +21329,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20993,6 +21473,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21191,7 +21677,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21221,10 +21710,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21257,7 +21746,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21326,6 +21815,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21512,7 +22004,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21719,7 +22211,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21881,6 +22373,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21974,6 +22469,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22919,6 +23417,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23096,6 +23597,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23126,6 +23636,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23159,7 +23672,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23213,9 +23729,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23321,15 +23843,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23360,9 +23873,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23546,6 +24056,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23741,6 +24254,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23807,6 +24323,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23888,6 +24407,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23972,9 +24494,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24071,6 +24605,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24110,6 +24647,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24128,12 +24668,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24173,7 +24719,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24251,6 +24797,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24419,6 +24968,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24620,6 +25175,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24785,9 +25343,6 @@ msgstr[2] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25124,6 +25679,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25178,6 +25736,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25208,6 +25769,12 @@ msgstr[2] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25355,12 +25922,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25415,6 +25976,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/hu_HU/gitlab.po b/locale/hu_HU/gitlab.po
index 7b057304d32..340f3e57d82 100644
--- a/locale/hu_HU/gitlab.po
+++ b/locale/hu_HU/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: hu\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:31\n"
+"PO-Revision-Date: 2020-05-05 21:13\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/id_ID/gitlab.po b/locale/id_ID/gitlab.po
index c0d87b0b2f7..0c3e1a9e5ed 100644
--- a/locale/id_ID/gitlab.po
+++ b/locale/id_ID/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: id\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:29\n"
+"PO-Revision-Date: 2020-05-05 21:34\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -182,6 +182,10 @@ msgid "%d tag"
msgid_plural "%d tags"
msgstr[0] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -335,6 +339,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -347,6 +354,10 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -464,6 +475,9 @@ msgstr[0] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -720,12 +734,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -759,6 +779,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -975,6 +998,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -984,6 +1013,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1225,6 +1257,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1595,6 +1630,72 @@ msgid "Alert"
msgid_plural "Alerts"
msgstr[0] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1664,6 +1765,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1682,6 +1786,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1790,6 +1897,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1871,6 +1981,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2108,6 +2221,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2319,10 +2435,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2352,6 +2468,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2527,6 +2646,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2564,6 +2686,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2846,9 +2989,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -2978,6 +3118,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3197,6 +3340,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3317,6 +3463,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3485,6 +3634,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3521,9 +3673,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3539,9 +3688,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -3992,9 +4138,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4382,6 +4525,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4688,6 +4837,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4784,6 +4942,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5211,18 +5375,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5370,9 +5549,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5385,6 +5570,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5394,18 +5582,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5427,9 +5609,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5445,12 +5624,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5464,22 +5655,22 @@ msgstr[0] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5488,16 +5679,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5518,16 +5718,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5782,7 +5982,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5797,6 +5997,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5854,6 +6057,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -5959,6 +6165,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -5980,6 +6189,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6335,6 +6547,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6695,6 +6910,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6848,6 +7066,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7365,9 +7586,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -7989,9 +8207,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8001,6 +8216,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8052,6 +8270,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8106,6 +8327,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8115,9 +8339,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8259,6 +8480,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8463,12 +8687,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8538,9 +8768,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8580,6 +8807,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8589,7 +8819,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8613,6 +8843,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -8988,7 +9224,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9000,12 +9239,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9294,10 +9539,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9339,6 +9584,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9354,6 +9602,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9384,7 +9635,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9411,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9450,16 +9707,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9471,9 +9728,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9498,9 +9761,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9537,7 +9797,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9546,7 +9806,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9888,9 +10148,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10335,6 +10592,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10413,6 +10673,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10676,15 +10939,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10748,6 +11008,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10787,6 +11050,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10898,6 +11164,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -10964,6 +11233,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11310,15 +11582,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11340,10 +11612,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11397,6 +11669,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11785,6 +12060,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11797,6 +12075,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12123,9 +12404,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12276,9 +12554,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12309,6 +12584,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12573,6 +12851,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12726,6 +13007,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12832,12 +13119,15 @@ msgid "Metrics|Edit metric"
msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12868,9 +13158,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -12949,6 +13236,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13392,10 +13682,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13455,6 +13745,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13593,15 +13886,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13725,6 +14009,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13896,6 +14183,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -13996,9 +14286,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14101,6 +14388,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14152,6 +14442,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14173,6 +14466,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14206,6 +14502,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14215,6 +14517,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14233,12 +14538,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14275,6 +14586,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14290,6 +14604,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14383,6 +14700,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14398,9 +14718,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14431,7 +14748,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14512,9 +14829,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14524,6 +14838,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14602,15 +14919,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14632,10 +14940,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14866,6 +15177,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -14911,6 +15225,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15028,7 +15345,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15049,10 +15366,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15085,6 +15402,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -15913,6 +16233,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -15976,6 +16299,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16195,13 +16521,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16387,6 +16713,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16411,6 +16740,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16610,6 +16942,9 @@ msgid "Refreshing in a second to show the updated status..."
msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -16986,9 +17321,28 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17094,7 +17448,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17276,6 +17630,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17343,6 +17700,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17391,6 +17751,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17445,6 +17808,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17529,12 +17895,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17592,6 +17964,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17729,10 +18104,6 @@ msgid "SearchResults|snippet"
msgid_plural "SearchResults|snippets"
msgstr[0] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17741,6 +18112,9 @@ msgid "SearchResults|wiki result"
msgid_plural "SearchResults|wiki results"
msgstr[0] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17768,184 +18142,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -17957,6 +18379,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18362,9 +18787,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18449,6 +18871,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18762,6 +19187,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -18903,6 +19331,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19188,6 +19619,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19311,6 +19745,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19320,18 +19757,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19389,6 +19838,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19737,6 +20192,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19890,6 +20351,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20193,6 +20657,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20514,6 +20981,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20529,7 +20999,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20592,6 +21062,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20628,6 +21101,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20769,6 +21245,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -20967,7 +21449,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -20997,10 +21482,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21033,7 +21518,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21102,6 +21587,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21284,7 +21772,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21491,7 +21979,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21653,6 +22141,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21746,6 +22237,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22687,6 +23181,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22864,6 +23361,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -22894,6 +23400,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -22927,7 +23436,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -22981,9 +23493,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23087,15 +23605,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23126,9 +23635,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23312,6 +23818,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23507,6 +24016,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23573,6 +24085,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23654,6 +24169,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23738,9 +24256,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23837,6 +24367,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23876,6 +24409,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -23894,12 +24430,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -23937,7 +24479,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24015,6 +24557,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24173,6 +24718,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24366,6 +24917,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24527,9 +25081,6 @@ msgstr[0] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24866,6 +25417,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -24916,6 +25470,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -24942,6 +25499,12 @@ msgstr[0] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25087,10 +25650,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25145,6 +25704,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/it/gitlab.po b/locale/it/gitlab.po
index 36aa6ef29f7..d7bd6b7ed4d 100644
--- a/locale/it/gitlab.po
+++ b/locale/it/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: it\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:27\n"
+"PO-Revision-Date: 2020-05-05 21:13\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText}, questo issue verrà chiuso automaticamente."
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "Avatar di %{name}"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind} commits precedenti %{default_branch}, %{number_commits_ahead} commits avanti"
@@ -506,6 +519,9 @@ msgstr[1] "%{text}%{files} file"
msgid "%{text} is available"
msgstr "%{text} è disponibile"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> Aggiun
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "Un ramo predefinito non può essere scelto per un progetto vuoto."
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Account"
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr "Errore durante il recupero dei dati della barra laterale"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "Ago"
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr "Tag"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr "Crea token d'accesso personale"
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr "Chiavi di Deploy (rilascio)"
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr "Esplora gruppi pubblici"
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr "Filtra per messaggio di commit"
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr "Importa repository"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "Notifica eventi"
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "Panoramica"
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr "Pianificazione multipla Pipeline"
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "Fallita:"
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr "Pianifica una nuova Pipeline"
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr "Ricerca branches e tags"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr "fa"
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr "Nuova richiesta di merge"
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/ja/gitlab.po b/locale/ja/gitlab.po
index 92cf1a5fcb4..defe692b907 100644
--- a/locale/ja/gitlab.po
+++ b/locale/ja/gitlab.po
@@ -12,10 +12,10 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: ja\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:28\n"
+"PO-Revision-Date: 2020-05-05 22:46\n"
msgid " %{start} to %{end}"
-msgstr ""
+msgstr " %{start} ã‹ã‚‰ %{end} "
msgid " (from %{timeoutSource})"
msgstr " (%{timeoutSource} ã‹ã‚‰)"
@@ -73,7 +73,7 @@ msgstr[0] ""
msgid "%d changed file"
msgid_plural "%d changed files"
-msgstr[0] ""
+msgstr[0] "%d 個ã®å¤‰æ›´ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«"
msgid "%d child epic"
msgid_plural "%d child epics"
@@ -180,6 +180,10 @@ msgstr[0] ""
msgid "%d tag"
msgid_plural "%d tags"
+msgstr[0] "%d ã‚¿ã‚°"
+
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
msgstr[0] ""
msgid "%d vulnerability dismissed"
@@ -276,7 +280,7 @@ msgid "%{firstLabel} +%{labelCount} more"
msgstr "%{firstLabel} +%{labelCount} ã®è©³ç´°"
msgid "%{global_id} is not a valid id for %{expected_type}."
-msgstr ""
+msgstr "%{global_id} 㯠%{expected_type} ã«ã¨ã£ã¦æœ‰åŠ¹ãªIDã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "%{group_docs_link_start}Groups%{group_docs_link_end} allow you to manage and collaborate across multiple projects. Members of a group have access to all of its projects."
msgstr "%{group_docs_link_start}グループ%{group_docs_link_end}を使用ã™ã‚‹ã¨ã€è¤‡æ•°ã®ãƒ—ロジェクトを管ç†ã—ã¦å…±åŒä½œæ¥­ã‚’è¡Œã†ã“ã¨ãŒã§ãã¾ã™ã€‚グループã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã€æ‰€å±žã™ã‚‹ãƒ—ロジェクトã®ã™ã¹ã¦ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚"
@@ -291,7 +295,7 @@ msgid "%{issuableType} will be removed! Are you sure?"
msgstr "%{issuableType}を削除ã—ã¾ã™ï¼ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
msgid "%{issuesSize} issues"
-msgstr ""
+msgstr "%{issuesSize} 件ã®èª²é¡Œ"
msgid "%{issuesSize} issues with a limit of %{maxIssueCount}"
msgstr ""
@@ -335,6 +339,9 @@ msgstr "%{mergeLength}/%{usersLength} 人ãŒãƒžãƒ¼ã‚¸ã§ãã¾ã™"
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText} ã€ã“ã®èª²é¡Œã¯è‡ªå‹•çš„ã«ã‚¯ãƒ­ãƒ¼ã‚ºã—ã¾ã™ã€‚"
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} ã«ã¯ %{resultsString} ãŒå«ã¾ã‚Œã¦ã„ã¾ã™"
@@ -347,6 +354,10 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "%{name}ã®ã‚¢ãƒã‚¿ãƒ¼"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{default_branch} ã‹ã‚‰ %{number_commits_behind} コミットé…ã‚Œã¦ã„ã¦ã€ %{number_commits_ahead} コミット進んã§ã„ã¾ã™ã€‚"
@@ -366,7 +377,7 @@ msgid "%{percent}%% complete"
msgstr "%{percent}%% 完了"
msgid "%{percent}%{percentSymbol} complete"
-msgstr ""
+msgstr "%{percent}%{percentSymbol} 完了"
msgid "%{placeholder} is not a valid color scheme"
msgstr ""
@@ -412,7 +423,7 @@ msgid "%{spanStart}in%{spanEnd} %{errorFn}"
msgstr ""
msgid "%{start} to %{end}"
-msgstr ""
+msgstr "%{start} ã‹ã‚‰ %{end} ã¾ã§"
msgid "%{state} epics"
msgstr "%{state}エピック"
@@ -446,13 +457,13 @@ msgid "%{tabname} changed"
msgstr "%{tabname} 変更ã•ã‚Œã¾ã—ãŸ"
msgid "%{tags} tag per image name"
-msgstr ""
+msgstr "ç”»åƒåã”ã¨ã«%{tags} tag"
msgid "%{tags} tags per image name"
-msgstr ""
+msgstr "ç”»åƒåã”ã¨ã«%{tags} tag"
msgid "%{tag}-%{evidence}-%{filename}"
-msgstr ""
+msgstr "%{tag}-%{evidence}-%{filename}"
msgid "%{template_project_id} is unknown or invalid"
msgstr "%{template_project_id} ã¯ä¸æ˜Žã€ã¾ãŸã¯ç„¡åŠ¹ã§ã™"
@@ -464,6 +475,9 @@ msgstr[0] "%{text} %{files} ファイル"
msgid "%{text} is available"
msgstr "%{text} ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -541,7 +555,7 @@ msgid "(revoked)"
msgstr ""
msgid "*"
-msgstr ""
+msgstr "*"
msgid "+ %{amount} more"
msgstr "+ %{amount} 件以上"
@@ -632,7 +646,7 @@ msgid_plural "%d minutes"
msgstr[0] "%d 分"
msgid "1 month"
-msgstr ""
+msgstr "1ヶ月"
msgid "1 open issue"
msgid_plural "%{issues} open issues"
@@ -720,12 +734,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> ã¯ã€
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> ã¯ã€johnsmith@example.com ãŒä½œæˆã—ãŸå…¨ã¦ã®èª²é¡Œã¨ã‚³ãƒ¡ãƒ³ãƒˆã« \"By <a href=\"#\">johnsmith@example.com</a>\" を追加ã—ã¾ã™ã€‚デフォルトã§ã€ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚„ユーザーåã‚’éš ã—ã¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãƒ—ライãƒã‚·ãƒ¼ã‚’ä¿è­·ã•ã‚Œã¾ã™ã€‚メールアドレスを全ã¦è¡¨ç¤ºã—ãŸã„å ´åˆã€ã“ã®æ–¹æ³•ã‚’指定ã—ã¦ãã ã•ã„。"
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<no name set>"
msgid "<no scopes selected>"
msgstr "<スコープãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "<strong>%{group_name}</strong> グループã®ãƒ¡ãƒ³ãƒãƒ¼"
@@ -757,6 +777,9 @@ msgid "A Let's Encrypt account will be configured for this GitLab installation u
msgstr "Let's Encryptアカウントをã“ã®GitLabインストール用ã«æ§‹æˆã™ã‚‹ãŸã‚ã«ã‚ãªãŸã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’使用ã—ã¾ã™ã€‚証明書ã®æœŸé™ãŒåˆ‡ã‚ŒãŸéš›ã€è­¦å‘Šãƒ¡ãƒ¼ãƒ«ãŒå±Šãã¾ã™ã€‚"
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
+msgstr "AWS Lambdaã€AWS API Gatewayã€ãŠã‚ˆã³GitLab Pagesを使用ã™ã‚‹åŸºæœ¬çš„ãªãƒšãƒ¼ã‚¸ã¨ã‚µãƒ¼ãƒãƒ¼ãƒ¬ã‚¹é–¢æ•°"
+
+msgid "A complete DevOps platform"
msgstr ""
msgid "A default branch cannot be chosen for an empty project."
@@ -772,7 +795,7 @@ msgid "A fork is a copy of a project.<br />Forking a repository allows you to ma
msgstr "フォークã¯ãƒ—ロジェクトã®ã‚³ãƒ”ーã§ã™ã€‚<br />リãƒã‚¸ãƒˆãƒªã‚’フォークã™ã‚‹ã¨ã€å…ƒã®ãƒ—ロジェクトã«å½±éŸ¿ã‚’与ãˆãšã«å¤‰æ›´ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "A group represents your organization in GitLab."
-msgstr ""
+msgstr "グループã¯GitLabã§ã®çµ„織を表ã—ã¾ã™ã€‚"
msgid "A member of the abuse team will review your report as soon as possible."
msgstr "ãŸã ã¡ã«ä¸æ­£åˆ©ç”¨å¯¾å¿œãƒãƒ¼ãƒ ãƒ¡ãƒ³ãƒãƒ¼ã§ã„ãŸã ã„ãŸãƒ¬ãƒãƒ¼ãƒˆã‚’æ‹èª­ã—å‚考ã«ã•ã›ã¦ã„ãŸã ãã¾ã™ã€‚"
@@ -790,7 +813,7 @@ msgid "A new Release %{tag} for %{name} was published. Visit the %{release_link_
msgstr "%{name} ã®æ–°ã—ã„リリース %{tag} ãŒå…¬é–‹ã•ã‚Œã¾ã—ãŸã€‚ 詳細ã«ã¤ã„ã¦ã¯ã€ %{release_link_start} リリースページ %{release_link_end} ã‚’ã”覧ãã ã•ã„。"
msgid "A new Release %{tag} for %{name} was published. Visit the Releases page to read more about it:"
-msgstr ""
+msgstr "%{name} ã®æ–°ã—ã„リリース %{tag} ãŒå…¬é–‹ã•ã‚Œã¾ã—ãŸã€‚ リリースページã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦è©³ç´°ã‚’確èªã—ã¦ãã ã•ã„:"
msgid "A new branch will be created in your fork and a new merge request will be started."
msgstr "フォークã«æ–°ã—ã„ブランãƒãŒä½œæˆã•ã‚Œã€æ–°ã—ã„マージリクエストãŒé–‹å§‹ã—ã¾ã™ã€‚"
@@ -975,6 +998,12 @@ msgstr "é™çš„オブジェクトトークンã¯ã€ (アーカイブã€ãƒ–ロブã
msgid "AccessTokens|reset it"
msgstr "リセット"
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -984,6 +1013,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "アカウント"
@@ -1015,7 +1047,7 @@ msgid "Active Sessions"
msgstr "アクティブ セッション"
msgid "Active Users:"
-msgstr ""
+msgstr "アクティブユーザー"
msgid "Activity"
msgstr "アクティビティー"
@@ -1169,7 +1201,7 @@ msgid "Add request manually"
msgstr "リクエストを手動ã§è¿½åŠ ã—ã¾ã™"
msgid "Add system hook"
-msgstr ""
+msgstr "システムフックã®è¿½åŠ "
msgid "Add to Slack"
msgstr "Slackã«è¿½åŠ "
@@ -1199,7 +1231,7 @@ msgid "Add variable"
msgstr ""
msgid "Add webhook"
-msgstr ""
+msgstr "Webhook ã®è¿½åŠ "
msgid "AddMember|No users specified."
msgstr "ユーザーãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。"
@@ -1225,6 +1257,9 @@ msgstr "課題をエピックã«è¿½åŠ ã—ã¾ã—ãŸã€‚"
msgid "Added at"
msgstr "追加日時: "
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr "ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®æ–°æ©Ÿèƒ½"
@@ -1274,7 +1309,7 @@ msgid "Admin mode disabled"
msgstr "管ç†ãƒ¢ãƒ¼ãƒ‰ç„¡åŠ¹"
msgid "Admin mode enabled"
-msgstr ""
+msgstr "管ç†ãƒ¢ãƒ¼ãƒ‰ã¯æœ‰åŠ¹ã§ã™"
msgid "Admin notes"
msgstr "管ç†è€…メモ"
@@ -1463,7 +1498,7 @@ msgid "AdminUsers|Cannot unblock LDAP blocked users"
msgstr "LDAP ã§ãƒ–ロックã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’ブロック解除ã§ãã¾ã›ã‚“"
msgid "AdminUsers|Deactivate"
-msgstr ""
+msgstr "無効ã«ã™ã‚‹"
msgid "AdminUsers|Deactivate User %{username}?"
msgstr "ユーザー %{username} ã‚’éžã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ã—ã¾ã™ã‹?"
@@ -1472,7 +1507,7 @@ msgid "AdminUsers|Deactivate user"
msgstr ""
msgid "AdminUsers|Deactivated"
-msgstr ""
+msgstr "無効ã«ã—ã¾ã—ãŸ"
msgid "AdminUsers|Deactivating a user has the following effects:"
msgstr "ユーザーã®éžã‚¢ã‚¯ãƒ†ã‚£ãƒ–化ã«ã¯æ¬¡ã®åŠ¹æžœãŒã‚ã‚Šã¾ã™:"
@@ -1559,7 +1594,7 @@ msgid "AdminUsers|User will not be able to login"
msgstr "ユーザーã¯ãƒ­ã‚°ã‚¤ãƒ³ã§ããªããªã‚Šã¾ã™"
msgid "AdminUsers|When the user logs back in, their account will reactivate as a fully active account"
-msgstr ""
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒå†ã³ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹ã¨ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯æœ‰åŠ¹ã«ãªã‚Šã¾ã™"
msgid "AdminUsers|Without projects"
msgstr "プロジェクトãªã—"
@@ -1595,6 +1630,72 @@ msgid "Alert"
msgid_plural "Alerts"
msgstr[0] "アラート"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr "アラートをå—ä¿¡ã™ã‚‹ãŸã‚ã®ã€ã“ã®ã‚¨ãƒ³ãƒ‰ãƒã‚¤ãƒ³ãƒˆã®è¨­å®šã® %{linkStart} 詳細をã¿ã‚‹ %{linkEnd}"
@@ -1656,7 +1757,7 @@ msgid "All merge request dependencies have been merged"
msgstr "ä¾å­˜ã™ã‚‹ã™ã¹ã¦ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒãƒžãƒ¼ã‚¸ã•ã‚Œã¾ã—ãŸ"
msgid "All paths are relative to the GitLab URL. Do not include %{relative_url_link_start}relative URL%{relative_url_link_end}."
-msgstr ""
+msgstr "ã™ã¹ã¦ã®ãƒ‘スã¯GitLab URL㮠相対パスã§ã™ã€‚ %{relative_url_link_start}相対URL%{relative_url_link_end}ã‚’å«ã‚ãªã„ã§ãã ã•ã„。"
msgid "All projects"
msgstr "ã™ã¹ã¦ã®ãƒ—ロジェクト"
@@ -1664,6 +1765,9 @@ msgstr "ã™ã¹ã¦ã®ãƒ—ロジェクト"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr "ã“ã®ãƒ—ロジェクト㧠%{linkStart} Auto DevOps %{linkEnd} ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ãŸã‚ã€ã™ã¹ã¦ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚¹ã‚­ãƒ£ãƒ³ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã¾ã™"
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼"
@@ -1682,6 +1786,9 @@ msgstr "グループオーナー㌠LDAP 関連ã®è¨­å®šã‚’管ç†ã§ãるよã†
msgid "Allow only the selected protocols to be used for Git access."
msgstr "é¸æŠžã—ãŸãƒ—ロトコルã®ã¿ã‚’ Git アクセスã«ä½¿ç”¨ã§ãるよã†ã«ã—ã¾ã™ã€‚"
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1790,6 +1897,9 @@ msgstr "æ–°ã—ã„ルールã®æ‰¿èªè€…ã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—
msgid "An error occurred fetching the dropdown data."
msgstr "ドロップダウンデータã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "Blobã®ãƒ—レビュー中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
@@ -1812,7 +1922,7 @@ msgid "An error occurred while checking group path"
msgstr "グループã®ãƒ‘スã®ãƒã‚§ãƒƒã‚¯ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
msgid "An error occurred while committing your changes."
-msgstr ""
+msgstr "変更ã®ã‚³ãƒŸãƒƒãƒˆä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "An error occurred while decoding the file."
msgstr ""
@@ -1871,6 +1981,9 @@ msgstr "プロジェクトã®ã‚ªãƒ¼ãƒˆã‚³ãƒ³ãƒ—リートå–得中ã«ã‚¨ãƒ©ãƒ¼ãŒ
msgid "An error occurred while fetching sidebar data"
msgstr "サイドãƒãƒ¼ã®ãƒ‡ãƒ¼ã‚¿å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr "サービスデスクアドレスã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
@@ -1953,7 +2066,7 @@ msgid "An error occurred while loading terraform report"
msgstr ""
msgid "An error occurred while loading the data. Please try again."
-msgstr ""
+msgstr "データ読ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "An error occurred while loading the file"
msgstr "ファイルã®èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
@@ -2028,7 +2141,7 @@ msgid "An error occurred while subscribing to notifications."
msgstr "通知ã®è³¼èª­ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "An error occurred while triggering the job."
-msgstr ""
+msgstr "ジョブã®ãƒˆãƒªã‚¬ãƒ¼ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "An error occurred while trying to run a new pipeline for this Merge Request."
msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãŸã‚ã«æ–°ã—ã„パイプラインを実行ã—よã†ã¨ã—ã¦ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
@@ -2108,6 +2221,9 @@ msgstr "スパム対策ã®æ¤œè¨¼"
msgid "Any"
msgstr "ä»»æ„ã®"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "ä»»æ„ã®ãƒ©ãƒ™ãƒ«"
@@ -2124,7 +2240,7 @@ msgid "Any encrypted tokens"
msgstr "æš—å·åŒ–済ã¿ãƒˆãƒ¼ã‚¯ãƒ³"
msgid "Any member with Developer or higher permissions to the project."
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトã®é–‹ç™ºè€…ã¾ãŸã¯ãれ以上ã®æ¨©é™ã‚’æŒã¤ãƒ¡ãƒ³ãƒãƒ¼ã€‚"
msgid "Any namespace"
msgstr "ä»»æ„ã®ãƒãƒ¼ãƒ ã‚¹ãƒšãƒ¼ã‚¹"
@@ -2148,7 +2264,7 @@ msgid "Append the comment with %{shrug}"
msgstr "コメントを %{shrug} ã«è¿½åŠ "
msgid "Append the comment with %{tableflip}"
-msgstr ""
+msgstr "コメントを%{tableflip} ã«è¿½åŠ ã—ã¾ã—ãŸ"
msgid "Application"
msgstr "アプリケーション"
@@ -2187,19 +2303,19 @@ msgid "Apply a label"
msgstr "ラベルをé©ç”¨"
msgid "Apply a template"
-msgstr ""
+msgstr "テンプレートをé©ç”¨"
msgid "Apply suggestion"
msgstr "æ案をé©ç”¨"
msgid "Apply template"
-msgstr ""
+msgstr "テンプレートをé©ç”¨"
msgid "Apply this approval rule to any branch or a specific protected branch."
msgstr ""
msgid "Applying a template will replace the existing issue description. Any changes you have made will be lost."
-msgstr ""
+msgstr "テンプレートをé©ç”¨ã™ã‚‹ã¨ã€æ—¢å­˜ã®èª²é¡Œã®èª¬æ˜ŽãŒç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚ è¡Œã£ãŸå¤‰æ›´ã¯ã™ã¹ã¦å¤±ã‚ã‚Œã¾ã™ã€‚"
msgid "Applying command"
msgstr "コマンドをé©ç”¨"
@@ -2266,13 +2382,13 @@ msgid "Approve a merge request"
msgstr "マージリクエストを承èªã™ã‚‹"
msgid "Approve the current merge request."
-msgstr ""
+msgstr "ç¾åœ¨ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’承èªã™ã‚‹ã€‚"
msgid "Approved by: "
msgstr ""
msgid "Approved the current merge request."
-msgstr ""
+msgstr "ç¾åœ¨ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯æ‰¿èªæ¸ˆã§ã™ã€‚"
msgid "Approver"
msgstr ""
@@ -2299,7 +2415,7 @@ msgid "Archived"
msgstr ""
msgid "Archived project! Repository and other project resources are read only"
-msgstr ""
+msgstr "アーカイブã•ã‚ŒãŸãƒ—ロジェクトã§ã™ã€‚リãƒã‚¸ãƒ‰ãƒªãŠã‚ˆã³ãã®ä»–ã®ãƒ—ロジェクトリソースã¯èª­ã¿å–り専用ã§ã™ã€‚"
msgid "Archived project! Repository and other project resources are read-only"
msgstr "ã“ã®ãƒ—ロジェクトã¯ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã•ã‚Œã¦ã„ã¾ã™ã€‚リãƒã‚¸ãƒˆãƒªãŠã‚ˆã³ãã®ä»–ã®ãƒ—ロジェクトリソースã¯èª­ã¿å–り専用ã§ã™"
@@ -2311,7 +2427,7 @@ msgid "Archiving the project will make it entirely read only. It is hidden from
msgstr ""
msgid "Are you setting up GitLab for a company?"
-msgstr ""
+msgstr "ä¼æ¥­å‘ã‘ã« GitLab をセットアップã—ã¦ã„ã¾ã™ã‹ï¼Ÿ"
msgid "Are you sure that you want to archive this project?"
msgstr "本当ã«ã“ã®ãƒ—ロジェクトをアーカイブã—ã¾ã™ã‹ï¼Ÿ"
@@ -2319,12 +2435,12 @@ msgstr "本当ã«ã“ã®ãƒ—ロジェクトをアーカイブã—ã¾ã™ã‹ï¼Ÿ"
msgid "Are you sure that you want to unarchive this project?"
msgstr "ã“ã®ãƒ—ロジェクトã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–を解除ã—ã¦ã‚ˆã‚ã—ã„ã§ã™ã‹?"
-msgid "Are you sure you want to cancel creating this comment?"
-msgstr "ã“ã®ã‚³ãƒ¡ãƒ³ãƒˆã®ä½œæˆã‚’キャンセルã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
-
msgid "Are you sure you want to cancel editing this comment?"
msgstr "ã“ã®ã‚³ãƒ¡ãƒ³ãƒˆã®ç·¨é›†ã‚’キャンセルã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
+msgid "Are you sure you want to close this blocked issue?"
+msgstr ""
+
msgid "Are you sure you want to delete %{name}?"
msgstr ""
@@ -2352,6 +2468,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "ã“ã®ãƒ“ルドを削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
@@ -2467,7 +2586,7 @@ msgid "Assets"
msgstr "アセット"
msgid "Assets:"
-msgstr ""
+msgstr "アセット:"
msgid "Assign"
msgstr "割り当ã¦"
@@ -2527,9 +2646,12 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr "ãã‚Œãžã‚Œã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’変更ã™ã‚‹ã«ã¯ã€CODEOWNERã®ãƒ«ãƒ¼ãƒ«ã«ä¸€è‡´ã™ã‚‹ã€å°‘ãªãã¨ã‚‚1åã®ã‚³ãƒ¼ãƒ‰æ‰€æœ‰è€…ã‹ã‚‰ã®æ‰¿èªãŒå¿…è¦ã§ã™ã€‚"
-msgid "At least one of group_id or project_id must be specified"
+msgid "At least one logging option is required to be enabled"
msgstr ""
+msgid "At least one of group_id or project_id must be specified"
+msgstr "group_id ã¾ãŸã¯ project_id ã‚’1ã¤ä»¥ä¸ŠæŒ‡å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
+
msgid "At risk"
msgstr ""
@@ -2553,15 +2675,36 @@ msgid "Audit Events is a way to keep track of important events that happened in
msgstr "監査イベントã¯ã€GitLab ã§ç™ºç”Ÿã—ãŸé‡è¦ãªã‚¤ãƒ™ãƒ³ãƒˆã‚’追跡ã—続ã‘る方法ã§ã™ã€‚"
msgid "AuditEvents|(removed)"
-msgstr ""
+msgstr "(削除済ã¿)"
msgid "AuditEvents|Action"
-msgstr ""
+msgstr "アクション"
msgid "AuditEvents|At"
msgstr ""
msgid "AuditEvents|Target"
+msgstr "ターゲット"
+
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
msgstr ""
msgid "Aug"
@@ -2646,7 +2789,7 @@ msgid "Auto License Compliance"
msgstr "自動ライセンスコンプライアンス"
msgid "Auto stop successfully canceled."
-msgstr ""
+msgstr "自動åœæ­¢æ©Ÿèƒ½ã‚’正常ã«ã‚­ãƒ£ãƒ³ã‚»ãƒ«ã—ã¾ã—ãŸã€‚"
msgid "Auto-cancel redundant, pending pipelines"
msgstr "冗長・ä¿ç•™ä¸­ã®ãƒ‘イプラインを自動キャンセル"
@@ -2775,7 +2918,7 @@ msgid "Badges|Link"
msgstr "リンク"
msgid "Badges|Name"
-msgstr ""
+msgstr "åå‰"
msgid "Badges|No badge image"
msgstr "ãƒãƒƒã‚¸ç”»åƒãªã—"
@@ -2846,9 +2989,6 @@ msgstr "Bamboo ã®ãƒ«ãƒ¼ãƒˆURL 例: https://bamboo.example.com"
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr "Bambooã§è‡ªå‹•ãƒªãƒ“ジョンラベリングã¨ãƒªãƒã‚¸ãƒˆãƒªãƒˆãƒªã‚¬ãƒ¼ã‚’設定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
-msgid "Batch operations"
-msgstr "ãƒãƒƒãƒå‡¦ç†"
-
msgid "BatchComments|Delete all pending comments"
msgstr "ä¿ç•™ä¸­ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’ã™ã¹ã¦å‰Šé™¤"
@@ -2880,10 +3020,10 @@ msgid "Billing"
msgstr "請求"
msgid "BillingPlans|%{group_name} is currently using the %{plan_name} plan."
-msgstr ""
+msgstr "%{group_name} ã®ç¾åœ¨ã®ãƒ—ラン㯠%{plan_name} ã§ã™ã€‚"
msgid "BillingPlans|@%{user_name} you are currently using the %{plan_name} plan."
-msgstr ""
+msgstr "@%{user_name} ã‚ãªãŸã®ç¾åœ¨ã®ãƒ—ランã¯%{plan_name} ã§ã™ã€‚"
msgid "BillingPlans|Congratulations, your new trial is activated"
msgstr "ãŠã‚ã§ã¨ã†ã”ã–ã„ã¾ã™ã€æ–°ã—ã„試用版ãŒæœ‰åŠ¹ã«ãªã‚Šã¾ã—ãŸ"
@@ -2913,10 +3053,10 @@ msgid "BillingPlans|To manage the plan for this group, visit the billing section
msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ—ランã®ç®¡ç†ã¯ã€%{parent_billing_page_link} ã®è«‹æ±‚ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’ã”覧ãã ã•ã„。"
msgid "BillingPlans|Your GitLab.com %{plan} trial will <strong>expire after %{expiration_date}</strong>. You can retain access to the %{plan} features by upgrading below."
-msgstr ""
+msgstr "GitLab.com ã® %{plan} ã®è©¦ç”¨ç‰ˆã¯ã€<strong>%{expiration_date}後ã«æœ‰åŠ¹æœŸé™ãŒåˆ‡ã‚Œã¾ã™</strong>。 以下をアップグレードã—ã¦ã€%{plan} ã®æ©Ÿèƒ½ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’ãã®ã¾ã¾ã«ã§ãã¾ã™ã€‚"
msgid "BillingPlans|Your GitLab.com trial expired on %{expiration_date}. You can restore access to the features at any time by upgrading below."
-msgstr ""
+msgstr "GitLab.com ã®è©¦ç”¨ç‰ˆã¯ %{expiration_date} ã«æœŸé™åˆ‡ã‚Œã«ãªã‚Šã¾ã—ãŸã€‚ 以下ã®ã‚¢ãƒƒãƒ—グレードã«ã‚ˆã‚Šã€ã„ã¤ã§ã‚‚ゴールド機能ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’復元ã§ãã¾ã™ã€‚"
msgid "BillingPlans|billed annually at %{price_per_year}"
msgstr ""
@@ -2955,10 +3095,10 @@ msgid "Blue helpers indicate an action to be taken."
msgstr "é’ã„ヘルパーã¯å–ã‚‹ã¹ã行動を示ã—ã¾ã™ã€‚"
msgid "Board name"
-msgstr ""
+msgstr "ボードå"
msgid "Board scope"
-msgstr ""
+msgstr "ボードスコープ"
msgid "Board scope affects which issues are displayed for anyone who visits this board"
msgstr ""
@@ -2978,11 +3118,14 @@ msgstr "デフォルトã®ãƒªã‚¹ãƒˆã‚»ãƒƒãƒˆã‹ã‚‰å§‹ã‚ã‚‹ã¨ã€ãƒœãƒ¼ãƒ‰ã‚’最
msgid "Boards"
msgstr "ボード"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
msgid "Boards|Edit board"
-msgstr ""
+msgstr "ボードを編集"
msgid "Boards|Expand"
msgstr ""
@@ -3012,7 +3155,7 @@ msgid "Branch not loaded - %{branchId}"
msgstr "%{branchId} ブランãƒã¯ãƒ­ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
msgid "Branch prefix"
-msgstr ""
+msgstr "ブランãƒãƒ—レフィックス"
msgid "BranchSwitcherPlaceholder|Search branches"
msgstr "ブランãƒã‚’検索"
@@ -3180,7 +3323,7 @@ msgid "Burndown chart"
msgstr "ãƒãƒ¼ãƒ³ãƒ€ã‚¦ãƒ³ãƒãƒ£ãƒ¼ãƒˆ"
msgid "BurndownChartLabel|Open issue weight"
-msgstr ""
+msgstr "課題ã®é‡ã¿ã‚’é–‹ã"
msgid "BurndownChartLabel|Open issues"
msgstr "未解決ã®èª²é¡Œ"
@@ -3197,6 +3340,9 @@ msgstr "EE版を購入"
msgid "Buy GitLab Enterprise Edition"
msgstr "GitLabエンタープライズエディションを購入"
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3204,7 +3350,7 @@ msgid "By default GitLab sends emails in HTML and plain text formats so mail cli
msgstr "デフォルトã§ã¯ã€GitLabã¯HTMLå½¢å¼ã¨ãƒ—レーンテキスト形å¼ã®ä¸¡ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã®ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã™ã€‚ãã®ãŸã‚ã€ãƒ¡ãƒ¼ãƒ«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¯ã©ã¡ã‚‰ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’表示ã™ã‚‹ã‹ã‚’é¸ã¹ã¾ã™ã€‚ã‚‚ã—プレーンテキスト形å¼ã ã‘ã§ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ãŸã„å ´åˆã¯ã€ã“ã®ã‚ªãƒ—ションを無効ã«ã—ã¾ã™"
msgid "By default, all projects and groups will use the global notifications setting."
-msgstr ""
+msgstr "デフォルトã§ã¯ã€ã™ã¹ã¦ã®ãƒ—ロジェクトã¨ã‚°ãƒ«ãƒ¼ãƒ—ã¯ã‚°ãƒ­ãƒ¼ãƒãƒ«é€šçŸ¥è¨­å®šã‚’使用ã—ã¾ã™ã€‚"
msgid "ByAuthor|by"
msgstr "作者"
@@ -3276,7 +3422,7 @@ msgid "CICD|You must add a %{kubernetes_cluster_link_start}Kubernetes cluster in
msgstr ""
msgid "CICD|group enabled"
-msgstr ""
+msgstr "グループã¯æœ‰åŠ¹ã§ã™"
msgid "CICD|instance enabled"
msgstr "インスタンスãŒæœ‰åŠ¹"
@@ -3317,6 +3463,9 @@ msgstr "グループ管ç†ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒãªã„ã¨ã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã¯
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr "カナリア"
@@ -3327,7 +3476,7 @@ msgid "Cancel"
msgstr "キャンセル"
msgid "Cancel running"
-msgstr ""
+msgstr "実行ã®ã‚­ãƒ£ãƒ³ã‚»ãƒ«"
msgid "Cancel this job"
msgstr "ã“ã®ã‚¸ãƒ§ãƒ–をキャンセルã™ã‚‹"
@@ -3438,7 +3587,7 @@ msgid "Change your password"
msgstr "パスワードを変更ã—ã¦ãã ã•ã„"
msgid "Change your password or recover your current one"
-msgstr ""
+msgstr "パスワードを変更ã™ã‚‹ã‹ã€ç¾åœ¨ã®ãƒ‘スワードを入力ã—ã¦ãã ã•ã„"
msgid "ChangeTypeActionLabel|Pick into branch"
msgstr "ピック先ブランãƒ:"
@@ -3483,6 +3632,9 @@ msgid "Changing a Release tag is only supported via Releases API. %{linkStart}Mo
msgstr ""
msgid "Changing group path can have unintended side effects."
+msgstr "グループã®ãƒ‘スを変更ã™ã‚‹ã¨ã€æ„図ã—ãªã„副作用ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚"
+
+msgid "Charts"
msgstr ""
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
@@ -3521,9 +3673,6 @@ msgstr "ã‚¿ã‚°"
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr "失敗"
-
msgid "ChatMessage|has failed"
msgstr "ã¯å¤±æ•—ã—ã¾ã—ãŸ"
@@ -3534,13 +3683,10 @@ msgid "ChatMessage|has passed with warnings"
msgstr ""
msgid "ChatMessage|in %{duration}"
-msgstr ""
+msgstr "%{duration} 中"
msgid "ChatMessage|in %{project_link}"
-msgstr ""
-
-msgid "ChatMessage|passed"
-msgstr ""
+msgstr "%{project_link} 中"
msgid "Check again"
msgstr "å†ãƒã‚§ãƒƒã‚¯"
@@ -3567,7 +3713,7 @@ msgid "Checking branch availability..."
msgstr "ブランãƒãŒåˆ©ç”¨å¯èƒ½ã‹ç¢ºèªã—ã¦ã„ã¾ã™â€¦"
msgid "Checking group path availability..."
-msgstr ""
+msgstr "グループパスãŒåˆ©ç”¨å¯èƒ½ã‹ç¢ºèªã—ã¦ã„ã¾ã™..."
msgid "Checking username availability..."
msgstr "ユーザーåãŒåˆ©ç”¨å¯èƒ½ã‹ç¢ºèªã—ã¦ã„ã¾ã™..."
@@ -3594,10 +3740,10 @@ msgid "Checkout|(x%{numberOfUsers})"
msgstr ""
msgid "Checkout|1. Your profile"
-msgstr ""
+msgstr "1. ã‚ãªãŸã®ãƒ—ロフィール"
msgid "Checkout|2. Checkout"
-msgstr ""
+msgstr "2. ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆ"
msgid "Checkout|3. Your GitLab group"
msgstr ""
@@ -3606,7 +3752,7 @@ msgid "Checkout|Billing address"
msgstr ""
msgid "Checkout|Checkout"
-msgstr ""
+msgstr "ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆ"
msgid "Checkout|City"
msgstr ""
@@ -3735,7 +3881,7 @@ msgid "Child"
msgstr ""
msgid "Child epic does not exist."
-msgstr ""
+msgstr "å­ã‚¨ãƒ”ックã¯å­˜åœ¨ã—ã¾ã›ã‚“。"
msgid "Child epic doesn't exist."
msgstr ""
@@ -3756,7 +3902,7 @@ msgid "Choose a group"
msgstr "グループをé¸æŠž"
msgid "Choose a role permission"
-msgstr ""
+msgstr "役割(権é™)ã‚’é¸æŠžã—ã¦ãã ã•ã„"
msgid "Choose a template"
msgstr "テンプレートをé¸æŠžã—ã¦ãã ã•ã„"
@@ -3963,7 +4109,7 @@ msgid "Clear"
msgstr "クリア"
msgid "Clear chart filters"
-msgstr ""
+msgstr "ãƒãƒ£ãƒ¼ãƒˆãƒ•ã‚£ãƒ«ã‚¿ãƒ¼ã‚’解除"
msgid "Clear input"
msgstr "入力をクリア"
@@ -3992,9 +4138,6 @@ msgstr "ウェイトをクリアã—ã¾ã™ã€‚"
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "プロジェクトリストã§<strong>プロジェクトå</strong>をクリックã™ã‚‹ã¨ã€ãƒ—ロジェクトã®ãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³ã«ç§»å‹•ã—ã¾ã™ã€‚"
-msgid "Click here"
-msgstr "ã“ã“をクリックã—ã¦ä¸‹ã•ã„"
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "<strong>ダウンロード</strong> ボタンをクリックã—ã€ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã®å®Œäº†ã‚’ãŠå¾…ã¡ãã ã•ã„。"
@@ -4329,7 +4472,7 @@ msgid "ClusterIntegration|Did you know?"
msgstr "ã”存知ã§ã™ã‹ï¼Ÿ"
msgid "ClusterIntegration|Elastic Kubernetes Service"
-msgstr ""
+msgstr "Elastic Kubernetes サービス"
msgid "ClusterIntegration|Elastic Stack"
msgstr ""
@@ -4347,7 +4490,7 @@ msgid "ClusterIntegration|Enabled stack"
msgstr ""
msgid "ClusterIntegration|Enter the details for your Amazon EKS Kubernetes cluster"
-msgstr ""
+msgstr "Amazon EKS Kubernetes クラスタã®è©³ç´°ã‚’入力ã—ã¦ãã ã•ã„"
msgid "ClusterIntegration|Enter the details for your Kubernetes cluster"
msgstr "Kubernetes クラスターã®è©³ç´°ã‚’入力ã—ã¦ãã ã•ã„"
@@ -4382,6 +4525,12 @@ msgstr "プロジェクトをå–得中"
msgid "ClusterIntegration|Fetching zones"
msgstr "ゾーンをå–得中"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "GitLabã‚’çµ±åˆ"
@@ -4467,10 +4616,10 @@ msgid "ClusterIntegration|JupyterHub"
msgstr "JupyterHub"
msgid "ClusterIntegration|JupyterHub, a multi-user Hub, spawns, manages, and proxies multiple instances of the single-user Jupyter notebook server. JupyterHub can be used to serve notebooks to a class of students, a corporate data science group, or a scientific research group."
-msgstr ""
+msgstr "マルãƒãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒãƒ–JupyterHubã¯ã€ã‚·ãƒ³ã‚°ãƒ«ãƒ¦ãƒ¼ã‚¶ãƒ¼Jupyterノートブックサーãƒãƒ¼ã®è¤‡æ•°ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’生æˆã€ç®¡ç†ã€ãŠã‚ˆã³ãƒ—ロキシã—ã¾ã™ã€‚ JupyterHubã¯ã€å­¦ç”Ÿã®ã‚¯ãƒ©ã‚¹ã€ä¼æ¥­ãƒ‡ãƒ¼ã‚¿ç§‘学グループã€ã¾ãŸã¯ç§‘学研究グループã«ãƒŽãƒ¼ãƒˆãƒ–ックをæä¾›ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã§ãã¾ã™ã€‚"
msgid "ClusterIntegration|Key pair name"
-msgstr ""
+msgstr "キーペアå"
msgid "ClusterIntegration|Knative"
msgstr "Knative"
@@ -4485,7 +4634,7 @@ msgid "ClusterIntegration|Knative domain name was updated successfully."
msgstr "Knativeドメインåを正常ã«æ›´æ–°ã—ã¾ã—ãŸã€‚"
msgid "ClusterIntegration|Knative extends Kubernetes to provide a set of middleware components that are essential to build modern, source-centric, and container-based applications that can run anywhere: on premises, in the cloud, or even in a third-party data center."
-msgstr ""
+msgstr "Knativeã¯Kubernetesã‚’æ‹¡å¼µã—ã¦ã€ã‚ªãƒ³ãƒ—レミスã€ã‚¯ãƒ©ã‚¦ãƒ‰ã€ã•ã‚‰ã«ã¯ã‚µãƒ¼ãƒ‰ãƒ‘ーティã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒ³ã‚¿ãƒ¼ãªã©ã€ã©ã“ã§ã‚‚実行å¯èƒ½ãªæœ€æ–°ã®ã‚½ãƒ¼ã‚¹ä¸­å¿ƒã®ã‚³ãƒ³ãƒ†ãƒŠãƒ™ãƒ¼ã‚¹ã®ã‚¢ãƒ—リケーションを構築ã™ã‚‹ãŸã‚ã«ä¸å¯æ¬ ãªãƒŸãƒ‰ãƒ«ã‚¦ã‚§ã‚¢ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®ã‚»ãƒƒãƒˆã‚’æä¾›ã—ã¾ã™ã€‚"
msgid "ClusterIntegration|Kubernetes cluster"
msgstr "Kubernetes クラスター"
@@ -4509,7 +4658,7 @@ msgid "ClusterIntegration|Kubernetes version"
msgstr "Kubernetesãƒãƒ¼ã‚¸ãƒ§ãƒ³"
msgid "ClusterIntegration|Kubernetes version not found"
-msgstr ""
+msgstr "Kubernetes ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
msgid "ClusterIntegration|Learn more about %{help_link_start_machine_type}machine types%{help_link_end} and %{help_link_start_pricing}pricing%{help_link_end}."
msgstr "%{help_link_start_machine_type}マシンタイプ%{help_link_end}ã¨%{help_link_start_pricing}価格%{help_link_end}ã®è©³ç´°ã€‚"
@@ -4533,7 +4682,7 @@ msgid "ClusterIntegration|Let's Encrypt"
msgstr "Let's Encrypt"
msgid "ClusterIntegration|Loading IAM Roles"
-msgstr ""
+msgstr "IAMロールã®ãƒ­ãƒ¼ãƒ‰"
msgid "ClusterIntegration|Loading Key Pairs"
msgstr "キーペアをロード"
@@ -4623,7 +4772,7 @@ msgid "ClusterIntegration|Please make sure that your Google account meets the fo
msgstr "Google アカウントãŒæ¬¡ã®è¦ä»¶ã‚’満ãŸã—ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "ClusterIntegration|Point a wildcard DNS to this generated endpoint in order to access your application after it has been deployed."
-msgstr ""
+msgstr "デプロイ完了後ã«ã‚ãªãŸã®ã‚¢ãƒ—リケーションã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ç‚ºã«ã€ç”Ÿæˆã•ã‚ŒãŸã‚¨ãƒ³ãƒ‰ãƒã‚¤ãƒ³ãƒˆã‚’ワイルドカードDNSã«æŒ‡å®šã—ã¾ã™ã€‚"
msgid "ClusterIntegration|Project cluster"
msgstr "プロジェクトクラスター"
@@ -4650,7 +4799,7 @@ msgid "ClusterIntegration|RBAC-enabled cluster"
msgstr "RBAC 有効クラスター"
msgid "ClusterIntegration|Read our %{link_start}help page%{link_end} on Kubernetes cluster integration."
-msgstr ""
+msgstr "çµ±åˆKubernetesクラスターã«ã¤ã„ã¦ã¯ã€%{link_start}ヘルプページ%{link_end}ã‚’ã”覧ãã ã•ã„。"
msgid "ClusterIntegration|Real-time web application monitoring, logging and access control. %{linkStart}More information%{linkEnd}"
msgstr ""
@@ -4688,6 +4837,15 @@ msgstr "インストール開始ã«å¤±æ•—ã—ã¾ã—ãŸ"
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr "アンインストールã®é–‹å§‹è¦æ±‚ã«å¤±æ•—ã—ã¾ã—ãŸ"
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "変更をä¿å­˜"
@@ -4784,6 +4942,12 @@ msgstr "ゾーンをé¸æŠž"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "ゾーンをé¸æŠžã—ã¦ãƒžã‚·ãƒ³ã‚¿ã‚¤ãƒ—ã‚’é¸æŠž"
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr "サービストークン"
@@ -4839,10 +5003,10 @@ msgid "ClusterIntegration|The associated IP and all deployed services will be de
msgstr ""
msgid "ClusterIntegration|The associated Tiller pod, the %{gitlabManagedAppsNamespace} namespace, and all of its resources will be deleted and cannot be restored."
-msgstr ""
+msgstr "関連付ã‘られã¦ã„ã‚‹Tillerãƒãƒƒãƒ‰ã€ %{gitlabManagedAppsNamespace} åå‰ç©ºé–“ã€ãŠã‚ˆã³ãã®ã™ã¹ã¦ã®ãƒªã‚½ãƒ¼ã‚¹ã¯å‰Šé™¤ã•ã‚Œã¾ã™ã€‚復元ã¯ã§ãã¾ã›ã‚“。"
msgid "ClusterIntegration|The associated load balancer and IP will be deleted and cannot be restored."
-msgstr ""
+msgstr "関連ã™ã‚‹ãƒ­ãƒ¼ãƒ‰ãƒãƒ©ãƒ³ã‚µãƒ¼ã¨IPã¯å‰Šé™¤ã•ã‚Œã€å¾©å…ƒã§ãã¾ã›ã‚“。"
msgid "ClusterIntegration|The associated private key will be deleted and cannot be restored."
msgstr ""
@@ -4851,13 +5015,13 @@ msgid "ClusterIntegration|The elastic stack collects logs from all pods in your
msgstr ""
msgid "ClusterIntegration|The endpoint is in the process of being assigned. Please check your Kubernetes cluster or Quotas on Google Kubernetes Engine if it takes a long time."
-msgstr ""
+msgstr "ã“ã®ã‚¨ãƒ³ãƒ‰ãƒã‚¤ãƒ³ãƒˆã¯å‰²ã‚Šå½“ã¦ãƒ—ロセス実施中ã§ã™ã€‚ã‚‚ã—処ç†æ™‚é–“ãŒé•·ã„å ´åˆã€ã‚ãªãŸã®Kubernetesクラスタã¾ãŸã¯Google Kubernetes Engineã®ã‚¯ã‚©ãƒ¼ã‚¿ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "ClusterIntegration|The namespace associated with your project. This will be used for deploy boards, logs, and Web terminals."
msgstr ""
msgid "ClusterIntegration|There was a problem authenticating with your cluster. Please ensure your CA Certificate and Token are valid."
-msgstr ""
+msgstr "クラスターã¨ã®èªè¨¼ã«å•é¡ŒãŒã‚ã‚Šã¾ã—ãŸã€‚ CA証明書ã¨ãƒˆãƒ¼ã‚¯ãƒ³ãŒæœ‰åŠ¹ã§ã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below"
msgstr "ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ %{link_to_container_project} 㧠Kubernetes クラスターを作æˆã™ã‚‹ã®ã«ä»¥ä¸‹ã®æ¨©é™ãŒå¿…è¦ã§ã™"
@@ -4866,7 +5030,7 @@ msgid "ClusterIntegration|This option will allow you to install applications on
msgstr "ã“ã®ã‚ªãƒ—ションを使用ã™ã‚‹ã¨ã€ã‚ãªãŸã¯ã‚¢ãƒ—リケーションを RBAC クラスター上ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã§ãã¾ã™ã€‚"
msgid "ClusterIntegration|To access your application after deployment, point a wildcard DNS to the Knative Endpoint."
-msgstr ""
+msgstr "デプロイ後ã«ã‚¢ãƒ—リケーションã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯ã€ãƒ¯ã‚¤ãƒ«ãƒ‰ã‚«ãƒ¼ãƒ‰ DNS ã‚’ Knative エンドãƒã‚¤ãƒ³ãƒˆã«æŒ‡å®šã—ã¾ã™ã€‚"
msgid "ClusterIntegration|To remove your integration and resources, type %{clusterName} to confirm:"
msgstr ""
@@ -4878,7 +5042,7 @@ msgid "ClusterIntegration|Toggle Kubernetes cluster"
msgstr "Kubernetes クラスターを切り替ãˆ"
msgid "ClusterIntegration|Uninstall %{appTitle}"
-msgstr ""
+msgstr "%{appTitle} をアンインストール"
msgid "ClusterIntegration|Update failed. Please check the logs and try again."
msgstr "æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ログを確èªã—ã¦ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。"
@@ -4971,7 +5135,7 @@ msgid "ClusterIntergation|Select a subnetwork"
msgstr ""
msgid "ClusterIntergation|Select an instance type"
-msgstr ""
+msgstr "インスタンスタイプをé¸æŠž"
msgid "ClusterIntergation|Select key pair"
msgstr "キーペアをé¸æŠž"
@@ -5010,19 +5174,19 @@ msgid "Cohorts"
msgstr "コホート"
msgid "Cohorts|Inactive users"
-msgstr ""
+msgstr "アクティブã§ã¯ãªã„ユーザー"
msgid "Cohorts|Month %{month_index}"
-msgstr ""
+msgstr "%{month_index} 月 "
msgid "Cohorts|New users"
-msgstr ""
+msgstr "æ–°è¦ãƒ¦ãƒ¼ã‚¶ãƒ¼"
msgid "Cohorts|Registration month"
-msgstr ""
+msgstr "登録月"
msgid "Cohorts|Returning users"
-msgstr ""
+msgstr "継続利用ユーザー"
msgid "Cohorts|User cohorts are shown for the last %{months_included} months. Only users with activity are counted in the 'New users' column; inactive users are counted separately."
msgstr ""
@@ -5067,10 +5231,10 @@ msgid "Comment & reopen %{noteable_name}"
msgstr "コメントã—ã¦å†é–‹ %{noteable_name}"
msgid "Comment & resolve thread"
-msgstr ""
+msgstr "コメントã—ã¦ã€ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’解決ã™ã‚‹"
msgid "Comment & unresolve thread"
-msgstr ""
+msgstr "コメントã—ã¦ã€ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’未解決ã«ã™ã‚‹"
msgid "Comment '%{label}' position"
msgstr ""
@@ -5082,7 +5246,7 @@ msgid "Comment is being updated"
msgstr "コメントãŒæ›´æ–°ã•ã‚Œã¦ã„ã¾ã™"
msgid "Comment/Reply (quoting selected text)"
-msgstr ""
+msgstr "コメント/返信 (é¸æŠžã—ãŸãƒ†ã‚­ã‚¹ãƒˆã‚’引用ã—ã¾ã™)"
msgid "Comments"
msgstr "コメント"
@@ -5095,7 +5259,7 @@ msgid "Commit %{commit_id}"
msgstr "コミット %{commit_id}"
msgid "Commit (when editing commit message)"
-msgstr ""
+msgstr "コミット(コミットメッセージã®ç·¨é›†æ™‚)"
msgid "Commit Message"
msgstr "コミットメッセージ"
@@ -5161,7 +5325,7 @@ msgid "Company"
msgstr "会社"
msgid "Company name"
-msgstr ""
+msgstr "会社å"
msgid "Compare"
msgstr "比較"
@@ -5182,7 +5346,7 @@ msgid "Compare changes with the merge request target branch"
msgstr "マージリクエストã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ–ランãƒã¨ã®å¤‰æ›´ã‚’比較ã™ã‚‹"
msgid "Compare with previous version"
-msgstr ""
+msgstr "以å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨æ¯”較"
msgid "CompareBranches|%{source_branch} and %{target_branch} are the same."
msgstr "%{source_branch} 㨠%{target_branch} ã¯ä¸€è‡´ã—ã¾ã™ã€‚"
@@ -5211,18 +5375,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5239,7 +5418,7 @@ msgid "Configuration"
msgstr "設定"
msgid "Configure GitLab runners to start using the Web Terminal. %{helpStart}Learn more.%{helpEnd}"
-msgstr ""
+msgstr "GitLab Runner を設定ã—ã¦Web端末を使ã„始ã‚ã¾ã™ã€‚ 詳細ã¯%{helpStart} ã“ã¡ã‚‰%{helpEnd}ã‚’å‚照。"
msgid "Configure Gitaly timeouts."
msgstr "Gitaly ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’設定ã—ã¾ã™ã€‚"
@@ -5263,7 +5442,7 @@ msgid "Configure automatic git checks and housekeeping on repositories."
msgstr "リãƒã‚¸ãƒˆãƒªã«å¯¾ã—ã¦è‡ªå‹•å®Ÿè¡Œã™ã‚‹ Git ãƒã‚§ãƒƒã‚¯ã¨ãƒã‚¦ã‚¹ã‚­ãƒ¼ãƒ”ングを設定ã—ã¾ã™ã€‚"
msgid "Configure existing installation"
-msgstr ""
+msgstr "既存ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚’設定ã™ã‚‹"
msgid "Configure limit for issues created per minute by web and API requests."
msgstr ""
@@ -5272,7 +5451,7 @@ msgid "Configure limits for web and API requests."
msgstr "ウェブãŠã‚ˆã³APIリクエストã®åˆ¶é™ã‚’設定ã™ã‚‹ã€‚"
msgid "Configure limits on the number of inbound alerts able to be sent to a project."
-msgstr ""
+msgstr "プロジェクトã«é€ä¿¡ã§ãるインãƒã‚¦ãƒ³ãƒ‰ã‚¢ãƒ©ãƒ¼ãƒˆã®æ•°ã«åˆ¶é™ã‚’設定ã—ã¾ã™ã€‚"
msgid "Configure paths to be protected by Rack Attack."
msgstr ""
@@ -5302,7 +5481,7 @@ msgid "Confirmation required"
msgstr "確èªãŒå¿…è¦ã§ã™"
msgid "Congratulations! You have enabled Two-factor Authentication!"
-msgstr ""
+msgstr "ãŠã‚ã§ã¨ã†ã”ã–ã„ã¾ã™ã€‚2è¦ç´ èªè¨¼ãŒæœ‰åŠ¹ã«ãªã‚Šã¾ã—ãŸã€‚"
msgid "Connect"
msgstr "接続"
@@ -5323,7 +5502,7 @@ msgid "Connecting"
msgstr "接続中"
msgid "Connecting to terminal sync service"
-msgstr ""
+msgstr "ターミナルåŒæœŸã‚µãƒ¼ãƒ“スã«æŽ¥ç¶š"
msgid "Connecting..."
msgstr "接続ã—ã¦ã„ã¾ã™..."
@@ -5338,10 +5517,10 @@ msgid "Connection timed out"
msgstr ""
msgid "Contact an owner of group %{namespace_name} to upgrade the plan."
-msgstr ""
+msgstr "%{namespace_name} グループã®ã‚ªãƒ¼ãƒŠãƒ¼ã«é€£çµ¡ã—ã¦ã€ãƒ—ランをアップグレードã—ã¦ãã ã•ã„。"
msgid "Contact owner %{link_start}%{owner_name}%{link_end} to upgrade the plan."
-msgstr ""
+msgstr "オーナー㮠%{link_start}%{owner_name}%{link_end} ã«é€£çµ¡ã—ã¦ã€è¨ˆç”»ã‚’æ›´æ–°ã—ã¦ãã ã•ã„。"
msgid "Contact sales to upgrade"
msgstr "アップグレードã®å•ã„åˆã‚ã›"
@@ -5356,7 +5535,7 @@ msgid "Container Registry tag expiration policy"
msgstr ""
msgid "Container Scanning"
-msgstr ""
+msgstr "コンテナã®ã‚¹ã‚­ãƒ£ãƒ³"
msgid "Container does not exist"
msgstr ""
@@ -5370,9 +5549,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5385,17 +5570,17 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr "コンテナレジストリ"
-msgid "ContainerRegistry|Copy build command"
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
msgstr ""
+msgid "ContainerRegistry|Copy build command"
+msgstr "ビルドコマンドをコピー"
+
msgid "ContainerRegistry|Copy login command"
-msgstr ""
+msgstr "ログインコマンドã®ã‚³ãƒ”ー"
msgid "ContainerRegistry|Copy push command"
-msgstr ""
-
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
+msgstr "プッシュコマンドをコピー"
msgid "ContainerRegistry|Docker connection error"
msgstr "Docker接続エラー"
@@ -5403,9 +5588,6 @@ msgstr "Docker接続エラー"
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5425,10 +5607,7 @@ msgid "ContainerRegistry|If you are not already logged in, you need to authentic
msgstr ""
msgid "ContainerRegistry|Image ID"
-msgstr ""
-
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
+msgstr "イメージID"
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5445,41 +5624,53 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr "クイックスタート"
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "リãƒã‚¸ãƒˆãƒªã®å‰Šé™¤"
msgid "ContainerRegistry|Remove selected tags"
-msgstr ""
+msgstr "é¸æŠžã—ãŸã‚¿ã‚°ã®å‰Šé™¤"
msgid "ContainerRegistry|Remove tag"
msgid_plural "ContainerRegistry|Remove tags"
-msgstr[0] ""
+msgstr[0] "ã‚¿ã‚°ã®å‰Šé™¤"
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5488,16 +5679,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr "ã‚¿ã‚°"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5518,16 +5718,16 @@ msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã¯åˆ©ç”¨ã§ãるコンテナイメージãŒã‚ã‚Š
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr "ã“ã®ãƒ—ロジェクトã«ã¯ã‚³ãƒ³ãƒ†ãƒŠã‚¤ãƒ¡ãƒ¼ã‚¸ãŒä¿å­˜ã•ã‚Œã¦ã„ã¾ã›ã‚“"
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
-msgstr ""
+msgstr "ã“ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã«ã¯æœ‰åŠ¹ãªã‚¿ã‚°ãŒã‚ã‚Šã¾ã›ã‚“"
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5591,10 +5791,10 @@ msgid "ContributionAnalytics|Issues"
msgstr ""
msgid "ContributionAnalytics|Last 3 months"
-msgstr ""
+msgstr "éŽåŽ»3ã‹æœˆ"
msgid "ContributionAnalytics|Last month"
-msgstr ""
+msgstr "先月"
msgid "ContributionAnalytics|Last week"
msgstr ""
@@ -5666,16 +5866,16 @@ msgid "Copy %{proxy_url}"
msgstr "%{proxy_url} をコピー"
msgid "Copy Account ID to clipboard"
-msgstr ""
+msgstr "クリップボードã«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ ID をコピー"
msgid "Copy External ID to clipboard"
-msgstr ""
+msgstr "クリップボードã«å¤–部 ID をコピー"
msgid "Copy ID"
msgstr "IDをコピー"
msgid "Copy KRB5 clone URL"
-msgstr ""
+msgstr "KRB5用クローンURLをコピー"
msgid "Copy SSH clone URL"
msgstr "SSH 用クローン URL をコピー"
@@ -5708,7 +5908,7 @@ msgid "Copy file contents"
msgstr "ファイルã®å†…容をコピー"
msgid "Copy file path"
-msgstr ""
+msgstr "ファイルã®ãƒ‘スをコピー"
msgid "Copy impersonation token"
msgstr ""
@@ -5729,19 +5929,19 @@ msgid "Copy link to chart"
msgstr ""
msgid "Copy personal access token"
-msgstr ""
+msgstr "個人ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒˆãƒ¼ã‚¯ãƒ³ã‚’コピー"
msgid "Copy reference"
msgstr "å‚ç…§ã®ã‚³ãƒ”ー"
msgid "Copy secret"
-msgstr ""
+msgstr "秘密情報をコピー"
msgid "Copy token"
msgstr ""
msgid "Copy trigger token"
-msgstr ""
+msgstr "トリガートークンをコピー"
msgid "Copy value"
msgstr ""
@@ -5756,7 +5956,7 @@ msgid "Could not change HEAD: branch '%{branch}' does not exist"
msgstr "HEADを変更ã§ãã¾ã›ã‚“ã§ã—ãŸï¼š'%{branch}'ブランムãŒå­˜åœ¨ã—ã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "Could not connect to FogBugz, check your URL"
-msgstr ""
+msgstr "FogBugz ã«æŽ¥ç¶šã§ãã¾ã›ã‚“ã€URL を確èªã—ã¦ãã ã•ã„"
msgid "Could not connect to Sentry. Refresh the page to try again."
msgstr ""
@@ -5765,7 +5965,7 @@ msgid "Could not connect to Web IDE file mirror service."
msgstr ""
msgid "Could not create Wiki Repository at this time. Please try again later."
-msgstr ""
+msgstr "Wikiリãƒã‚¸ãƒˆãƒªã‚’作æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚後ã§ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "Could not create environment"
msgstr ""
@@ -5782,19 +5982,22 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr "ãƒãƒ£ãƒƒãƒˆã®ãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ  %{chat_name} を削除ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
msgstr "トリガーを除去ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "Could not restore the group"
-msgstr ""
+msgstr "グループをリストアã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgid "Could not revoke impersonation token %{token_name}."
msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
+msgstr "個人ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒˆãƒ¼ã‚¯ãƒ³ %{personal_access_token_name} を無効ã«ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
+
+msgid "Could not revoke project access token %{project_access_token_name}."
msgstr ""
msgid "Could not save group ID"
@@ -5804,7 +6007,7 @@ msgid "Could not save project ID"
msgstr "プロジェクトIDã‚’ä¿å­˜ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgid "Could not save prometheus manual configuration"
-msgstr ""
+msgstr "プロメテウスã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«è¨­å®šã‚’ä¿å­˜ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgid "Could not update the LDAP settings"
msgstr ""
@@ -5840,13 +6043,13 @@ msgid "Create a GitLab account first, and then connect it to your %{label} accou
msgstr "ã¯ã˜ã‚ã«GitLabアカウントを作æˆã—ã€ãã®å¾Œ %{label} ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«æŽ¥ç¶šã—ã¾ã™ã€‚"
msgid "Create a Mattermost team for this group"
-msgstr ""
+msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã® Mattermost ãƒãƒ¼ãƒ ã‚’作æˆã—ã¾ã™"
msgid "Create a group for your organization"
msgstr ""
msgid "Create a local proxy for storing frequently used upstream images. %{link_start}Learn more%{link_end} about dependency proxies."
-msgstr ""
+msgstr "é »ç¹ã«ä½¿ç”¨ã™ã‚‹ã‚¢ãƒƒãƒ—ストリームイメージをä¿å­˜ã™ã‚‹ãŸã‚ã€ãƒ­ãƒ¼ã‚«ãƒ«ãƒ—ロキシを作æˆã—ã¾ã™ã€‚ %{link_start}ä¾å­˜é–¢ä¿‚プロキシã«ã¤ã„ã¦ã¯ã“ã¡ã‚‰ã‚’å‚ç…§ã—ã¦ãã ã•ã„%{link_end}。"
msgid "Create a merge request"
msgstr "マージリクエストを作æˆ"
@@ -5854,9 +6057,12 @@ msgstr "マージリクエストを作æˆ"
msgid "Create a new branch"
msgstr "æ–°ã—ã„ブランãƒã‚’作æˆ"
-msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
+msgid "Create a new deploy key for this project"
msgstr ""
+msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
+msgstr "ã¾ã ãƒ•ã‚¡ã‚¤ãƒ«ãŒãªã„ãŸã‚ã€æ–°ã—ã„ファイルを作æˆã—ã¾ã™ã€‚ ãã®å¾Œã€ã‚ãªãŸã¯å¤‰æ›´ã‚’コミットã§ãã¾ã™ã€‚"
+
msgid "Create a new issue"
msgstr "課題ã®æ–°è¦ä½œæˆ"
@@ -5873,7 +6079,7 @@ msgid "Create an account using:"
msgstr ""
msgid "Create an issue"
-msgstr ""
+msgstr "課題を作æˆ"
msgid "Create an issue. Issues are created for each alert triggered."
msgstr "課題を作æˆã™ã‚‹ã€‚課題ã¯ç™ºç”Ÿã—ãŸå„アラート毎ã«ä½œæˆã•ã‚Œã¾ã™ã€‚"
@@ -5915,7 +6121,7 @@ msgid "Create group label"
msgstr "グループラベルを作æˆ"
msgid "Create issue"
-msgstr ""
+msgstr "課題ã®ä½œæˆ"
msgid "Create lists from labels. Issues with that label appear in that list."
msgstr "ラベルã‹ã‚‰ãƒªã‚¹ãƒˆã‚’作æˆã€‚ãã®ãƒ©ãƒ™ãƒ«ã®èª²é¡ŒãŒãƒªã‚¹ãƒˆã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚"
@@ -5959,6 +6165,9 @@ msgstr "プロジェクトラベルを作æˆ"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -5980,6 +6189,9 @@ msgstr "個人用アクセストークンを作æˆ"
msgid "Created"
msgstr "作æˆæ¸ˆã¿"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr "作æˆæ—¥"
@@ -6029,7 +6241,7 @@ msgid "Creation date"
msgstr "作æˆæ—¥æ™‚"
msgid "Credentials"
-msgstr ""
+msgstr "èªè¨¼æƒ…å ±"
msgid "CredentialsInventory|No credentials found"
msgstr ""
@@ -6041,7 +6253,7 @@ msgid "CredentialsInventory|SSH Keys"
msgstr ""
msgid "Critical vulnerabilities present"
-msgstr ""
+msgstr "é‡å¤§ãªè„†å¼±æ€§ã®å­˜åœ¨"
msgid "Cron Timezone"
msgstr "Cron ã®ã‚¿ã‚¤ãƒ ã‚¾ãƒ¼ãƒ³"
@@ -6071,7 +6283,7 @@ msgid "Current password"
msgstr "ç¾åœ¨ã®ãƒ‘スワード"
msgid "Current vulnerabilities count"
-msgstr ""
+msgstr "ç¾åœ¨ã®è„†å¼±æ€§ã‚«ã‚¦ãƒ³ãƒˆ"
msgid "CurrentUser|Buy CI minutes"
msgstr ""
@@ -6083,13 +6295,13 @@ msgid "CurrentUser|Settings"
msgstr "設定"
msgid "CurrentUser|Start a Gold trial"
-msgstr ""
+msgstr "Gold試用版を開始"
msgid "Custom CI configuration path"
-msgstr ""
+msgstr "カスタムCIã®è¨­å®šãƒ‘ス"
msgid "Custom Git clone URL for HTTP(S)"
-msgstr ""
+msgstr "HTTP(S) 用ã®ã‚«ã‚¹ã‚¿ãƒ  Git クローン URL"
msgid "Custom hostname (for private commit emails)"
msgstr "カスタムホストå (プライベートコミット用メールアドレス)"
@@ -6116,13 +6328,13 @@ msgid "CustomCycleAnalytics|Add stage"
msgstr "ステージを追加"
msgid "CustomCycleAnalytics|Editing stage"
-msgstr ""
+msgstr "ステージã®ç·¨é›†"
msgid "CustomCycleAnalytics|Enter a name for the stage"
msgstr ""
msgid "CustomCycleAnalytics|Name"
-msgstr ""
+msgstr "åå‰"
msgid "CustomCycleAnalytics|New stage"
msgstr ""
@@ -6140,40 +6352,40 @@ msgid "CustomCycleAnalytics|Stage name already exists"
msgstr ""
msgid "CustomCycleAnalytics|Start event"
-msgstr ""
+msgstr "開始イベント"
msgid "CustomCycleAnalytics|Start event changed, please select a valid stop event"
msgstr ""
msgid "CustomCycleAnalytics|Start event label"
-msgstr ""
+msgstr "開始イベントã®ãƒ©ãƒ™ãƒ«"
msgid "CustomCycleAnalytics|Stop event"
-msgstr ""
+msgstr "åœæ­¢ã‚¤ãƒ™ãƒ³ãƒˆ"
msgid "CustomCycleAnalytics|Stop event label"
-msgstr ""
+msgstr "åœæ­¢ã‚¤ãƒ™ãƒ³ãƒˆã®ãƒ©ãƒ™ãƒ«"
msgid "CustomCycleAnalytics|Update stage"
-msgstr ""
+msgstr "ステージã®æ›´æ–°"
msgid "Customize colors"
msgstr "カスタムカラー"
msgid "Customize how FogBugz email addresses and usernames are imported into GitLab. In the next step, you'll be able to select the projects you want to import."
-msgstr ""
+msgstr "FogBugz ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒ¦ãƒ¼ã‚¶åã‚’ GitLab ã«ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹æ–¹æ³•ã‚’カスタマイズã—ã¾ã™ã€‚次ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã¯ã€ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ãƒ—ロジェクトをé¸æŠžã—ã¾ã™ã€‚"
msgid "Customize how Google Code email addresses and usernames are imported into GitLab. In the next step, you'll be able to select the projects you want to import."
msgstr "Google Code ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒ¦ãƒ¼ã‚¶åã‚’ GitLab ã«ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹æ–¹æ³•ã‚’カスタマイズã—ã¾ã™ã€‚次ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã¯ã€ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ãƒ—ロジェクトをé¸æŠžã—ã¾ã™ã€‚"
msgid "Customize icon"
-msgstr ""
+msgstr "アイコンをカスタマイズã™ã‚‹"
msgid "Customize language and region related settings."
-msgstr ""
+msgstr "言語ã¨åœ°åŸŸã®è¨­å®šã‚’カスタマイズã—ã¾ã™ã€‚"
msgid "Customize name"
-msgstr ""
+msgstr "åå‰ã‚’カスタマイズ"
msgid "Customize your pipeline configuration, view your pipeline status and coverage report."
msgstr "Runner トークンã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã€ãƒ‘イプラインã®è¨­å®šã‚’カスタマイズã€ãã—ã¦ãƒ‘イプラインã®çŠ¶æ…‹ã¨ã‚«ãƒãƒ¬ãƒƒã‚¸ãƒ¬ãƒãƒ¼ãƒˆã‚’閲覧ã—ã¾ã™ã€‚"
@@ -6182,40 +6394,40 @@ msgid "Customize your pipeline configuration."
msgstr ""
msgid "CycleAnalyticsEvent|Issue closed"
-msgstr ""
+msgstr "完了ã—ãŸèª²é¡Œ"
msgid "CycleAnalyticsEvent|Issue created"
-msgstr ""
+msgstr "作æˆã•ã‚ŒãŸèª²é¡Œ"
msgid "CycleAnalyticsEvent|Issue first added to a board"
-msgstr ""
+msgstr "ボードã«æœ€åˆã«åŠ ãˆã‚‰ã‚ŒãŸèª²é¡Œ"
msgid "CycleAnalyticsEvent|Issue first associated with a milestone"
-msgstr ""
+msgstr "マイルストーンã«æœ€åˆã«é–¢é€£ä»˜ã‘られãŸèª²é¡Œ"
msgid "CycleAnalyticsEvent|Issue first associated with a milestone or issue first added to a board"
-msgstr ""
+msgstr "最åˆã«ãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³ã«é–¢é€£ã¥ã‘られãŸèª²é¡Œã€ã¾ãŸã¯æœ€åˆã«ãƒœãƒ¼ãƒ‰ã«åŠ ãˆã‚‰ã‚ŒãŸèª²é¡Œ"
msgid "CycleAnalyticsEvent|Issue first mentioned in a commit"
msgstr ""
msgid "CycleAnalyticsEvent|Issue label was added"
-msgstr ""
+msgstr "追加ã•ã‚ŒãŸèª²é¡Œãƒ©ãƒ™ãƒ«"
msgid "CycleAnalyticsEvent|Issue label was removed"
-msgstr ""
+msgstr "削除ã•ã‚ŒãŸèª²é¡Œãƒ©ãƒ™ãƒ«"
msgid "CycleAnalyticsEvent|Issue last edited"
-msgstr ""
+msgstr "最後ã«ç·¨é›†ã•ã‚ŒãŸèª²é¡Œ"
msgid "CycleAnalyticsEvent|Merge request closed"
-msgstr ""
+msgstr "クローズã—ãŸãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
msgid "CycleAnalyticsEvent|Merge request created"
-msgstr ""
+msgstr "作æˆã•ã‚ŒãŸãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
msgid "CycleAnalyticsEvent|Merge request first deployed to production"
-msgstr ""
+msgstr "最åˆã«è£½å“ã«ãƒ‡ãƒ—ロイã—ãŸãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
msgid "CycleAnalyticsEvent|Merge request label was added"
msgstr ""
@@ -6335,6 +6547,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6348,13 +6563,13 @@ msgid "DashboardProjects|Personal"
msgstr "個人"
msgid "DashboardProjects|Trending"
-msgstr ""
+msgstr "トレンド"
msgid "Dashboards"
msgstr "ダッシュボード"
msgid "Dashboard|%{firstProject} and %{secondProject}"
-msgstr ""
+msgstr "%{firstProject} 㨠%{secondProject}"
msgid "Dashboard|%{firstProject}, %{rest}, and %{secondProject}"
msgstr ""
@@ -6381,7 +6596,7 @@ msgid "DayTitle|F"
msgstr "金"
msgid "DayTitle|M"
-msgstr ""
+msgstr "月"
msgid "DayTitle|S"
msgstr ""
@@ -6420,7 +6635,7 @@ msgid "Default artifacts expiration"
msgstr "デフォルトã®ã‚¢ãƒ¼ãƒ†ã‚£ãƒ•ã‚¡ã‚¯ãƒˆã®æœ‰åŠ¹æœŸé™"
msgid "Default branch"
-msgstr ""
+msgstr "デフォルトブランãƒ"
msgid "Default branch and protected branches"
msgstr ""
@@ -6558,7 +6773,7 @@ msgid "Deleted"
msgstr "削除完了"
msgid "Deleted chat nickname: %{chat_name}!"
-msgstr ""
+msgstr "ãƒãƒ£ãƒƒãƒˆãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ ã‚’削除ã—ã¾ã—ãŸï¼š %{chat_name}ï¼"
msgid "Deleted in this version"
msgstr ""
@@ -6579,7 +6794,7 @@ msgid "Deletion pending. This project will be removed on %{date}. Repository and
msgstr ""
msgid "Denied authorization of chat nickname %{user_name}."
-msgstr ""
+msgstr "ãƒãƒ£ãƒƒãƒˆãƒ‹ãƒƒã‚¯ãƒãƒ¼ãƒ  %{user_name} ã®æ‰¿èªã‚’æ‹’å¦ã—ã¾ã—ãŸã€‚"
msgid "Deny"
msgstr "æ‹’å¦"
@@ -6618,7 +6833,7 @@ msgid "Dependencies|Component name"
msgstr "コンãƒãƒ¼ãƒãƒ³ãƒˆå"
msgid "Dependencies|Export as JSON"
-msgstr ""
+msgstr "JSONエクスãƒãƒ¼ãƒˆ"
msgid "Dependencies|Job failed to generate the dependency list"
msgstr ""
@@ -6627,7 +6842,7 @@ msgid "Dependencies|License"
msgstr ""
msgid "Dependencies|Location"
-msgstr ""
+msgstr "ロケーション"
msgid "Dependencies|Packager"
msgstr "パッケージャー"
@@ -6660,22 +6875,22 @@ msgid "Dependency List has no entries"
msgstr ""
msgid "Dependency Proxy"
-msgstr ""
+msgstr "ä¾å­˜é–¢ä¿‚プロキシ"
msgid "Dependency Scanning"
msgstr ""
msgid "Dependency proxy"
-msgstr ""
+msgstr "ä¾å­˜é–¢ä¿‚プロキシ"
msgid "Dependency proxy URL"
-msgstr ""
+msgstr "ä¾å­˜é–¢ä¿‚プロキシURL"
msgid "Dependency proxy feature is limited to public groups for now."
msgstr ""
msgid "DependencyProxy|Toggle Dependency Proxy"
-msgstr ""
+msgstr "ä¾å­˜é–¢ä¿‚プロキシã®åˆ‡ã‚Šæ›¿ãˆ"
msgid "Depends on %d merge request being merged"
msgid_plural "Depends on %d merge requests being merged"
@@ -6695,6 +6910,9 @@ msgstr "デプロイキー"
msgid "Deploy key was successfully updated."
msgstr "デプロイキーã¯æ­£å¸¸ã«æ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚"
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6848,6 +7066,9 @@ msgstr "デプロイ先"
msgid "Deploying to"
msgstr "デプロイ先"
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -6903,7 +7124,7 @@ msgid "Design Management files and data"
msgstr ""
msgid "DesignManagement|%{current_design} of %{designs_count}"
-msgstr ""
+msgstr "%{designs_count} / %{current_design}"
msgid "DesignManagement|%{filename} did not change."
msgstr ""
@@ -6951,7 +7172,7 @@ msgid "DesignManagement|Error uploading a new design. Please try again."
msgstr ""
msgid "DesignManagement|Go back to designs"
-msgstr ""
+msgstr "å…ƒã®ãƒ‡ã‚¶ã‚¤ãƒ³ã¸"
msgid "DesignManagement|Go to next design"
msgstr "次ã®ãƒ‡ã‚¶ã‚¤ãƒ³ã¸"
@@ -7044,13 +7265,13 @@ msgid "Disable shared Runners"
msgstr "共有 Runner を無効化"
msgid "Disable two-factor authentication"
-msgstr ""
+msgstr "2è¦ç´ èªè¨¼ã‚’無効ã«ã™ã‚‹"
msgid "Disabled"
msgstr "無効"
msgid "Disabled mirrors can only be enabled by instance owners. It is recommended that you delete them."
-msgstr ""
+msgstr "無効化ã•ã‚ŒãŸãƒŸãƒ©ãƒ¼ã¯ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹æ‰€æœ‰è€…ã ã‘ãŒæœ‰åŠ¹ã«ã§ãã¾ã™ã€‚削除ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚"
msgid "Discard all changes"
msgstr "ã™ã¹ã¦ã®å¤‰æ›´ã‚’破棄"
@@ -7365,9 +7586,6 @@ msgstr ""
msgid "Edit environment"
msgstr "環境を編集"
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr "ファイルã®ç·¨é›†"
@@ -7396,7 +7614,7 @@ msgid "Edit wiki page"
msgstr ""
msgid "Edit your most recent comment in a thread (from an empty textarea)"
-msgstr ""
+msgstr "スレッド内ã®æœ€æ–°ã®ã‚ãªãŸã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’編集 (空ã®ãƒ†ã‚­ã‚¹ãƒˆé ˜åŸŸã‹ã‚‰)"
msgid "Edited %{timeago}"
msgstr ""
@@ -7408,7 +7626,7 @@ msgid "Elasticsearch"
msgstr "Elasticsearch"
msgid "Elasticsearch AWS IAM credentials"
-msgstr ""
+msgstr "Elasticsearch AWS IAMèªè¨¼æƒ…å ±"
msgid "Elasticsearch indexing restrictions"
msgstr "Elasticsearchã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä½œæˆã®åˆ¶é™"
@@ -7438,7 +7656,7 @@ msgid "Email display name"
msgstr ""
msgid "Email not verified. Please verify your email in Salesforce."
-msgstr ""
+msgstr "メールãŒç¢ºèªã§ãã¦ã„ã¾ã›ã‚“。 Salesforce ã§ãƒ¡ãƒ¼ãƒ«ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "Email patch"
msgstr "パッãƒã‚’メールã™ã‚‹"
@@ -7459,13 +7677,13 @@ msgid "EmailError|The thread you are replying to no longer exists, perhaps it wa
msgstr "返信ã•ã‚ŒãŸã‚¹ãƒ¬ãƒƒãƒ‰ã¯æ—¢ã«å­˜åœ¨ã—ã¾ã›ã‚“。ãŠãらããã‚Œã¯å‰Šé™¤ã•ã‚ŒãŸã‚‚ã®ã¨æ€ã‚ã‚Œã¾ã™ã€‚ã“ã‚ŒãŒèª¤ã£ã¦ã„ã‚‹ã¨æ€ã‚れる場åˆã¯ã€ã‚¹ã‚¿ãƒƒãƒ•ãƒ¡ãƒ³ãƒãƒ¼ã«å•ã„åˆã‚ã›ã¦ãã ã•ã„。"
msgid "EmailError|We couldn't figure out what the email is for. Please create your issue or comment through the web interface."
-msgstr ""
+msgstr "é€ä¿¡ã•ã‚ŒãŸãƒ¡ãƒ¼ãƒ«ã‚’処ç†ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚Webインターフェース上ã‹ã‚‰èª²é¡Œã‚’作æˆã™ã‚‹ã‹ã€ã‚³ãƒ¡ãƒ³ãƒˆã‚’ã—ã¦ãã ã•ã„。"
msgid "EmailError|We couldn't figure out what the email is in reply to. Please create your comment through the web interface."
msgstr "メールãŒã©ã“ã¸ã®è¿”ä¿¡ã‹åˆ¤ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚ Webインターフェイス上ã‹ã‚‰ã‚³ãƒ¡ãƒ³ãƒˆã‚’作æˆã—ã¦ãã ã•ã„。"
msgid "EmailError|We couldn't figure out what user corresponds to the email. Please create your comment through the web interface."
-msgstr ""
+msgstr "ã©ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒ¡ãƒ¼ãƒ«ã«å¯¾å¿œã—ã¦ã„ã‚‹ã®ã‹æŠŠæ¡ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ Webインターフェイス上ã‹ã‚‰ã‚³ãƒ¡ãƒ³ãƒˆã‚’作æˆã—ã¦ãã ã•ã„。"
msgid "EmailError|We couldn't find the project. Please check if there's any typo."
msgstr "プロジェクトãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚入力ミスãŒãªã„ã‹ç¢ºèªã—ã¦ãã ã•ã„。"
@@ -7492,19 +7710,19 @@ msgid "Emails separated by comma"
msgstr "Eメール (コンマ区切り)"
msgid "EmailsOnPushService|Disable code diffs"
-msgstr ""
+msgstr "コード比較を無効ã«ã™ã‚‹"
msgid "EmailsOnPushService|Don't include possibly sensitive code diffs in notification body."
-msgstr ""
+msgstr "公開ã—ã¦ã¯ã„ã‘ãªã„コードã§ã‚ã‚‹å¯èƒ½æ€§ã‚’è¸ã¾ãˆã€ã‚³ãƒ¼ãƒ‰å·®åˆ†ã‚’通知ã®æœ¬æ–‡ã«å«ã‚ãªã„ã§ãã ã•ã„。"
msgid "EmailsOnPushService|Email the commits and diff of each push to a list of recipients."
msgstr ""
msgid "EmailsOnPushService|Emails on push"
-msgstr ""
+msgstr "プッシュ時ã®Eメール"
msgid "EmailsOnPushService|Emails separated by whitespace"
-msgstr ""
+msgstr "空白区切りã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹(複数)"
msgid "EmailsOnPushService|Send from committer"
msgstr "コミッターã‹ã‚‰é€ä¿¡ã™ã‚‹"
@@ -7531,7 +7749,7 @@ msgid "Enable Incident Management inbound alert limit"
msgstr ""
msgid "Enable PlantUML"
-msgstr ""
+msgstr "PlantUML を有効化"
msgid "Enable Pseudonymizer data collection"
msgstr "匿å化データã®åŽé›†ã‚’有効ã«ã—ã¾ã™"
@@ -7549,7 +7767,7 @@ msgid "Enable access to the Performance Bar for a given group."
msgstr "指定グループã®ãƒ‘フォーマンスãƒãƒ¼ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’有効ã«ã™ã‚‹ã€‚"
msgid "Enable and configure Grafana."
-msgstr ""
+msgstr "Grafana を有効ã«ã—ã¦æ§‹æˆã™ã‚‹ã€‚"
msgid "Enable and configure InfluxDB metrics."
msgstr "InfluxDB ã®ãƒ¡ãƒˆãƒªã‚¯ã‚¹ã‚’有効ã«ã—ã¦è¨­å®šã™ã‚‹ã€‚"
@@ -7624,7 +7842,7 @@ msgid "Enable usage ping to get an overview of how you are using GitLab from a f
msgstr "Ping ã®ä½¿ç”¨ã‚’有効ã«ã™ã‚‹ã¨ã€æ©Ÿèƒ½ãƒ‘ースペクティブã‹ã‚‰ GitLab ã‚’ã©ã®ã‚ˆã†ã«ä½¿ç”¨ã—ã¦ã„ã‚‹ã‹ã‚’知るã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "Enable/disable your service desk. %{link_start}Learn more about service desk%{link_end}."
-msgstr ""
+msgstr "サービスデスクを有効/無効ã«ã—ã¾ã™ã€‚ %{link_start}サービスデスクã®è©³ç´°ã«ã¤ã„ã¦%{link_end}"
msgid "EnableReviewApp|%{stepStart}Step 1%{stepEnd}. Ensure you have Kubernetes set up and have a base domain for your %{linkStart}cluster%{linkEnd}."
msgstr ""
@@ -7648,10 +7866,10 @@ msgid "Enabled Git access protocols"
msgstr ""
msgid "Enabled sources for code import during project creation. OmniAuth must be configured for GitHub"
-msgstr ""
+msgstr "プロジェクト作æˆä¸­ã®ã‚³ãƒ¼ãƒ‰ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«æœ‰åŠ¹ãªã‚½ãƒ¼ã‚¹ã€‚ OmniAuth 㯠GitHub 用ã«è¨­å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
msgid "Enabling this will only make licensed EE features available to projects if the project namespace's plan includes the feature or if the project is public."
-msgstr ""
+msgstr "ã“れを有効ã«ã™ã‚‹ã¨ã€ãƒ—ロジェクトåå‰ç©ºé–“ã®è¨ˆç”»ã«ãã®æ©Ÿèƒ½ãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€ã¾ãŸã¯ãƒ—ロジェクトãŒå…¬é–‹ã•ã‚Œã¦ã„ã‚‹å ´åˆã«ã®ã¿ã€ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã•ã‚ŒãŸEE機能ãŒãã®ãƒ—ロジェクトã§ä½¿ç”¨å¯èƒ½ã«ãªã‚Šã¾ã™ã€‚"
msgid "Encountered an error while rendering: %{err}"
msgstr ""
@@ -7747,7 +7965,7 @@ msgid "Environment variables are applied to environments via the runner. They ca
msgstr ""
msgid "Environment variables are configured by your administrator to be %{link_start}protected%{link_end} by default"
-msgstr ""
+msgstr "環境変数ã¯ã€ç®¡ç†è€…ã«ã‚ˆã£ã¦ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãŒ %{link_start}ä¿è­·%{link_end} ã«è¨­å®šã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "Environment:"
msgstr "環境:"
@@ -7786,16 +8004,16 @@ msgid "EnvironmentsDashboard|Job: %{job}"
msgstr "ジョブ: %{job}"
msgid "EnvironmentsDashboard|More actions"
-msgstr ""
+msgstr "追加ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³"
msgid "EnvironmentsDashboard|Read more."
msgstr ""
msgid "EnvironmentsDashboard|Remove"
-msgstr ""
+msgstr "削除"
msgid "EnvironmentsDashboard|The environments dashboard provides a summary of each project's environments' status, including pipeline and alert statuses."
-msgstr ""
+msgstr "環境情報ダッシュボードã¯å„プロジェクトã®ç’°å¢ƒæƒ…å ±(パイプラインやアラート状態å«ã‚€) を表示ã—ã¾ã™ã€‚"
msgid "EnvironmentsDashboard|This dashboard displays a maximum of 7 projects and 3 environments per project. %{readMoreLink}"
msgstr ""
@@ -7912,10 +8130,10 @@ msgid "Environments|Re-deploy"
msgstr "å†ãƒ‡ãƒ—ロイ"
msgid "Environments|Re-deploy environment %{environment_name}?"
-msgstr ""
+msgstr "環境 %{environment_name} å†ãƒ‡ãƒ—ロイã—ã¾ã™ã‹?"
msgid "Environments|Re-deploy environment %{name}?"
-msgstr ""
+msgstr "環境 %{name} å†ãƒ‡ãƒ—ロイã—ã¾ã™ã‹?"
msgid "Environments|Re-deploy to environment"
msgstr "環境ã«å†ãƒ‡ãƒ—ロイ"
@@ -7930,10 +8148,10 @@ msgid "Environments|Rollback environment"
msgstr "環境ã®ãƒ­ãƒ¼ãƒ«ãƒãƒƒã‚¯"
msgid "Environments|Rollback environment %{environment_name}?"
-msgstr ""
+msgstr "環境 %{environment_name} をロールãƒãƒƒã‚¯ã—ã¾ã™ã‹?"
msgid "Environments|Rollback environment %{name}?"
-msgstr ""
+msgstr "環境 %{name} をロールãƒãƒƒã‚¯ã—ã¾ã™ã‹?"
msgid "Environments|Select environment"
msgstr ""
@@ -7957,16 +8175,16 @@ msgid "Environments|There was an error fetching the logs. Please try again."
msgstr ""
msgid "Environments|This action will relaunch the job for commit %{commit_id}, putting the environment in a previous version. Are you sure you want to continue?"
-msgstr ""
+msgstr "ã“ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã¯ã‚³ãƒŸãƒƒãƒˆ %{commit_id} ã®ã‚¸ãƒ§ãƒ–ã‚’å†èµ·å‹•ã—ã€ç’°å¢ƒã‚’以å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã—ã¾ã™ã€‚本当ã«ç¶šã‘ã¾ã™ã‹ï¼Ÿ"
msgid "Environments|This action will relaunch the job for commit %{linkStart}%{commitId}%{linkEnd}, putting the environment in a previous version. Are you sure you want to continue?"
-msgstr ""
+msgstr "ã“ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã¯ã‚³ãƒŸãƒƒãƒˆ %{linkStart}%{commitId}%{linkEnd} ã®ã‚¸ãƒ§ãƒ–ã‚’å†èµ·å‹•ã—ã€ç’°å¢ƒã‚’以å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã—ã¾ã™ã€‚本当ã«ç¶šã‘ã¾ã™ã‹ï¼Ÿ"
msgid "Environments|This action will run the job defined by %{environment_name} for commit %{commit_id}, putting the environment in a previous version. You can revert it by re-deploying the latest version of your application. Are you sure you want to continue?"
msgstr ""
msgid "Environments|This action will run the job defined by %{name} for commit %{linkStart}%{commitId}%{linkEnd} putting the environment in a previous version. You can revert it by re-deploying the latest version of your application. Are you sure you want to continue?"
-msgstr ""
+msgstr "ã“ã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ã‚³ãƒŸãƒƒãƒˆ %{linkStart}%{commitId}%{linkEnd} ã«å¯¾ã—㦠%{name} ã§å®šç¾©ã•ã‚ŒãŸã‚¸ãƒ§ãƒ–を実行ã—ã¦ã€ç’°å¢ƒã‚’å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã—ã¾ã™ã€‚アプリケーションã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’å†ãƒ‡ãƒ—ロイã™ã‚‹ã“ã¨ã§ revert ã§ãã¾ã™ã€‚続ã‘ã¾ã™ã‹ï¼Ÿ"
msgid "Environments|Updated"
msgstr "更新済ã¿"
@@ -7989,9 +8207,6 @@ msgstr ""
msgid "Epics"
msgstr "エピック"
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr "エピック ロードマップ"
@@ -8001,6 +8216,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr "エピックを使用ã™ã‚‹ã¨ã€ãƒ—ロジェクトã®ãƒãƒ¼ãƒˆãƒ•ã‚©ãƒªã‚ªã‚’より効率的ã‹ã¤å°‘ãªã„労力ã§ç®¡ç†ã§ãã¾ã™"
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr "エピックを追加"
@@ -8052,6 +8270,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8062,7 +8283,7 @@ msgid "Epics|These dates affect how your epics appear in the roadmap. Dates from
msgstr "ã“れらã®æ—¥ä»˜ã¯ã€ã‚ãªãŸã®ã‚¨ãƒ”ックãŒãƒ­ãƒ¼ãƒ‰ãƒžãƒƒãƒ—ã«ã©ã®ã‚ˆã†ã«è¡¨ç¤ºã•ã‚Œã‚‹ã‹ã«å½±éŸ¿ã—ã¾ã™ã€‚マイルストーンã®æ—¥ä»˜ã¯ã€ã‚¨ãƒ”ックã®èª²é¡Œã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³ã«ç”±æ¥ã—ã¾ã™ã€‚日付を修正ã™ã‚‹ã“ã¨ã‚‚ã€å®Œå…¨ã«å‰Šé™¤ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"
msgid "Epics|This will also remove any descendents of %{bStart}%{targetEpicTitle}%{bEnd} from %{bStart}%{parentEpicTitle}%{bEnd}. Are you sure?"
-msgstr ""
+msgstr "%{bStart}%{parentEpicTitle}%{bEnd} ã‹ã‚‰ %{bStart}%{targetEpicTitle}%{bEnd} 以下ã®å…¨ã¦ã®èª²é¡Œã‚’削除ã—ã¾ã™ã€‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
msgid "Epics|To schedule your epic's %{epicDateType} date based on milestones, assign a milestone with a %{epicDateType} date to any issue in the epic."
msgstr "マイルストーンã«åŸºã¥ã„ãŸã‚¨ãƒ”ック㮠%{epicDateType} をスケジューリングã™ã‚‹ã«ã¯ã€ã‚¨ãƒ”ックã®èª²é¡Œã« %{epicDateType} ã®ãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³ã‚’割り当ã¦ã¾ã™ã€‚"
@@ -8089,7 +8310,7 @@ msgid "Error creating label."
msgstr ""
msgid "Error deleting %{issuableType}"
-msgstr ""
+msgstr "%{issuableType} ã®å‰Šé™¤ã‚¨ãƒ©ãƒ¼"
msgid "Error deleting project. Check logs for error details."
msgstr ""
@@ -8106,6 +8327,9 @@ msgstr "ラベルã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "Error fetching network graph."
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚°ãƒ©ãƒ•ã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8115,9 +8339,6 @@ msgstr "å‚ç…§ã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿ"
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr "Ping データå–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
-
msgid "Error loading branch data. Please try again."
msgstr "ブランムデータã®èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
@@ -8137,7 +8358,7 @@ msgid "Error loading last commit."
msgstr "ç›´è¿‘ã®ã‚³ãƒŸãƒƒãƒˆã®èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "Error loading markdown preview"
-msgstr ""
+msgstr "Markdown プレビューã®èª­ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼"
msgid "Error loading merge requests."
msgstr "マージリクエストをロード中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
@@ -8203,7 +8424,7 @@ msgid "Error setting up editor. Please try again."
msgstr ""
msgid "Error updating %{issuableType}"
-msgstr ""
+msgstr "%{issuableType} ã®æ›´æ–°ä¸­ã‚¨ãƒ©ãƒ¼"
msgid "Error updating status for all to-do items."
msgstr ""
@@ -8212,7 +8433,7 @@ msgid "Error updating status of to-do item."
msgstr ""
msgid "Error uploading file"
-msgstr ""
+msgstr "ファイルアップロードエラー"
msgid "Error uploading file: %{stripped}"
msgstr ""
@@ -8227,7 +8448,7 @@ msgid "Error while migrating %{upload_id}: %{error_message}"
msgstr ""
msgid "Error with Akismet. Please check the logs for more info."
-msgstr ""
+msgstr "Akismet ã§ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚詳細ã«ã¤ã„ã¦ã¯ãƒ­ã‚°ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "ErrorTracking|Active"
msgstr ""
@@ -8259,6 +8480,9 @@ msgstr "プロジェクトã®é¸æŠžã‚’有効ã«ã™ã‚‹ã«ã¯ã€æœ‰åŠ¹ãªèªè¨¼ãƒˆ
msgid "Errors"
msgstr "エラー"
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr "見ç©"
@@ -8299,7 +8523,7 @@ msgid "Events in %{project_path}"
msgstr ""
msgid "Every %{action} attempt has failed: %{job_error_message}. Please try again."
-msgstr ""
+msgstr "ã™ã¹ã¦ã® %{action} ãŒå¤±æ•—ã—ã¾ã—ãŸï¼š %{job_error_message}。もã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "Every day"
msgstr ""
@@ -8422,7 +8646,7 @@ msgid "Expiration policy for the Container Registry is a perfect solution for ke
msgstr ""
msgid "Expired"
-msgstr ""
+msgstr "有効期é™åˆ‡ã‚Œ"
msgid "Expired %{expiredOn}"
msgstr "%{expiredOn} ã«æœŸé™åˆ‡ã‚Œ"
@@ -8463,15 +8687,21 @@ msgstr "公開グループを検索"
msgid "Export as CSV"
msgstr "CSV å½¢å¼ã§ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ"
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr "課題をエクスãƒãƒ¼ãƒˆ"
msgid "Export project"
msgstr "プロジェクトã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆ"
-msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
msgstr ""
+msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
+msgstr "ã‚ãªãŸã®ãƒ—ロジェクトを新ã—ã„GitLabインスタンスã«ç§»å‹•ã™ã‚‹ãŸã‚ã«ã€ã“ã®ãƒ—ロジェクトã¨ãã®é–¢é€£ãƒ‡ãƒ¼ã‚¿ã™ã¹ã¦ã‚’ã¨å…±ã«ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã—ã¾ã™ã€‚エクスãƒãƒ¼ãƒˆãŒå®Œäº†ã—ãŸã‚‰ã€\"æ–°ã—ã„プロジェクト\"ページã‹ã‚‰ãƒ•ã‚¡ã‚¤ãƒ«ã‚’インãƒãƒ¼ãƒˆã§ãã¾ã™ã€‚"
+
msgid "Export variable to pipelines running on protected branches and tags only."
msgstr ""
@@ -8509,25 +8739,25 @@ msgid "ExternalAuthorizationService|When no classification label is set the defa
msgstr "ラベルãŒåˆ†é¡žã•ã‚Œã¦ã„ãªã„ã¨ãã¯ã€`%{default_label}` ãŒæ—¢å®šã®ãƒ©ãƒ™ãƒ«ã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚"
msgid "ExternalMetrics|Add a button to the metrics dashboard linking directly to your existing external dashboards."
-msgstr ""
+msgstr "既存ã®å¤–部ダッシュボードã«ç›´æŽ¥ãƒªãƒ³ã‚¯ã—ã¦ã„ã‚‹ã€ãƒ¡ãƒˆãƒªã‚¯ã‚¹ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã«ãƒœã‚¿ãƒ³ã‚’追加ã™ã‚‹ã€‚"
msgid "ExternalMetrics|Enter the URL of the dashboard you want to link to"
-msgstr ""
+msgstr "ã‚ãªãŸãŒãƒªãƒ³ã‚¯ã—ãŸã„ã€ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã®URLを入力ã—ã¦ãã ã•ã„"
msgid "ExternalMetrics|External Dashboard"
-msgstr ""
+msgstr "外部ã®ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰"
msgid "ExternalMetrics|Full dashboard URL"
-msgstr ""
+msgstr "完全ãªã€ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰URL"
msgid "ExternalWikiService|External Wiki"
-msgstr ""
+msgstr "外部Wiki"
msgid "ExternalWikiService|Replaces the link to the internal wiki with a link to an external wiki."
-msgstr ""
+msgstr "内部ã®wikiã¸ã®ãƒªãƒ³ã‚¯ã‚’外部ã®wikiã¸ã®ãƒªãƒ³ã‚¯ã«ç½®ãæ›ãˆã¾ã™ã€‚"
msgid "ExternalWikiService|The URL of the external Wiki"
-msgstr ""
+msgstr "外部Wikiã®URL"
msgid "Facebook"
msgstr "Facebook"
@@ -8538,9 +8768,6 @@ msgstr "失敗"
msgid "Failed Jobs"
msgstr "失敗ã—ãŸã‚¸ãƒ§ãƒ–"
-msgid "Failed create wiki"
-msgstr "wiki を作æˆã§ãã¾ã›ã‚“ã§ã—ãŸ"
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8566,10 +8793,10 @@ msgid "Failed to check related branches."
msgstr "関連ã™ã‚‹ãƒ–ランãƒã®ç¢ºèªã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
msgid "Failed to create Merge Request. Please try again."
-msgstr ""
+msgstr "マージリクエストã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。"
msgid "Failed to create a branch for this issue. Please try again."
-msgstr ""
+msgstr "ã“ã®èª²é¡Œã®ãŸã‚ã®ãƒ–ランãƒã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "Failed to create import label for jira import."
msgstr ""
@@ -8580,20 +8807,23 @@ msgstr ""
msgid "Failed to create resources"
msgstr "リソースã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ"
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
msgid "Failed to deploy to"
-msgstr ""
+msgstr "デプロイã«å¤±æ•—ã—ã¾ã—ãŸ"
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
-msgstr ""
+msgstr "ref ã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgid "Failed to install."
msgstr "インストールã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
@@ -8613,6 +8843,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -8662,7 +8898,7 @@ msgid "Failed to reset key. Please try again."
msgstr "キーをリセットã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ãŠè©¦ã—下ã•ã„。"
msgid "Failed to save merge conflicts resolutions. Please try again!"
-msgstr ""
+msgstr "マージã®ç«¶åˆã®è§£æ±ºã‚’ä¿å­˜ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "Failed to save new settings"
msgstr "æ–°ã—ã„設定をä¿å­˜ã§ãã¾ã›ã‚“ã§ã—ãŸ"
@@ -8698,7 +8934,7 @@ msgid "Failed to update."
msgstr "æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
msgid "Failed to upgrade."
-msgstr ""
+msgstr "アップグレードã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
msgid "Failed to upload object map file"
msgstr "オブジェクトマップファイルをアップロードã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
@@ -8722,7 +8958,7 @@ msgid "Fast-forward merge without a merge commit"
msgstr ""
msgid "Faster as it re-uses the project workspace (falling back to clone if it doesn't exist)"
-msgstr ""
+msgstr "プロジェクトワークスペースをå†åˆ©ç”¨ã™ã‚‹ã‚ˆã†ã«é«˜é€ŸåŒ–(存在ã—ãªã„å ´åˆã¯ã€ã‚¯ãƒ­ãƒ¼ãƒ³ã‚’è¡Œã†)"
msgid "Faster releases. Better code. Less pain."
msgstr ""
@@ -8734,10 +8970,10 @@ msgid "Feature Flags"
msgstr "機能フラグ"
msgid "Feature flag was not removed."
-msgstr ""
+msgstr "機能フラグを削除ã—ã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "Feature flag was successfully removed."
-msgstr ""
+msgstr "機能フラグを正常ã«å‰Šé™¤ã—ã¾ã—ãŸã€‚"
msgid "FeatureFlags|* (All Environments)"
msgstr "* (ã™ã¹ã¦ã®ç’°å¢ƒ)"
@@ -8782,10 +9018,10 @@ msgid "FeatureFlags|Enable features for specific users and specific environments
msgstr ""
msgid "FeatureFlags|Environment Spec"
-msgstr ""
+msgstr "環境スペック"
msgid "FeatureFlags|Environment Specs"
-msgstr ""
+msgstr "環境スペック"
msgid "FeatureFlags|Feature Flag"
msgstr "機能フラグ"
@@ -8851,16 +9087,16 @@ msgid "FeatureFlags|Percent rollout must be a whole number between 0 and 100"
msgstr ""
msgid "FeatureFlags|Protected"
-msgstr ""
+msgstr "ä¿è­·ã•ã‚Œã¦ã„ã¾ã™"
msgid "FeatureFlags|Remove"
-msgstr ""
+msgstr "削除"
msgid "FeatureFlags|Rollout Percentage"
msgstr ""
msgid "FeatureFlags|Rollout Strategy"
-msgstr ""
+msgstr "ロールアウト戦略"
msgid "FeatureFlags|Status"
msgstr "ステータス"
@@ -8878,13 +9114,13 @@ msgid "FeatureFlags|There are no inactive feature flags"
msgstr ""
msgid "FeatureFlags|There was an error fetching the feature flags."
-msgstr ""
+msgstr "機能フラグã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "FeatureFlags|Try again in a few moments or contact your support team."
msgstr "ã—ã°ã‚‰ãã—ã¦ã‹ã‚‰ã‚‚ã†ä¸€åº¦è©¦ã™ã‹ã€ã‚µãƒãƒ¼ãƒˆãƒãƒ¼ãƒ ã«é€£çµ¡ã—ã¦ãã ã•ã„。"
msgid "FeatureFlags|User IDs"
-msgstr ""
+msgstr "ユーザーID"
msgid "FeatureFlag|Delete strategy"
msgstr ""
@@ -8908,13 +9144,13 @@ msgid "Fetching incoming email"
msgstr ""
msgid "Fetching licenses failed."
-msgstr ""
+msgstr "ライセンスã®å–得を失敗ã—ã¾ã—ãŸã€‚"
msgid "Fetching licenses failed. The request endpoint was not found."
-msgstr ""
+msgstr "ライセンスã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚è¦æ±‚エンドãƒã‚¤ãƒ³ãƒˆãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。"
msgid "Fetching licenses failed. You are not permitted to perform this action."
-msgstr ""
+msgstr "ライセンスã®å–å¾—ã«å¤±æ•—ã—ã¾ã—ãŸã€‚ã‚ãªãŸã¯ã“ã‚Œã®å®Ÿè¡Œã‚’許å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
msgid "File"
msgstr ""
@@ -8938,7 +9174,7 @@ msgid "File hooks are similar to system hooks but are executed as files instead
msgstr ""
msgid "File mode changed from %{a_mode} to %{b_mode}"
-msgstr ""
+msgstr "ファイルã®ãƒ¢ãƒ¼ãƒ‰ã‚’ %{a_mode} ã‹ã‚‰ %{b_mode} ã«å¤‰æ›´"
msgid "File moved"
msgstr "ファイルを移動ã—ã¾ã—ãŸã€‚"
@@ -8988,7 +9224,10 @@ msgstr "コミットメッセージã§çµžã‚Šè¾¼ã¿"
msgid "Filter by milestone name"
msgstr "マイルストーンåã§çµžã‚Šè¾¼ã‚€"
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9000,12 +9239,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr "グループã§çµžã‚Šè¾¼ã¿"
msgid "Filter results by project"
msgstr "プロジェクトã§çµžã‚Šè¾¼ã¿"
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9040,7 +9285,7 @@ msgid "Finish review"
msgstr "レビューを完了ã™ã‚‹"
msgid "Finish setting up your dedicated account for <strong>%{group_name}</strong>."
-msgstr ""
+msgstr "<strong>%{group_name} </strong>ã®å°‚用アカウントã®è¨­å®šã‚’完了ã—ã¦ãã ã•ã„。"
msgid "Finished"
msgstr "完了"
@@ -9061,13 +9306,13 @@ msgid "First seen"
msgstr ""
msgid "Fixed date"
-msgstr ""
+msgstr "日付を修正"
msgid "Fixed due date"
-msgstr ""
+msgstr "期日を修正"
msgid "Fixed start date"
-msgstr ""
+msgstr "修正開始日"
msgid "Fixed:"
msgstr "修正:"
@@ -9076,10 +9321,10 @@ msgid "Flags"
msgstr ""
msgid "FlowdockService|Flowdock Git source token"
-msgstr ""
+msgstr "Flowdock Gitソーストークン"
msgid "FlowdockService|Flowdock is a collaboration web app for technical teams."
-msgstr ""
+msgstr "Flowdockã¯ã€æŠ€è¡“ãƒãƒ¼ãƒ ç”¨ã®ã‚³ãƒ©ãƒœãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³Webアプリã§ã™ã€‚"
msgid "FogBugz Email"
msgstr "FogBugz メール"
@@ -9112,7 +9357,7 @@ msgid "For each Jira issue successfully imported, we'll create a new GitLab issu
msgstr ""
msgid "For internal projects, any logged in user can view pipelines and access job details (output logs and artifacts)"
-msgstr ""
+msgstr "内部プロジェクトã®å ´åˆã€ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã‚‹ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ãƒ‘イプラインを表示ã§ãã€ã‚¸ãƒ§ãƒ–ã®è©³ç´°(出力ログãŠã‚ˆã³æˆæžœç‰©) ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚"
msgid "For more info, read the documentation."
msgstr "詳細ã«ã¤ã„ã¦ã¯ã€ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã‚’読んã§ãã ã•ã„。"
@@ -9121,7 +9366,7 @@ msgid "For more information, go to the "
msgstr ""
msgid "For more information, please review %{link_start_tag}Jaeger's configuration doc%{link_end_tag}"
-msgstr ""
+msgstr "詳細ã«ã¤ã„ã¦ã¯ã€ %{link_start_tag}aeger'sã®æ§‹æˆãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ%{link_end_tag} ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
msgid "For more information, see the File Hooks documentation."
msgstr ""
@@ -9133,10 +9378,10 @@ msgid "For more information, see the documentation on %{link_start}disabling Sea
msgstr ""
msgid "For private projects, any member (guest or higher) can view pipelines and access job details (output logs and artifacts)"
-msgstr ""
+msgstr "プライベートãªãƒ—ロジェクトã®å ´åˆã€(ゲストã¾ãŸã¯ãれ以上ã®æ¨©é™ã®) ã™ã¹ã¦ã®ãƒ¡ãƒ³ãƒãƒ¼ãŒãƒ‘イプラインを表示ã—ã€ã‚¸ãƒ§ãƒ–ã®è©³ç´°(出力ログãŠã‚ˆã³æˆæžœç‰©) ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚"
msgid "For public projects, anyone can view pipelines and access job details (output logs and artifacts)"
-msgstr ""
+msgstr "パブリックプロジェクトã®å ´åˆã€èª°ã§ã‚‚パイプラインを表示ã—ã€ã‚¸ãƒ§ãƒ–ã®è©³ç´° (出力ログãŠã‚ˆã³æˆæžœç‰©) ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚"
msgid "Forgot your password?"
msgstr "パスワードを忘れã¾ã—ãŸã‹ï¼Ÿ"
@@ -9229,7 +9474,7 @@ msgid "From the Kubernetes cluster details view, install Runner from the applica
msgstr "Kubernetes クラスターã®è©³ç´°ç”»é¢ã‚’介ã—ã¦ã€ã‚¢ãƒ—リケーションリストã‹ã‚‰ Runner をインストールã—ã¾ã™ã€‚"
msgid "Full name"
-msgstr ""
+msgstr "æ°å"
msgid "GPG Key ID:"
msgstr "GPG キー ID:"
@@ -9259,7 +9504,7 @@ msgid "Generate key"
msgstr "éµã‚’生æˆ"
msgid "Generate new export"
-msgstr ""
+msgstr "æ–°ã—ㄠエクスãƒãƒ¼ãƒˆã‚’生æˆ"
msgid "Geo"
msgstr "Geo"
@@ -9294,11 +9539,11 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr "ãƒã‚§ãƒƒã‚¯ã‚µãƒ "
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
-msgstr "データ㯠%{timeago} ã‹ã‚‰å¤ããªã£ã¦ã„ã¾ã™"
+msgid "GeoNodes|Container repositories"
+msgstr ""
msgid "GeoNodes|Data replication lag"
msgstr "データ レプリケーションã®é…延"
@@ -9339,6 +9584,9 @@ msgstr "カーソルã§å‡¦ç†ã•ã‚ŒãŸæœ€çµ‚イベント ID"
msgid "GeoNodes|Last event ID seen from primary"
msgstr "プライマリãŒå–å¾—ã—ãŸæœ€çµ‚イベント ID"
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr "ノードã®èª­ã¿è¾¼ã¿ä¸­"
@@ -9354,6 +9602,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr "ノードã®å‰Šé™¤ã«æˆåŠŸã—ã¾ã—ãŸã€‚"
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr "ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãªã—"
@@ -9384,8 +9635,11 @@ msgstr "リãƒã‚¸ãƒˆãƒªãƒã‚§ãƒƒã‚¯ã‚µãƒ ã®é€²è¡ŒçŠ¶æ³"
msgid "GeoNodes|Repository verification progress"
msgstr "リãƒã‚¸ãƒˆãƒªæ¤œè¨¼ã®é€²æ—状æ³"
-msgid "GeoNodes|Selective"
-msgstr "é¸æŠžçš„"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
+msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
msgstr "ノードã®çŠ¶æ…‹ã‚’変更中ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸ"
@@ -9411,6 +9665,9 @@ msgstr "未使用ã®ã‚¹ãƒ­ãƒƒãƒˆ"
msgid "GeoNodes|Unverified"
msgstr "未検証"
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr "使用済ã¿ã®ã‚¹ãƒ­ãƒƒãƒˆ"
@@ -9427,7 +9684,7 @@ msgid "GeoNodes|Wikis"
msgstr "Wiki"
msgid "GeoNodes|With %{geo} you can install a special read-only and replicated instance anywhere. Before you add nodes, follow the %{instructions} in the exact order they appear."
-msgstr ""
+msgstr "%{geo} を指定ã™ã‚‹ã¨ã€ç‰¹åˆ¥ãªèª­ã¿å–り専用ã®è¤‡è£½ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’ã©ã“ã«ã§ã‚‚インストールã§ãã¾ã™ã€‚ノードを追加ã™ã‚‹å‰ã«ã€ãれらãŒç¾ã‚Œã‚‹æ­£ç¢ºãªé †åºã§ %{instructions} ã«å¾“ã£ã¦ãã ã•ã„。"
msgid "GeoNodes|You have configured Geo nodes using an insecure HTTP connection. We recommend the use of HTTPS."
msgstr "安全ã§ãªã„ HTTP 接続を使用ã—㦠Geo ノードを設定ã—ã¾ã—ãŸã€‚HTTPS 通信ã®ä½¿ç”¨ã‚’推奨ã—ã¾ã™ã€‚"
@@ -9450,35 +9707,41 @@ msgstr ""
msgid "Geo|All"
msgstr "ã™ã¹ã¦"
+msgid "Geo|All %{replicable_type}"
+msgstr ""
+
msgid "Geo|All projects"
msgstr "ã™ã¹ã¦ã®ãƒ—ロジェクト"
-msgid "Geo|All projects are being scheduled for re-sync"
-msgstr "ã™ã¹ã¦ã®ãƒ—ロジェクトã®å†åŒæœŸãŒäºˆå®šã•ã‚Œã¦ã„ã¾ã™"
-
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
-msgstr "ãƒãƒƒãƒå‡¦ç†"
+msgid "Geo|All projects are being scheduled for reverify"
+msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
msgstr "既存ã®ãƒ—ロジェクトã®ãƒˆãƒ©ãƒƒã‚­ãƒ³ã‚°ã‚¨ãƒ³ãƒˆãƒªã‚’削除ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "Geo|Could not remove tracking entry for an existing upload."
-msgstr ""
+msgstr "既存ã®ã‚¢ãƒƒãƒ—ロードã®ãƒˆãƒ©ãƒƒã‚­ãƒ³ã‚°ã‚¨ãƒ³ãƒˆãƒªã‚’削除ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "Geo|Failed"
msgstr "失敗"
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr "ジオステータス"
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr "åŒæœŸ"
msgid "Geo|Last repository check run"
-msgstr ""
+msgstr "最後ã®ãƒªãƒã‚¸ãƒˆãƒªãƒã‚§ãƒƒã‚¯ã‚’実行"
msgid "Geo|Last successful sync"
msgstr "最後ã«æˆåŠŸã—ãŸåŒæœŸ"
@@ -9490,7 +9753,7 @@ msgid "Geo|Last time verified"
msgstr "å‰å›žã®ç¢ºèªæ—¥æ™‚"
msgid "Geo|Never"
-msgstr ""
+msgstr "決ã—ã¦"
msgid "Geo|Next sync scheduled at"
msgstr ""
@@ -9498,9 +9761,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr "ã¾ã åŒæœŸã—ã¦ã„ã¾ã›ã‚“。"
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9537,8 +9797,8 @@ msgstr ""
msgid "Geo|Resync"
msgstr "å†åŒæœŸ"
-msgid "Geo|Resync all projects"
-msgstr "ã™ã¹ã¦ã®ãƒ—ロジェクトをå†åŒæœŸ"
+msgid "Geo|Resync all"
+msgstr ""
msgid "Geo|Retry count"
msgstr "リトライ回数"
@@ -9546,7 +9806,7 @@ msgstr "リトライ回数"
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9556,7 +9816,7 @@ msgid "Geo|Synced"
msgstr "åŒæœŸæ¸ˆã¿"
msgid "Geo|Synced at"
-msgstr ""
+msgstr "åŒæœŸå…ˆ"
msgid "Geo|Synchronization failed - %{error}"
msgstr "åŒæœŸã«å¤±æ•—ã—ã¾ã—㟠- %{error}"
@@ -9583,13 +9843,13 @@ msgid "Geo|Verification failed - %{error}"
msgstr "åŒæœŸã«å¤±æ•—ã—ã¾ã—㟠- %{error}"
msgid "Geo|Waiting for scheduler"
-msgstr ""
+msgstr "スケジューラ待ã¡"
msgid "Geo|You are on a secondary, <b>read-only</b> Geo node. If you want to make changes, you must visit this page on the %{primary_node}."
-msgstr ""
+msgstr "ã‚ãªãŸã¯<b>読ã¿å–り専用ã®</b>セカンダリGeoノードã«ã„ã¾ã™ã€‚変更を加ãˆãŸã„å ´åˆã¯ã€%{primary_node} ã®ã“ã®ãƒšãƒ¼ã‚¸ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "Geo|You are on a secondary, <b>read-only</b> Geo node. You may be able to make a limited amount of changes or perform a limited amount of actions on this page."
-msgstr ""
+msgstr "ã‚ãªãŸã¯<b>読ã¿å–り専用ã®</b>セカンダリGeoノードã«ã„ã¾ã™ã€‚ã“ã®ãƒšãƒ¼ã‚¸ã§ã¯é™å®šçš„ãªå¤‰æ›´ãƒ»æ“作をã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "Geo|misconfigured"
msgstr "設定ãŒé–“é•ã£ã¦ã„ã¾ã™"
@@ -9625,7 +9885,7 @@ msgid "Git LFS is not enabled on this GitLab server, contact your admin."
msgstr "ã“ã®GitLabサーãƒãƒ¼ã¯Git LFSãŒç„¡åŠ¹ã«ãªã£ã¦ã„ã¾ã™ã€‚管ç†è€…ã«é€£çµ¡ã—ã¦ãã ã•ã„。"
msgid "Git LFS objects will be synced in pull mirrors if LFS is %{docs_link_start}enabled for the project%{docs_link_end}. They will <strong>not</strong> be synced in push mirrors."
-msgstr ""
+msgstr "LFS㌠%{docs_link_start} ã“ã®ãƒ—ロジェクトã§æœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ %{docs_link_end} å ´åˆã«Git LFS オブジェクト プルミラーã«åŒæœŸã•ã‚Œã¾ã™ã€‚ã“れらã¯ãƒ—ッシュミラーã«åŒæœŸ <strong>ã—ã¾ã›ã‚“</strong> 。"
msgid "Git global setup"
msgstr "Git ã®ã‚°ãƒ­ãƒ¼ãƒãƒ«è¨­å®š"
@@ -9640,7 +9900,7 @@ msgid "Git shallow clone"
msgstr ""
msgid "Git strategy for pipelines"
-msgstr ""
+msgstr "パイプラインã®Git戦略"
msgid "Git version"
msgstr "Git ãƒãƒ¼ã‚¸ãƒ§ãƒ³"
@@ -9667,7 +9927,7 @@ msgid "GitLab Issue"
msgstr ""
msgid "GitLab Shared Runners execute code of different projects on the same Runner unless you configure GitLab Runner Autoscale with MaxBuilds 1 (which it is on GitLab.com)."
-msgstr ""
+msgstr "GitLab Shared Runnerã¯ã€GitLab Runnerã®ã‚ªãƒ¼ãƒˆã‚¹ã‚±ãƒ¼ãƒ«è¨­å®šã§MaxBuildsã‚’1 (GitLab.com上ã§ã¯ã“ã®è¨­å®š)ã—ãªã„é™ã‚Šã€åŒã˜Runnerã§åˆ¥ã®ãƒ—ロジェクトã®ã‚³ãƒ¼ãƒ‰ã‚’実行ã—ã¾ã™ã€‚"
msgid "GitLab Support Bot"
msgstr ""
@@ -9679,7 +9939,7 @@ msgid "GitLab User"
msgstr "GitLab ユーザー"
msgid "GitLab allows you to continue using your license even if you exceed the number of seats you purchased. You will be required to pay for these seats when you renew your license."
-msgstr ""
+msgstr "GitLabã§ã¯ã€è³¼å…¥ã—ãŸã‚·ãƒ¼ãƒˆæ•°ã‚’超ãˆã¦ã‚‚ライセンスを使用ã—続ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ライセンス更新時ã«ã€ã“れらã®ã‚·ãƒ¼ãƒˆã®æ–™é‡‘を支払ã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "GitLab commit"
msgstr ""
@@ -9715,7 +9975,7 @@ msgid "GitLab uses %{jaeger_link} to monitor distributed systems."
msgstr ""
msgid "GitLab will run a background job that will produce pseudonymized CSVs of the GitLab database that will be uploaded to your configured object storage directory."
-msgstr ""
+msgstr "Gitlabã¯ã€ã‚ãªãŸãŒè¨­å®šã—ãŸã‚ªãƒ–ジェクトストレージディレクトリã«ã‚¢ãƒƒãƒ—ロードã™ã‚‹ Gitlabデータベースã®åŒ¿å化ã—ãŸCSVを生æˆã™ã‚‹ã‚¸ãƒ§ãƒ–ã‚’ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å®Ÿè¡Œã—ã¾ã™ã€‚"
msgid "GitLab.com import"
msgstr "GitLab.com インãƒãƒ¼ãƒˆ"
@@ -9844,13 +10104,13 @@ msgid "Global Shortcuts"
msgstr ""
msgid "Global notification settings"
-msgstr ""
+msgstr "グローãƒãƒ«é€šçŸ¥è¨­å®š"
msgid "Go Back"
msgstr "戻る"
msgid "Go Micro is a framework for micro service development."
-msgstr ""
+msgstr "Go Microã¯ã€ãƒžã‚¤ã‚¯ãƒ­ã‚µãƒ¼ãƒ“ス開発ã®ãŸã‚ã®ãƒ•ãƒ¬ãƒ¼ãƒ ãƒ¯ãƒ¼ã‚¯ã§ã™ã€‚"
msgid "Go back"
msgstr "å‰ã«æˆ»ã‚‹"
@@ -9868,7 +10128,7 @@ msgid "Go to"
msgstr ""
msgid "Go to %{link_to_google_takeout}."
-msgstr ""
+msgstr "%{link_to_google_takeout} ã«ç§»å‹•ã—ã¾ã™ã€‚"
msgid "Go to Pipelines"
msgstr ""
@@ -9888,9 +10148,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -9997,7 +10254,7 @@ msgid "Grafana URL"
msgstr ""
msgid "GrafanaIntegration|API Token"
-msgstr ""
+msgstr "APIトークン"
msgid "GrafanaIntegration|Active"
msgstr ""
@@ -10006,16 +10263,16 @@ msgid "GrafanaIntegration|Embed Grafana charts in GitLab issues."
msgstr ""
msgid "GrafanaIntegration|Enter the Grafana API Token."
-msgstr ""
+msgstr "Grafana API トークンを入力。"
msgid "GrafanaIntegration|Enter the base URL of the Grafana instance."
-msgstr ""
+msgstr "Grafana インスタンスã®ãƒ™ãƒ¼ã‚¹ URL を入力ã—ã¾ã™ã€‚"
msgid "GrafanaIntegration|Grafana Authentication"
-msgstr ""
+msgstr "Grafana èªè¨¼"
msgid "GrafanaIntegration|Grafana URL"
-msgstr ""
+msgstr "Grafana URL"
msgid "Grant access"
msgstr "アクセス許å¯"
@@ -10033,10 +10290,10 @@ msgid "Group"
msgstr "グループ"
msgid "Group %{group_name} was scheduled for deletion."
-msgstr ""
+msgstr "グループ %{group_name} ã¯å‰Šé™¤äºˆå®šã—ã¾ã—ãŸã€‚"
msgid "Group %{group_name} was successfully created."
-msgstr ""
+msgstr "'%{group_name}' グループã¯æ­£å¸¸ã«ä½œæˆã•ã‚Œã¾ã—ãŸã€‚"
msgid "Group Audit Events"
msgstr ""
@@ -10132,7 +10389,7 @@ msgid "Group variables (inherited)"
msgstr ""
msgid "Group was successfully updated."
-msgstr ""
+msgstr "グループã¯æ­£å¸¸ã«æ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚"
msgid "Group: %{group_name}"
msgstr "グループ:%{group_name}"
@@ -10174,16 +10431,16 @@ msgid "GroupRoadmap|The roadmap shows the progress of your epics along a timelin
msgstr "ロードマップã¯æ™‚é–“ã®çµŒéŽã¨ã¨ã‚‚ã«ã‚¨ãƒ”ックã®é€²è¡Œã‚’表示ã—ã¾ã™"
msgid "GroupRoadmap|To view the roadmap, add a start or due date to one of the %{linkStart}child epics%{linkEnd}."
-msgstr ""
+msgstr "ロードマップを表示ã™ã‚‹ã«ã¯ã€é–‹å§‹æ—¥ã¾ãŸã¯ã„ãšã‚Œã‹ã® %{linkStart}å­ã‚¨ãƒ”ック%{linkEnd} ã®æœŸæ—¥ã‚’追加ã—ã¾ã™ã€‚"
msgid "GroupRoadmap|To view the roadmap, add a start or due date to one of your epics in this group or its subgroups; from %{startDate} to %{endDate}."
-msgstr ""
+msgstr "ロードマップを表示ã™ã‚‹ã«ã¯ã€ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¾ãŸã¯ãã®ã‚µãƒ–グループã®ã‚¨ãƒ”ックã®ã„ãšã‚Œã‹ã«é–‹å§‹æ—¥ã¾ãŸã¯æœŸæ—¥ã‚’追加ã—ã¾ã™ã€‚ %{startDate} ã‹ã‚‰ %{endDate} ã¾ã§"
msgid "GroupRoadmap|To widen your search, change or remove filters; from %{startDate} to %{endDate}."
-msgstr ""
+msgstr "検索範囲を広ã’ã‚‹ã«ã¯ã€ãƒ•ã‚£ãƒ«ã‚¿ã‚’変更ã¾ãŸã¯å‰Šé™¤ã—ã¾ã™ã€‚ %{startDate} ã‹ã‚‰ %{endDate} ã¾ã§"
msgid "GroupSAML|Certificate fingerprint"
-msgstr ""
+msgstr "証明書ã®ãƒ•ã‚£ãƒ³ã‚¬ãƒ¼ãƒ—リント"
msgid "GroupSAML|Configuration"
msgstr ""
@@ -10192,25 +10449,25 @@ msgid "GroupSAML|Copy SAML Response XML"
msgstr ""
msgid "GroupSAML|Enable SAML authentication for this group."
-msgstr ""
+msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã® SAML èªè¨¼ã‚’有効ã«ã™ã‚‹."
msgid "GroupSAML|Enforce SSO-only authentication for this group."
-msgstr ""
+msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«SSOã®ã¿ã®èªè¨¼ã‚’強制ã™ã‚‹."
msgid "GroupSAML|Enforce SSO-only membership for this group."
msgstr ""
msgid "GroupSAML|Enforce users to have dedicated group managed accounts for this group."
-msgstr ""
+msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—専用ã®ã‚°ãƒ«ãƒ¼ãƒ—管ç†ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’ユーザーã«è¨­å®šã™ã‚‹ã€‚"
msgid "GroupSAML|Enforced SSO"
-msgstr ""
+msgstr "強制SSO"
msgid "GroupSAML|Generate a SCIM token"
-msgstr ""
+msgstr "SCIMトークンを生æˆ"
msgid "GroupSAML|Generate a SCIM token to set up your System for Cross-Domain Identity Management."
-msgstr ""
+msgstr "クロスドメインã®ID管ç†ç”¨ã«ã‚·ã‚¹ãƒ†ãƒ ã‚’設定ã™ã‚‹ãŸã‚ã®SCIMトークンを生æˆã—ã¾ã™ã€‚"
msgid "GroupSAML|Identity"
msgstr ""
@@ -10219,16 +10476,16 @@ msgid "GroupSAML|Identity provider single sign on URL"
msgstr "アイデンティティプロãƒã‚¤ãƒ€ã®ã‚·ãƒ³ã‚°ãƒ«ã‚µã‚¤ãƒ³ã‚ªãƒ³ URL"
msgid "GroupSAML|Make sure you save this token — you won't be able to access it again."
-msgstr ""
+msgstr "ã“ã®ãƒˆãƒ¼ã‚¯ãƒ³ã¯å¿…ãšä¿å­˜ã—ã¦ãã ã•ã„。二度ã¨ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã›ã‚“。"
msgid "GroupSAML|Manage your group’s membership while adding another level of security with SAML."
-msgstr ""
+msgstr "グループã®ãƒ¡ãƒ³ãƒãƒ¼ã‚·ãƒƒãƒ—を管ç†ã—ãªãŒã‚‰ã€SAML ã§åˆ¥ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãƒ¬ãƒ™ãƒ«ã‚’追加ã—ã¾ã™ã€‚"
msgid "GroupSAML|Members"
msgstr ""
msgid "GroupSAML|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 ""
+msgstr "メンãƒãƒ¼ãŒã‚°ãƒ«ãƒ¼ãƒ—ã«ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã™ã‚‹ã¨ã€ã“ã“ã«ãƒ•ã‚©ãƒ¯ãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚ã“ã‚Œã¯IDプロãƒã‚¤ãƒ€ãƒ¼ã‹ã‚‰å–å¾—ã§ãã¾ã™ã€‚IDプロãƒã‚¤ãƒ€ãƒ¼ã¯\"SSO Service Location\"ã€\"SAML Token Issuance Endpoint\"ã€\"SAML 2.0/W-Federation URL\"ãªã©ã¨ã‚‚呼ã°ã‚Œã¾ã™ã€‚"
msgid "GroupSAML|NameID"
msgstr ""
@@ -10255,7 +10512,7 @@ msgid "GroupSAML|SAML Single Sign On Settings"
msgstr "SAML シングル サインオンã®è¨­å®š"
msgid "GroupSAML|SCIM API endpoint URL"
-msgstr ""
+msgstr "SCIM APIエンドãƒã‚¤ãƒ³ãƒˆã®URL"
msgid "GroupSAML|SCIM Token"
msgstr "SCIMトークン"
@@ -10264,19 +10521,19 @@ msgid "GroupSAML|SHA1 fingerprint of the SAML token signing certificate. Get thi
msgstr "SAML トークン㮠SHA1 フィンガープリントã§è¨¼æ˜Žæ›¸ã«ç½²åã—ã¾ã™ã€‚ã“ã‚Œã¯ã‚µãƒ ãƒ—リントã¨å‘¼ã°ã‚Œã‚¢ã‚¤ãƒ‡ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãƒ—ロãƒã‚¤ãƒ€ãƒ¼ã‹ã‚‰å–å¾—ã§ãã¾ã™ã€‚"
msgid "GroupSAML|The SCIM token is now hidden. To see the value of the token again, you need to "
-msgstr ""
+msgstr "SCIMトークンã¯éžè¡¨ç¤ºã«ãªã£ã¦ã„ã¾ã™ã€‚トークンã®å€¤ã‚’ã‚‚ã†ä¸€åº¦ç¢ºèªã™ã‚‹ã«ã¯ã€æ¬¡ã®æ‰‹é †ã‚’実行ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ "
msgid "GroupSAML|To be able to enable enforced SSO, you first need to enable SAML authentication."
-msgstr ""
+msgstr "強制ã•ã‚ŒãŸSSOを有効化ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ã¾ãšSAMLèªè¨¼ã‚’有効ã«ã—ã¾ã™ã€‚"
msgid "GroupSAML|To be able to enable group managed accounts, you first need to enable enforced SSO."
-msgstr ""
+msgstr "グループ管ç†ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’有効ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ã¾ãšå¼·åˆ¶SSOを有効化ã—ã¾ã™ã€‚"
msgid "GroupSAML|To be able to prohibit outer forks, you first need to enforce dedicate group managed accounts."
msgstr ""
msgid "GroupSAML|Toggle SAML authentication"
-msgstr ""
+msgstr "SAMLèªè¨¼ã‚’切り替ãˆ"
msgid "GroupSAML|Valid SAML Response"
msgstr ""
@@ -10335,6 +10592,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10363,10 +10623,10 @@ msgid "GroupSettings|Select a sub-group as the custom project template source fo
msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®ã‚«ã‚¹ã‚¿ãƒ ãƒ—ロジェクトテンプレートソースã¨ã—ã¦ã‚µãƒ–グループをé¸æŠž"
msgid "GroupSettings|The Auto DevOps pipeline will run if no alternative CI configuration file is found."
-msgstr ""
+msgstr "代替㮠CI 設定ファイルãŒè¦‹ã¤ã‹ã‚‰ãªã„å ´åˆã¯ã€Auto DevOps パイプラインãŒå®Ÿè¡Œã•ã‚Œã¾ã™ã€‚"
msgid "GroupSettings|There was a problem updating Auto DevOps pipeline: %{error_messages}."
-msgstr ""
+msgstr "Auto DevOps パイプラインã®æ›´æ–°ä¸­ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸï¼š %{error_messages} 。"
msgid "GroupSettings|There was a problem updating the pipeline settings: %{error_messages}."
msgstr ""
@@ -10411,6 +10671,9 @@ msgid "Groups"
msgstr "グループ"
msgid "Groups (%{count})"
+msgstr "グループ (%{count})"
+
+msgid "Groups (%{groups})"
msgstr ""
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
@@ -10438,10 +10701,10 @@ msgid "GroupsDropdown|Search your groups"
msgstr "ã‚ãªãŸã®ã‚°ãƒ«ãƒ¼ãƒ—を検索"
msgid "GroupsDropdown|Something went wrong on our end."
-msgstr ""
+msgstr "エラーãŒç™ºç”Ÿã—ã¾ã—ãŸ"
msgid "GroupsDropdown|Sorry, no groups matched your search"
-msgstr ""
+msgstr "ã™ã¿ã¾ã›ã‚“。検索ã«é©åˆã™ã‚‹ã‚°ãƒ«ãƒ¼ãƒ—ãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
msgid "GroupsDropdown|This feature requires browser localStorage support"
msgstr "ã“ã®æ©Ÿèƒ½ã«ã¯ãƒ–ラウザー㫠localStorage サãƒãƒ¼ãƒˆãŒå¿…è¦ã§ã™"
@@ -10480,10 +10743,10 @@ msgid "GroupsTree|Loading groups"
msgstr "グループã®èª­ã¿è¾¼ã¿ä¸­"
msgid "GroupsTree|No groups matched your search"
-msgstr ""
+msgstr "検索ã«é©åˆã™ã‚‹ã‚°ãƒ«ãƒ¼ãƒ—ã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "GroupsTree|No groups or projects matched your search"
-msgstr ""
+msgstr "検索ã«é©åˆã™ã‚‹ãƒ—ロジェクトã€ã‚°ãƒ«ãƒ¼ãƒ—ãŒã‚ã‚Šã¾ã›ã‚“"
msgid "GroupsTree|Search by name"
msgstr "åå‰ã§æ¤œç´¢"
@@ -10492,7 +10755,7 @@ msgid "Guideline"
msgstr ""
msgid "HTTP Basic: Access denied\\nYou must use a personal access token with 'api' scope for Git over HTTP.\\nYou can generate one at %{profile_personal_access_tokens_url}"
-msgstr ""
+msgstr "HTTP Basic: ã‚¢ã‚¯ã‚»ã‚¹æ‹’å¦ \\n Git over HTTPã«ã¯ 'api' スコープã®ãƒ‘ーソナルアクセストークンを使用ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚\\n %{profile_personal_access_tokens_url} ã§ç”Ÿæˆã§ãã¾ã™"
msgid "Hashed Storage must be enabled to use Geo"
msgstr ""
@@ -10504,7 +10767,7 @@ msgid "Have your users email"
msgstr "ユーザーã«ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡"
msgid "Header logo was successfully removed."
-msgstr ""
+msgstr "ヘッダーロゴã¯æ­£å¸¸ã«å‰Šé™¤ã—ã¾ã—ãŸã€‚"
msgid "Header message"
msgstr "ヘッダーメッセージ"
@@ -10583,7 +10846,7 @@ msgid "Hide payload"
msgstr "ペイロードを隠ã™"
msgid "Hide shared projects"
-msgstr ""
+msgstr "共有プロジェクトをéžè¡¨ç¤ºã«"
msgid "Hide stage"
msgstr ""
@@ -10605,7 +10868,7 @@ msgid "Highest number of requests per minute for each raw path, default to 300.
msgstr ""
msgid "Highest role:"
-msgstr ""
+msgstr "最高ä½:"
msgid "History"
msgstr "履歴"
@@ -10620,7 +10883,7 @@ msgid "Hook was successfully created."
msgstr "フックã¯æ­£å¸¸ã«ä½œæˆã•ã‚Œã¾ã—ãŸã€‚"
msgid "Hook was successfully updated."
-msgstr ""
+msgstr "フックã¯æ­£å¸¸ã«æ›´æ–°ã—ã¾ã—ãŸã€‚"
msgid "Hour (UTC)"
msgstr ""
@@ -10641,10 +10904,10 @@ msgid "How many days need to pass between marking entity for deletion and actual
msgstr ""
msgid "How many replicas each Elasticsearch shard has."
-msgstr ""
+msgstr "å„Elasticsearchシャードã®ãƒ¬ãƒ—リカ数"
msgid "How many shards to split the Elasticsearch index over."
-msgstr ""
+msgstr "Elasticseachã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’分割ã™ã‚‹ã‚·ãƒ£ãƒ¼ãƒ‰æ•°"
msgid "How many users will be evaluating the trial?"
msgstr ""
@@ -10676,15 +10939,12 @@ msgstr "ID"
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
-msgstr "CodeSandbox クライアントサイド評価を使用ã—ã¦ã€Web IDE 㧠JavaScript プロジェクトã®ãƒ©ã‚¤ãƒ–プレビューを許å¯ã—ã¾ã™ã€‚"
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
+msgstr ""
msgid "IDE|Back"
msgstr "戻る"
-msgid "IDE|Client side evaluation"
-msgstr "クライアントサイド評価"
-
msgid "IDE|Commit"
msgstr "コミット"
@@ -10748,6 +11008,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10761,10 +11024,10 @@ msgid "If disabled, only admins will be able to configure repository mirroring."
msgstr ""
msgid "If disabled, the access level will depend on the user's permissions in the project."
-msgstr ""
+msgstr "無効ã«ã™ã‚‹ã¨ã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ¬ãƒ™ãƒ«ã¯ãã®ãƒ—ロジェクトã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®æ¨©é™ã«ä¾å­˜ã—ã¾ã™ã€‚"
msgid "If enabled"
-msgstr ""
+msgstr "有効ã«ã—ãŸå ´åˆ"
msgid "If enabled, access to projects will be validated on an external service using their classification label."
msgstr "有効ã«è¨­å®šã—ãŸå ´åˆã€å¤–部サービスã‹ã‚‰ãƒ—ロジェクトã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒåˆ†é¡žãƒ©ãƒ™ãƒ«ã‚’使用ã—ã¦åˆ¶å¾¡ã•ã‚Œã¾ã™ã€‚"
@@ -10776,7 +11039,7 @@ msgid "If this was a mistake you can %{leave_link_start}leave the %{source_type}
msgstr ""
msgid "If this was a mistake you can leave the %{source_type}."
-msgstr ""
+msgstr "ã“ã‚ŒãŒé–“é•ã„ã ã£ãŸå ´åˆã¯ %{source_type} ã‚’ãã®ã¾ã¾ã«ã§ãã¾ã™ã€‚"
msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}"
msgstr "GitHub を使用ã—ã¦ã„ã‚‹å ´åˆã€GitHub 上ã®ã‚³ãƒŸãƒƒãƒˆã‚„プルリクエストã‹ã‚‰ãƒ‘イプラインã®çŠ¶æ…‹ã‚’確èªã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚%{more_info_link}"
@@ -10785,6 +11048,9 @@ msgid "If you believe this may be an error, please refer to the %{linkStart}Geo
msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
+msgstr "リカãƒãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ã‚’紛失ã—ãŸå ´åˆã¯ã€æ–°ã—ã„リカãƒãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ã‚’生æˆã—ã¦ã€ä»¥å‰ã®ãƒªã‚«ãƒãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ã‚’ã™ã¹ã¦ç„¡åŠ¹ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
msgstr ""
msgid "If your HTTP repository is not publicly accessible, add your credentials."
@@ -10833,7 +11099,7 @@ msgid "Import Projects from Gitea"
msgstr "Gitea ã‹ã‚‰ãƒ—ロジェクトã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
msgid "Import all compatible projects"
-msgstr ""
+msgstr "å…¨ã¦ã®äº’æ›æ€§ã®ã‚るプロジェクトã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
msgid "Import all projects"
msgstr "全プロジェクトã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
@@ -10898,35 +11164,38 @@ msgstr "リãƒã‚¸ãƒˆãƒªã‚’ GitHub ã‹ã‚‰ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹"
msgid "Import repository"
msgstr "リãƒã‚¸ãƒˆãƒªã‚’インãƒãƒ¼ãƒˆ"
-msgid "Import tasks"
+msgid "Import started by: %{importInitiator}"
msgstr ""
+msgid "Import tasks"
+msgstr "タスクã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ"
+
msgid "Import tasks from Phabricator into issues"
-msgstr ""
+msgstr "Phabricator ã‹ã‚‰èª²é¡Œã¸ã‚¿ã‚¹ã‚¯ã‚’インãƒãƒ¼ãƒˆã™ã‚‹"
msgid "Import timed out. Import took longer than %{import_jobs_expiration} seconds"
msgstr "インãƒãƒ¼ãƒˆãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã—ã¾ã—ãŸã€‚インãƒãƒ¼ãƒˆã« %{import_jobs_expiration} 秒以上ã‹ã‹ã‚Šã¾ã—ãŸ"
msgid "Import/Export illustration"
-msgstr ""
+msgstr "インãƒãƒ¼ãƒˆ/エクスãƒãƒ¼ãƒˆã®èª¬æ˜Ž"
msgid "ImportButtons|Connect repositories from"
msgstr "リãƒã‚¸ãƒˆãƒªã¸æŽ¥ç¶š"
msgid "ImportProjects|Blocked import URL: %{message}"
-msgstr ""
+msgstr "ブロックã•ã‚ŒãŸã‚¤ãƒ³ãƒãƒ¼ãƒˆURL: %{message}"
msgid "ImportProjects|Error importing repository %{project_safe_import_url} into %{project_full_path} - %{message}"
-msgstr ""
+msgstr "%{project_safe_import_url} リãƒã‚¸ãƒˆãƒªã‹ã‚‰ %{project_full_path} ã¸ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã‚¨ãƒ©ãƒ¼- %{message}"
msgid "ImportProjects|Importing the project failed"
msgstr "プロジェクトã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆã«å¤±æ•—ã—ã¾ã—ãŸ"
msgid "ImportProjects|Requesting your %{provider} repositories failed"
-msgstr ""
+msgstr "%{provider} リãƒã‚¸ãƒˆãƒªã®è¦æ±‚ã«å¤±æ•—ã—ã¾ã—ãŸ"
msgid "ImportProjects|Select the projects you want to import"
-msgstr ""
+msgstr "ã‚ãªãŸãŒã‚¤ãƒ³ãƒãƒ¼ãƒˆã—ãŸã„プロジェクトをé¸æŠžã—ã¾ã™"
msgid "ImportProjects|The remote data could not be imported."
msgstr "リモートデータをインãƒãƒ¼ãƒˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
@@ -10944,7 +11213,7 @@ msgid "Improve Issue boards with GitLab Enterprise Edition."
msgstr "GitLab エンタープライズエディションを使用ã™ã‚‹ã¨ã€èª²é¡Œãƒœãƒ¼ãƒ‰ã®æ©Ÿèƒ½ãŒå¼·åŒ–ã•ã‚Œã¾ã™ã€‚"
msgid "Improve Merge Requests and customer support with GitLab Enterprise Edition."
-msgstr ""
+msgstr "GitLab エンタープライズエディションã§ã¯ã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¨ã‚«ã‚¹ã‚¿ãƒžãƒ¼ã‚µãƒãƒ¼ãƒˆã‚’改善"
msgid "Improve issues management with Issue weight and GitLab Enterprise Edition."
msgstr "GitLab エンタープライズエディションを使用ã™ã‚‹ã¨ã€èª²é¡Œç®¡ç†æ©Ÿèƒ½ãŒå¼·åŒ–ã•ã‚Œã€èª²é¡Œã«ã‚¦ã‚§ã‚¤ãƒˆã‚’設定ã§ãã¾ã™ã€‚"
@@ -10953,10 +11222,10 @@ msgid "Improve search with Advanced Global Search and GitLab Enterprise Edition.
msgstr "GitLab エンタープライズエディションを使用ã™ã‚‹ã¨ã€æ¤œç´¢æ©Ÿèƒ½ãŒå¼·åŒ–ã•ã‚Œã€é«˜åº¦ãªã‚°ãƒ­ãƒ¼ãƒãƒ«æ¤œç´¢ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚"
msgid "In order to enable instance-level analytics, please ask an admin to enable %{usage_ping_link_start}usage ping%{usage_ping_link_end}."
-msgstr ""
+msgstr "インスタンスレベルã®åˆ†æžã‚’å¯èƒ½ã«ã™ã‚‹ãŸã‚ã«ã€æœ‰åŠ¹ã«ã™ã‚‹ãŸã‚ã«ç®¡ç†è€…ã«ä¾é ¼ã—ã¦ãã ã•ã„ %{usage_ping_link_start}ping ã®ä½¿ç”¨%{usage_ping_link_end}。"
msgid "In order to gather accurate feature usage data, it can take 1 to 2 weeks to see your index."
-msgstr ""
+msgstr "正確ãªæ©Ÿèƒ½ã®ä½¿ç”¨çŠ¶æ³ã‚’åŽé›†ã™ã‚‹ãŸã‚ã«ã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’確èªã™ã‚‹ã®ã«1〜2週間ã‹ã‹ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "In order to personalize your experience with GitLab<br>we would like to know a bit more about you."
msgstr ""
@@ -10964,9 +11233,12 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
-msgid "In the next step, you'll be able to select the projects you want to import."
+msgid "In progress"
msgstr ""
+msgid "In the next step, you'll be able to select the projects you want to import."
+msgstr "次ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã¯ã€ã‚¤ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ãƒ—ロジェクトをé¸æŠžã—ã¾ã™ã€‚"
+
msgid "Incident Management Limits"
msgstr ""
@@ -10986,16 +11258,16 @@ msgid "Include the username in the URL if required: <code>https://username@gitla
msgstr "å¿…è¦ãªå ´åˆã€URL ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼åã‚’å«ã‚ã¾ã™ <code>https://username@gitlab.company.com/group/project.git</code>。"
msgid "Includes LFS objects. It can be overridden per group, or per project. 0 for unlimited."
-msgstr ""
+msgstr "LFSオブジェクトをå«ã¿ã¾ã™ã€‚グループã”ã¨ã€ã¾ãŸã¯ãƒ—ロジェクトã”ã¨ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã§ãã¾ã™ã€‚無制é™ã‚’指定ã™ã‚‹å ´åˆã¯0ã«ã—ã¾ã™ã€‚"
msgid "Includes an MVC structure to help you get started."
-msgstr ""
+msgstr "MVC構造をå«ã‚ã¦ã€é–‹å§‹ã—ã¾ã™ã€‚"
msgid "Includes an MVC structure, Gemfile, Rakefile, along with many others, to help you get started."
-msgstr ""
+msgstr "MVC構造体ã€Gemfileã€Rakefile等をå«ã‚ã¦é–‹å§‹ã—ã¾ã™ã€‚"
msgid "Includes an MVC structure, mvnw and pom.xml to help you get started."
-msgstr ""
+msgstr "MVC構造体ã€mvnwã€pom.xmlã‚’å«ã‚ã¦é–‹å§‹ã—ã¾ã™ã€‚"
msgid "Includes repository storage, wiki storage, LFS objects, build artifacts and packages. 0 for unlimited."
msgstr ""
@@ -11010,22 +11282,22 @@ msgid "Incompatible Project"
msgstr "互æ›æ€§ã®ãªã„プロジェクト"
msgid "Incompatible options set!"
-msgstr ""
+msgstr "互æ›æ€§ã®ãªã„オプションãŒã‚»ãƒƒãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "Index all projects"
msgstr ""
msgid "Indicates whether this runner can pick jobs without tags"
-msgstr ""
+msgstr "ã“ã®ãƒ©ãƒ³ãƒŠãƒ¼ãŒã‚¿ã‚°ã®ãªã„ジョブをé¸æŠžã§ãã‚‹ã‹ã©ã†ã‹ã‚’示ã—ã¾ã™ã€‚"
msgid "Inform users without uploaded SSH keys that they can't push over SSH until one is added"
msgstr "SSH éµã‚’アップロードã—ã¦ã„ãªã„ユーザーã«ã€è¿½åŠ ã•ã‚Œã‚‹ã¾ã§ SSH 経由ã§ãƒ—ッシュã§ããªã„ã“ã¨ã‚’通知"
msgid "Information about additional Pages templates and how to install them can be found in our %{pages_getting_started_guide}."
-msgstr ""
+msgstr "追加ã®Pagesテンプレートã«é–¢ã™ã‚‹æƒ…å ±ã¨ãれらをインストールã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦ã¯ã€ç§ãŸã¡ã® %{pages_getting_started_guide} ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
msgid "Inherited:"
-msgstr ""
+msgstr "継承ã•ã‚Œã¾ã—ãŸï¼š"
msgid "Inline"
msgstr "インライン"
@@ -11128,7 +11400,7 @@ msgid "Invalid Git ref"
msgstr ""
msgid "Invalid Insights config file detected"
-msgstr ""
+msgstr "無効㪠Insights 設定ファイルãŒã¿ã¤ã‹ã‚Šã¾ã—ãŸ"
msgid "Invalid Login or password"
msgstr "ログインIDã¾ãŸã¯ãƒ‘スワードãŒç„¡åŠ¹ã§ã™ã€‚"
@@ -11143,7 +11415,7 @@ msgid "Invalid date"
msgstr "無効ãªæ—¥ä»˜"
msgid "Invalid date format. Please use UTC format as YYYY-MM-DD"
-msgstr ""
+msgstr "無効ãªæ—¥ä»˜å½¢å¼ã§ã™ã€‚YYYY-MM-DDã®UTCフォーマットを使用ã—ã¦ãã ã•ã„"
msgid "Invalid date range"
msgstr ""
@@ -11161,13 +11433,13 @@ msgid "Invalid file."
msgstr "無効ãªãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ã€‚"
msgid "Invalid import params"
-msgstr ""
+msgstr "無効ãªã‚¤ãƒ³ãƒãƒ¼ãƒˆãƒ‘ラメーターã§ã™"
msgid "Invalid input, please avoid emojis"
msgstr "入力ãŒç„¡åŠ¹ã§ã™ã€‚絵文字をå«ã‚ãªã„ã§ãã ã•ã„"
msgid "Invalid login or password"
-msgstr ""
+msgstr "ログインIDã¾ãŸã¯ãƒ‘スワードãŒç„¡åŠ¹ã§ã™ã€‚"
msgid "Invalid pin code"
msgstr ""
@@ -11176,7 +11448,7 @@ msgid "Invalid query"
msgstr "無効ãªã‚¯ã‚¨ãƒªãƒ¼"
msgid "Invalid repository path"
-msgstr ""
+msgstr "リãƒã‚¸ãƒˆãƒªãƒ‘スãŒç„¡åŠ¹ã§ã™"
msgid "Invalid server response"
msgstr "無効ãªã‚µãƒ¼ãƒãƒ¼å¿œç­”"
@@ -11212,7 +11484,7 @@ msgid "Is this GitLab trial for your company?"
msgstr ""
msgid "Is using license seat:"
-msgstr ""
+msgstr "ライセンスシートã®ä½¿ç”¨:"
msgid "Is using seat"
msgstr ""
@@ -11221,13 +11493,13 @@ msgid "IssuableStatus|Closed"
msgstr "完了"
msgid "IssuableStatus|Closed (%{link})"
-msgstr ""
+msgstr "完了(%{link})"
msgid "IssuableStatus|duplicated"
-msgstr ""
+msgstr "é‡è¤‡"
msgid "IssuableStatus|moved"
-msgstr ""
+msgstr "移動済ã¿"
msgid "IssuableStatus|promoted"
msgstr ""
@@ -11245,7 +11517,7 @@ msgid "Issue already promoted to epic."
msgstr ""
msgid "Issue cannot be found."
-msgstr ""
+msgstr "課題を見ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“"
msgid "Issue events"
msgstr "課題イベント"
@@ -11310,15 +11582,15 @@ msgstr ""
msgid "Issues"
msgstr "課題"
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr "課題ã¨ã¯ãƒã‚°ã€ã‚¿ã‚¹ã‚¯ã€ã¾ãŸã¯è­°è«–ã®å¿…è¦ãªã‚¢ã‚¤ãƒ‡ã‚¢ã§ã™ã€‚ã¾ãŸã€èª²é¡Œã¯æ¤œç´¢ã‚„フィルター処ç†ãŒå¯èƒ½ã§ã™ã€‚"
@@ -11329,7 +11601,7 @@ msgid "Issues referenced by merge requests and commits within the default branch
msgstr ""
msgid "Issues with comments, merge requests with diffs and comments, labels, milestones, snippets, and other project entities"
-msgstr ""
+msgstr "コメントã®ã‚る課題ã€å·®åˆ†ã¨ã‚³ãƒ¡ãƒ³ãƒˆã€ãƒ©ãƒ™ãƒ«ã€ãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³ã€ã‚¹ãƒ‹ãƒšãƒƒãƒˆã€ãã®ä»–ã®ãƒ—ロジェクトエンティティã¨é–¢é€£ã—ãŸãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
msgid "Issues, merge requests, pushes, and comments."
msgstr "課題ã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã€ãƒ—ッシュã€ã‚³ãƒ¡ãƒ³ãƒˆ"
@@ -11340,11 +11612,11 @@ msgstr "プロジェクトã®èª²é¡Œã®ä½œæˆã‚’開始ã—ãŸã‚‰ã€ãƒ—ロジェク
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
-msgstr "課題ã®ä½œæˆï¼æœˆ"
+msgid "IssuesAnalytics|Issues opened per month"
+msgstr ""
msgid "IssuesAnalytics|Last 12 months"
msgstr "éŽåŽ»12ヶ月間"
@@ -11397,14 +11669,17 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
-msgid "JiraService|Events for %{noteable_model_name} are disabled."
+msgid "Jira project: %{importProject}"
msgstr ""
+msgid "JiraService|Events for %{noteable_model_name} are disabled."
+msgstr "%{noteable_model_name} イベントã¯ç„¡åŠ¹ã§ã™ã€‚"
+
msgid "JiraService|If different from Web URL"
-msgstr ""
+msgstr "Web URLã¨ç•°ãªã‚‹å ´åˆ"
msgid "JiraService|Jira API URL"
-msgstr ""
+msgstr "JIRA APIã®URL"
msgid "JiraService|Jira comments will be created when an issue gets referenced in a commit."
msgstr ""
@@ -11413,37 +11688,37 @@ msgid "JiraService|Jira comments will be created when an issue gets referenced i
msgstr ""
msgid "JiraService|Jira issue tracker"
-msgstr ""
+msgstr "Jira 課題トラッカー"
msgid "JiraService|Password or API token"
msgstr "パスワードã¾ãŸã¯APIトークン"
msgid "JiraService|Transition ID(s)"
-msgstr ""
+msgstr "é·ç§»ID"
msgid "JiraService|Use , or ; to separate multiple transition IDs"
-msgstr ""
+msgstr "複数ã®é·ç§»IDを記載ã™ã‚‹å ´åˆã€ã‚³ãƒ³ãƒž, ã¾ãŸã¯ã‚»ãƒŸã‚³ãƒ­ãƒ³; を使ã£ã¦åˆ†ã‘ã‚‹"
msgid "JiraService|Use a password for server version and an API token for cloud version"
-msgstr ""
+msgstr "サーãƒãƒ¼ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¯ãƒ‘スワードを使用ã—ã¦ãã ã•ã„。クラウドãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¯APIトークンを使用ã—ã¦ãã ã•ã„。"
msgid "JiraService|Use a username for server version and an email for cloud version"
-msgstr ""
+msgstr "サーãƒãƒ¼ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼åを使用ã—ã¦ãã ã•ã„。クラウドãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¯Eメールを使用ã—ã¦ãã ã•ã„。"
msgid "JiraService|Username or Email"
-msgstr ""
+msgstr "ユーザーåã¾ãŸã¯ãƒ¡ãƒ¼ãƒ«"
msgid "JiraService|Web URL"
msgstr "Web URL"
msgid "JiraService|transition ids can have only numbers which can be split with , or ;"
-msgstr ""
+msgstr "é·ç§»IDã¯ã€ã‚³ãƒ³ãƒž, やセミコロン; ã§åˆ†å‰²ã§ãる複数ã¾ãŸã¯ä¸€ã¤ã®æ•°å€¤ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
msgid "Job"
msgstr "ジョブ"
msgid "Job Failed #%{build_id}"
-msgstr ""
+msgstr "#%{build_id} ã®ã‚¸ãƒ§ãƒ–ãŒå¤±æ•—"
msgid "Job ID"
msgstr "ジョブ ID"
@@ -11452,13 +11727,13 @@ msgid "Job has been erased"
msgstr "ジョブãŒæ¶ˆåŽ»ã•ã‚Œã¾ã—ãŸ"
msgid "Job has been successfully erased!"
-msgstr ""
+msgstr "ジョブã®å‰Šé™¤ã«æˆåŠŸã—ã¾ã—ãŸã€‚"
msgid "Job has wrong arguments format."
-msgstr ""
+msgstr "ジョブã®å¼•æ•°ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆé–“é•ã£ã¦ã„ã¾ã™"
msgid "Job is missing the `model_type` argument."
-msgstr ""
+msgstr "ジョブ㫠`model_type`引数ãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "Job is stuck. Check runners."
msgstr "ジョブãŒæºœã¾ã£ã¦ã„ã¾ã™ã€‚Runner を確èªã—ã¦ãã ã•ã„。"
@@ -11515,13 +11790,13 @@ msgid "Job|Show complete raw"
msgstr "完全㪠Raw を表示ã™ã‚‹"
msgid "Job|The artifacts were removed"
-msgstr ""
+msgstr "アーティファクトã¯å‰Šé™¤ã•ã‚Œã¾ã—ãŸ"
msgid "Job|The artifacts will be removed"
msgstr "æˆæžœç‰©ã¯å‰Šé™¤ã•ã‚Œã¾ã™"
msgid "Job|This job failed because the necessary resources were not successfully created."
-msgstr ""
+msgstr "ã“ã®ã‚¸ãƒ§ãƒ–ã¯å¤±æ•—ã—ã¾ã—ãŸã€‚å¿…è¦ãªãƒªã‚½ãƒ¼ã‚¹ãŒæ­£å¸¸ã«ä½œæˆã§ããªã‹ã£ãŸãŸã‚ã§ã™ã€‚"
msgid "Job|This job is stuck because the project doesn't have any runners online assigned to it."
msgstr "プロジェクトã«ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã® Runner ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ãªã„ãŸã‚ã€ã‚¸ãƒ§ãƒ–ã¯åœæ­¢ã—ã¦ã„ã¾ã™ã€‚"
@@ -11723,7 +11998,7 @@ msgid "Last commit"
msgstr "最新コミット"
msgid "Last contact"
-msgstr ""
+msgstr "最終連絡日時"
msgid "Last edited %{date}"
msgstr "最終編集日 %{date}"
@@ -11762,10 +12037,10 @@ msgid "Last updated"
msgstr "最終更新"
msgid "Last used"
-msgstr ""
+msgstr "å‰å›žä½¿ç”¨"
msgid "Last used on:"
-msgstr ""
+msgstr "最終使用日: "
msgid "LastCommit|authored"
msgstr ""
@@ -11785,6 +12060,9 @@ msgstr ""
msgid "Lead"
msgstr "リード"
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11792,9 +12070,12 @@ msgid "Learn More"
msgstr ""
msgid "Learn how to %{link_start}contribute to the built-in templates%{link_end}"
-msgstr ""
+msgstr "%{link_start} ビルトインã®ãƒ†ãƒ³ãƒ—レートã«è²¢çŒ® %{link_end}ã™ã‚‹æ–¹æ³•ã‚’å­¦ã¶"
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
+msgstr "GitLabã§ã®%{no_packages_link_start}パッケージã®å…±æœ‰ã¨å…¬é–‹%{no_packages_link_end}ã«ã¤ã„ã¦"
+
+msgid "Learn how to enable synchronization"
msgstr ""
msgid "Learn more"
@@ -11864,7 +12145,7 @@ msgid "Leave project"
msgstr "プロジェクトを離脱"
msgid "Leave the \"File type\" and \"Delivery method\" options on their default values."
-msgstr ""
+msgstr "\"ファイルタイプ\"ã¨\"デリãƒãƒªãƒ¼æ–¹æ³•\"オプションをデフォルト値ã®ã¾ã¾ã«ã—ã¾ã™ã€‚"
msgid "Let's Encrypt does not accept emails on example.com"
msgstr "Let's Encryptã¯example.comã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å—ã‘付ã‘ã¾ã›ã‚“"
@@ -12106,7 +12387,7 @@ msgid "List available repositories"
msgstr "利用å¯èƒ½ãªãƒªãƒã‚¸ãƒˆãƒªã®ä¸€è¦§"
msgid "List of IPs and CIDRs of allowed secondary nodes. Comma-separated, e.g. \"1.1.1.1, 2.2.2.0/24\""
-msgstr ""
+msgstr "許å¯ã•ã‚ŒãŸã‚»ã‚«ãƒ³ãƒ€ãƒªãƒŽãƒ¼ãƒ‰ã®IPã¾ãŸã¯CIDRã®ãƒªã‚¹ãƒˆ(コンマ区切り)。例ãˆã° \"1.1.1.1,2.2.2.0/24\""
msgid "List settings"
msgstr ""
@@ -12123,9 +12404,6 @@ msgstr "ã‚ãªãŸã®ã€Bitbucket Server ã®ãƒªãƒã‚¸ãƒˆãƒªã‚’一覧表示ã™ã‚‹"
msgid "Live preview"
msgstr "ライブプレビュー"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12172,7 +12450,7 @@ msgid "Lock not found"
msgstr "ロックãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
msgid "Lock the discussion"
-msgstr ""
+msgstr "ディスカッションをロックã™ã‚‹"
msgid "Lock this %{issuableDisplayName}? Only <strong>project members</strong> will be able to comment."
msgstr "%{issuableDisplayName} をロックã—ã¾ã™ã‹ï¼Ÿ<strong>プロジェクトメンãƒãƒ¼</strong> ã®ã¿ã‚³ãƒ¡ãƒ³ãƒˆã§ãã¾ã™ã€‚"
@@ -12187,10 +12465,10 @@ msgid "Locked Files"
msgstr "ロックã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«"
msgid "Locked by %{fileLockUserName}"
-msgstr ""
+msgstr "%{fileLockUserName} ã«ã‚ˆã£ã¦ ã«ãƒ­ãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "Locked the discussion."
-msgstr ""
+msgstr "ロックã—ãŸè­°è«–"
msgid "Locked to current projects"
msgstr "ç¾åœ¨ã®ãƒ—ロジェクトã¯ãƒ­ãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™"
@@ -12214,10 +12492,10 @@ msgid "Logs|To see the logs, deploy your code to an environment."
msgstr ""
msgid "Low vulnerabilities present"
-msgstr ""
+msgstr "å¼±ã„脆弱性ã®å­˜åœ¨"
msgid "MB"
-msgstr ""
+msgstr "MB"
msgid "MD5"
msgstr "MD5"
@@ -12271,14 +12549,11 @@ msgid "Makes this issue confidential."
msgstr "課題をéžå…¬é–‹ã«è¨­å®šã™ã‚‹ã€‚"
msgid "Malformed string"
-msgstr ""
+msgstr "ä¸æ­£ãªãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã®æ–‡å­—列"
msgid "Manage"
msgstr "管ç†"
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr "ã‚ãªãŸã®ã‚³ãƒ¼ãƒ‰ã‚’安全ã«ä¿ã¤ãŸã‚ã«ã€ã‚¢ã‚¯ã‚»ã‚¹ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ã§ Git リãƒã‚¸ãƒˆãƒªã‚’管ç†ã—ã¾ã™ã€‚コードレビューを実行ã—ã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¨ã®ã‚³ãƒ©ãƒœãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’強化ã—ã¾ã™ã€‚å„プロジェクトã«ã¯ã€èª²é¡Œãƒˆãƒ©ãƒƒã‚«ãƒ¼ã¨ã‚¦ã‚£ã‚­ã‚‚ã‚ã‚Šã¾ã™ã€‚"
-
msgid "Manage Web IDE features"
msgstr "Web IDE 機能ã®ç®¡ç†"
@@ -12309,6 +12584,9 @@ msgstr "2è¦ç´ èªè¨¼ã®ç®¡ç†"
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr "マニフェスト"
@@ -12343,7 +12621,7 @@ msgid "Mark To Do as done"
msgstr "Todo を完了ã«ã™ã‚‹"
msgid "Mark as done"
-msgstr ""
+msgstr "完了ã«ã™ã‚‹"
msgid "Mark as resolved"
msgstr "解決済ã«ã™ã‚‹"
@@ -12355,7 +12633,7 @@ msgid "Mark this issue as a duplicate of another issue"
msgstr "ã“ã®èª²é¡Œã‚’別ã®èª²é¡Œã¨é‡è¤‡ã—ã¦ã„ã‚‹ã¨ãƒžãƒ¼ã‚¯ã™ã‚‹"
msgid "Mark this issue as related to another issue"
-msgstr ""
+msgstr "ã“ã®èª²é¡Œã‚’別ã®èª²é¡Œã«é–¢é€£ã—ã¦ã„ã‚‹ã¨ãƒžãƒ¼ã‚¯ã™ã‚‹"
msgid "Markdown"
msgstr "Markdown"
@@ -12367,22 +12645,22 @@ msgid "Markdown enabled"
msgstr "マークダウンを使用ã§ãã¾ã™"
msgid "Markdown is supported"
-msgstr ""
+msgstr "マークダウンをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚"
msgid "Marked To Do as done."
-msgstr ""
+msgstr "Todo を完了ã«ã—ãŸã€‚"
msgid "Marked this %{noun} as Work In Progress."
-msgstr ""
+msgstr "ã“ã® %{noun} を作業中ã¨ãƒžãƒ¼ã‚¯ã—ã¾ã—ãŸã€‚"
msgid "Marked this issue as a duplicate of %{duplicate_param}."
-msgstr ""
+msgstr "ã“ã®èª²é¡Œã¯ %{duplicate_param} ã¨é‡è¤‡ã¨ã—ã¦ã„ã‚‹ã¨ãƒžãƒ¼ã‚¯ã—ã¾ã—ãŸã€‚"
msgid "Marked this issue as related to %{issue_ref}."
-msgstr ""
+msgstr "ã“ã®èª²é¡Œã‚’ %{issue_ref} ã«é–¢é€£ã—ã¦ã„ã‚‹ã¨ãƒžãƒ¼ã‚¯ã—ã¾ã—ãŸã€‚"
msgid "Marks To Do as done."
-msgstr ""
+msgstr "Todo を完了ã«ã™ã‚‹."
msgid "Marks this %{noun} as Work In Progress."
msgstr ""
@@ -12400,28 +12678,28 @@ msgid "Match not found; try refining your search query."
msgstr "マッãƒã—ã¾ã›ã‚“ã§ã—ãŸã€‚検索クエリを変ãˆã¦è©¦ã—ã¦ãã ã•ã„。"
msgid "MattermostService|Add to Mattermost"
-msgstr ""
+msgstr "Mattermostã«è¿½åŠ "
msgid "MattermostService|Command trigger word"
-msgstr ""
+msgstr "コマンドã®ãƒˆãƒªã‚¬ãƒ¼ãƒ¯ãƒ¼ãƒ‰"
msgid "MattermostService|Fill in the word that works best for your team."
-msgstr ""
+msgstr "ãƒãƒ¼ãƒ ã«æœ€é©ãªãƒ¯ãƒ¼ãƒ‰ã‚’入力ã—ã¦ãã ã•ã„。"
msgid "MattermostService|Request URL"
-msgstr ""
+msgstr "リクエストURL"
msgid "MattermostService|Request method"
-msgstr ""
+msgstr "リクエストメソッド"
msgid "MattermostService|Response icon"
-msgstr ""
+msgstr "応答アイコン"
msgid "MattermostService|Response username"
msgstr "応答ユーザーå"
msgid "MattermostService|See list of available commands in Mattermost after setting up this service, by entering"
-msgstr ""
+msgstr "ã“ã®ã‚µãƒ¼ãƒ“スを設定ã—ãŸå¾Œã«Mattermost上ã§ä½¿ç”¨ã§ãるコマンドã®ãƒªã‚¹ãƒˆã‚’表示ã™ã‚‹ã«ã¯ã€æ¬¡ã‚’入力ã—ã¾ã™ã€‚"
msgid "MattermostService|Suggestions:"
msgstr ""
@@ -12472,7 +12750,7 @@ msgid "Maximum job timeout"
msgstr "ジョブタイムアウトã®æœ€å¤§å€¤"
msgid "Maximum job timeout has a value which could not be accepted"
-msgstr ""
+msgstr "最大ジョブタイムアウトã«ã¯å—ã‘入れられãªã„値ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™"
msgid "Maximum lifetime allowable for Personal Access Tokens is active, your expire date must be set before %{maximum_allowable_date}."
msgstr ""
@@ -12481,7 +12759,7 @@ msgid "Maximum namespace storage (MB)"
msgstr ""
msgid "Maximum number of %{name} (%{count}) exceeded"
-msgstr ""
+msgstr "%{name} ã®ä¸Šé™(%{count})を超ãˆã¾ã—ãŸ"
msgid "Maximum number of comments exceeded"
msgstr "コメント数ãŒä¸Šé™ã«é”ã—ã¾ã—ãŸã€‚"
@@ -12511,7 +12789,7 @@ msgid "Maximum size of individual attachments in comments."
msgstr ""
msgid "Maximum time between updates that a mirror can have when scheduled to synchronize."
-msgstr ""
+msgstr "åŒæœŸãŒã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã¨ãã«ãƒŸãƒ©ãƒ¼ãƒªãƒ³ã‚°ã®æ›´æ–°é–“ã®æœ€å¤§æ™‚間。"
msgid "May"
msgstr "5月"
@@ -12523,13 +12801,13 @@ msgid "Median"
msgstr "中央値"
msgid "Medium vulnerabilities present"
-msgstr ""
+msgstr "中程度ã®è„†å¼±æ€§ã®å­˜åœ¨"
msgid "Member lock"
-msgstr ""
+msgstr "メンãƒãƒ¼ã®ãƒ­ãƒƒã‚¯"
msgid "Member since %{date}"
-msgstr ""
+msgstr "%{date} ã«ãƒ¡ãƒ³ãƒãƒ¼ç™»éŒ²"
msgid "Members"
msgstr "メンãƒãƒ¼"
@@ -12547,7 +12825,7 @@ msgid "Members with pending access to %{strong_start}%{group_name}%{strong_end}"
msgstr ""
msgid "Memory Usage"
-msgstr ""
+msgstr "メモリ使用é‡"
msgid "Memory limit exceeded while rendering template"
msgstr ""
@@ -12573,6 +12851,9 @@ msgstr "作æˆã•ã‚ŒãŸãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr "マージコミットメッセージ"
@@ -12664,7 +12945,7 @@ msgid "MergeRequests|Saving the comment failed"
msgstr "コメントã®ä¿å­˜ã«å¤±æ•—ã—ã¾ã—ãŸ"
msgid "MergeRequests|Squash task canceled: another squash is already in progress."
-msgstr ""
+msgstr "スカッシュタスクãŒå–り消ã•ã‚Œã¾ã—ãŸã€‚別ã®ã‚¹ã‚«ãƒƒã‚·ãƒ¥ãŒæ—¢ã«é€²è¡Œä¸­ã§ã™ã€‚"
msgid "MergeRequests|Thread stays resolved"
msgstr ""
@@ -12682,7 +12963,7 @@ msgid "MergeRequests|Toggle comments for this file"
msgstr "ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’切り替ãˆã¾ã™"
msgid "MergeRequests|View file @ %{commitId}"
-msgstr ""
+msgstr "%{commitId} ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’表示"
msgid "MergeRequests|View replaced file @ %{commitId}"
msgstr ""
@@ -12709,10 +12990,10 @@ msgid "MergeRequest|Compare %{source} and %{target}"
msgstr ""
msgid "MergeRequest|Error dismissing suggestion popover. Please try again."
-msgstr ""
+msgstr "サジェストãƒãƒƒãƒ—オーãƒãƒ¼å´ä¸‹ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "MergeRequest|Error loading full diff. Please try again."
-msgstr ""
+msgstr "全体差分を読ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ä¸‹ã•ã„。"
msgid "MergeRequest|No files found"
msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
@@ -12724,6 +13005,12 @@ msgid "Merged"
msgstr "マージ済ã¿"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
+msgstr "マージã—ãŸãƒ–ランãƒã¯å‰Šé™¤ä¸­ã§ã™ã€‚ã“ã‚Œã¯ãƒ–ランãƒã®æ•°ã«ã‚ˆã£ã¦ã¯æ™‚é–“ãŒã‹ã‹ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚進æ—を確èªã™ã‚‹ã«ã¯ã€ãƒšãƒ¼ã‚¸ã‚’æ›´æ–°ã—ã¦ãã ã•ã„。"
+
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
msgstr ""
msgid "Merges this merge request when the pipeline succeeds."
@@ -12775,7 +13062,7 @@ msgid "Metrics and profiling"
msgstr "メトリクスã¨ãƒ—ロファイリング"
msgid "Metrics for environment"
-msgstr ""
+msgstr "環境ã®ãƒ¡ãƒˆãƒªã‚¯ã‚¹"
msgid "Metrics::Dashboard::Annotation|Annotation can't belong to both a cluster and an environment at the same time"
msgstr ""
@@ -12832,12 +13119,15 @@ msgid "Metrics|Edit metric"
msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
-msgid "Metrics|Environment"
-msgstr "環境"
+msgid "Metrics|Expand panel"
+msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr "é¡žä¼¼ã®ãƒ¡ãƒˆãƒªã‚¯ã‚¹ã‚’グループ化"
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12868,9 +13158,6 @@ msgstr "Prometheus クエリã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ"
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -12881,7 +13168,7 @@ msgid "Metrics|There was an error fetching annotations. Please try again."
msgstr ""
msgid "Metrics|There was an error fetching the environments data, please try again"
-msgstr ""
+msgstr "環境データã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„"
msgid "Metrics|There was an error getting annotations information."
msgstr ""
@@ -12890,13 +13177,13 @@ msgid "Metrics|There was an error getting deployment information."
msgstr "デプロイ情報ã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "Metrics|There was an error getting environments information."
-msgstr ""
+msgstr "環境情報ã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "Metrics|There was an error trying to validate your query"
-msgstr ""
+msgstr "クエリã®æ¤œè¨¼ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
msgid "Metrics|There was an error while retrieving metrics"
-msgstr ""
+msgstr "メトリクスã®å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
msgid "Metrics|There was an error while retrieving metrics. %{message}"
msgstr ""
@@ -12911,7 +13198,7 @@ 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 ""
+msgstr "クエリãŒå˜ä¸€ã®ç³»åˆ—ã‚’è¿”ã™ã¨ãã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚複数ã®ç³»åˆ—ãŒè¿”ã•ã‚ŒãŸå ´åˆã€æ±Žç”¨ãƒ©ãƒ™ãƒ«ã¯ãã®å¿œç­”ã‹ã‚‰å–å¾—ã—ã¾ã™ã€‚"
msgid "Metrics|Validating query"
msgstr ""
@@ -12929,13 +13216,13 @@ msgid "Metrics|You can save a copy of this dashboard to your repository so it ca
msgstr ""
msgid "Metrics|You're about to permanently delete this metric. This cannot be undone."
-msgstr ""
+msgstr "ã“ã®ãƒ¡ãƒˆãƒªã‚¯ã‚¹ã‚’完全ã«å‰Šé™¤ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã®æ“作ã¯ã€å…ƒã«æˆ»ã›ã¾ã›ã‚“。"
msgid "Metrics|e.g. HTTP requests"
msgstr "例: HTTP リクエスト"
msgid "Metrics|e.g. Requests/second"
-msgstr ""
+msgstr "例:リクエスト毎秒"
msgid "Metrics|e.g. Throughput"
msgstr "例:スループット"
@@ -12944,16 +13231,19 @@ msgid "Metrics|e.g. rate(http_requests_total[5m])"
msgstr "例:レート (http_requests_total[5m])"
msgid "Metrics|e.g. req/sec"
-msgstr ""
+msgstr "例:リクエスト毎秒"
msgid "Microsoft Azure"
msgstr ""
-msgid "Migrated %{success_count}/%{total_count} files."
+msgid "Middleman project with Static Site Editor support"
msgstr ""
+msgid "Migrated %{success_count}/%{total_count} files."
+msgstr "%{success_count}/%{total_count} 個ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒç§»è¡Œã•ã‚Œã¾ã—ãŸã€‚"
+
msgid "Migration successful."
-msgstr ""
+msgstr "移行æˆåŠŸ"
msgid "Milestone"
msgid_plural "Milestones"
@@ -12963,16 +13253,16 @@ msgid "Milestone lists not available with your current license"
msgstr "ç¾åœ¨ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ã§ã¯ マイルストーンリストを利用ã§ãã¾ã›ã‚“"
msgid "Milestone lists show all issues from the selected milestone."
-msgstr ""
+msgstr "マイルストーンリストã«ã¯ã€é¸æŠžã—ãŸãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³ã®ã™ã¹ã¦ã®èª²é¡Œã‚’表示ã—ã¾ã™ã€‚"
msgid "Milestones"
msgstr "マイルストーン"
msgid "Milestones| You’re about to permanently delete the milestone %{milestoneTitle} and remove it from %{issuesWithCount} and %{mergeRequestsWithCount}. Once deleted, it cannot be undone or recovered."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ã€ãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³ %{milestoneTitle} を永久ã«å‰Šé™¤ã—〠%{issuesWithCount} 㨠%{mergeRequestsWithCount} ã‹ã‚‰å‰Šé™¤ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚一度削除ã™ã‚‹ã¨ã€å…ƒã«æˆ»ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
msgid "Milestones| You’re about to permanently delete the milestone %{milestoneTitle}. This milestone is not currently used in any issues or merge requests."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ã€ãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³ %{milestoneTitle} を永久ã«å‰Šé™¤ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã®ãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³ã¯ç¾åœ¨ã€èª²é¡Œã¾ãŸã¯ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
msgid "Milestones|Delete milestone"
msgstr "マイルストーンã®å‰Šé™¤"
@@ -12993,22 +13283,22 @@ msgid "Milestones|Promote Milestone"
msgstr "マイルストーンã®æ˜‡æ ¼"
msgid "Milestones|Promoting %{milestoneTitle} will make it available for all projects inside %{groupName}. Existing project milestones with the same title will be merged."
-msgstr ""
+msgstr "%{milestoneTitle} を昇格ã™ã‚‹ã¨ã€ %{groupName} 内ã®ã™ã¹ã¦ã®ãƒ—ロジェクトã§ä½¿ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚åŒã˜ã‚¿ã‚¤ãƒˆãƒ«ã‚’æŒã¤æ—¢å­˜ã®ãƒ—ロジェクトマイルストーンãŒãƒžãƒ¼ã‚¸ã•ã‚Œã¾ã™ã€‚"
msgid "Milestones|This action cannot be reversed."
msgstr "ã“ã®æ“作ã¯å…ƒã«æˆ»ã›ã¾ã›ã‚“。"
msgid "Minimum capacity to be available before we schedule more mirrors preemptively."
-msgstr ""
+msgstr "より多ãã®ãƒŸãƒ©ãƒ¼ã‚’優先的ã«ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã™ã‚‹å‰ã«ä½¿ç”¨å¯èƒ½ã«ãªã‚‹ãŸã‚ã®æœ€å°å®¹é‡ã€‚"
msgid "Minimum length is %{minimum_password_length} characters"
-msgstr ""
+msgstr "パスワードã¯æœ€ä½Ž %{minimum_password_length} 文字ã§ã™ã€‚"
msgid "Minimum length is %{minimum_password_length} characters."
-msgstr ""
+msgstr "パスワードã¯æœ€ä½Ž %{minimum_password_length} 文字ã§ã™ã€‚"
msgid "Minimum password length (number of characters)"
-msgstr ""
+msgstr "パスワードã®æœ€å°æ–‡å­—æ•°"
msgid "Minutes"
msgstr "分"
@@ -13044,7 +13334,7 @@ msgid "Mirroring was successfully disabled."
msgstr "ミラーリングを正ã—ã無効化ã—ã¾ã—ãŸ"
msgid "Mirroring will only be available if the feature is included in the plan of the selected group or user."
-msgstr ""
+msgstr "ミラーリングã¯ã€é¸æŠžã—ãŸã‚°ãƒ«ãƒ¼ãƒ—ã¾ãŸã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒãƒ—ランã«å«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã«ã®ã¿åˆ©ç”¨å¯èƒ½ã§ã™ã€‚"
msgid "Missing commit signatures endpoint!"
msgstr "コミット署åã®ã‚¨ãƒ³ãƒ‰ãƒã‚¤ãƒ³ãƒˆãŒã¿ã¤ã‹ã‚Šã¾ã›ã‚“。"
@@ -13158,7 +13448,7 @@ msgid "Moved this issue to %{path_to_project}."
msgstr ""
msgid "Moves issue to %{label} column in the board."
-msgstr ""
+msgstr "課題をボード㮠%{label} 列ã«ç§»å‹•ã—ã¾ã™ã€‚"
msgid "Moves this issue to %{path_to_project}."
msgstr "課題を %{path_to_project} ã«ç§»å‹•ã™ã‚‹ã€‚"
@@ -13209,7 +13499,7 @@ msgid "Namespace: %{namespace}"
msgstr ""
msgid "Namespaces to index"
-msgstr ""
+msgstr "インデックス作æˆã™ã‚‹åå‰ç©ºé–“"
msgid "Naming, topics, avatar"
msgstr "命åã€ãƒˆãƒ”ックã€ã‚¢ãƒã‚¿ãƒ¼"
@@ -13242,7 +13532,7 @@ msgid "Network"
msgstr "ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯"
msgid "Never"
-msgstr ""
+msgstr "ã—ãªã„"
msgid "New"
msgstr "æ–°ã—ã„"
@@ -13333,7 +13623,7 @@ msgid "New issue"
msgstr "æ–°è¦èª²é¡Œ"
msgid "New issue title"
-msgstr ""
+msgstr "æ–°ã—ã„課題ã®ã‚¿ã‚¤ãƒˆãƒ«"
msgid "New label"
msgstr "æ–°ã—ã„ラベル"
@@ -13375,7 +13665,7 @@ msgid "New tag"
msgstr "æ–°è¦ã‚¿ã‚°"
msgid "New users set to external"
-msgstr ""
+msgstr "æ–°è¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’外部ユーザーã«è¨­å®š"
msgid "New! Suggest changes directly"
msgstr ""
@@ -13387,15 +13677,15 @@ msgid "Newest first"
msgstr ""
msgid "Newly registered users will by default be external"
-msgstr ""
+msgstr "æ–°ã—ã登録ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§å¤–部ユーザーã«ãªã‚Šã¾ã™"
msgid "Next"
msgstr "Next"
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13455,6 +13745,9 @@ msgstr "変更ãªã—"
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr "%{ref_start}%{source_branch}%{ref_end} 㨠%{ref_start}%{target_branch}%{ref_end} ã®é–“ã«å¤‰æ›´ãŒã‚ã‚Šã¾ã›ã‚“。"
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr "Gitaly サーãƒãƒ¼ã«æŽ¥ç¶šã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ログを確èªã—ã¦ãã ã•ã„ï¼"
@@ -13486,7 +13779,7 @@ msgid "No endpoint provided"
msgstr ""
msgid "No errors to display."
-msgstr ""
+msgstr "表示ã§ãるエラーã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "No estimate or time spent"
msgstr "見ç©ã¨å®Ÿç¸¾ã¯æœªå…¥åŠ›"
@@ -13519,7 +13812,7 @@ msgid "No labels with such name or description"
msgstr "ãã®åå‰ã¾ãŸã¯èª¬æ˜Žã®ãƒ©ãƒ™ãƒ«ãŒã‚ã‚Šã¾ã›ã‚“"
msgid "No license. All rights reserved"
-msgstr ""
+msgstr "ライセンス表記ãŒã‚ã‚Šã¾ã›ã‚“。全ã¦ã®æ¨©åˆ©ã‚’ä¿æœ‰ã—ã¦ã„ã¾ã™ã€‚"
msgid "No licenses found."
msgstr "ライセンスãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。"
@@ -13555,7 +13848,7 @@ msgid "No policy matches this license"
msgstr ""
msgid "No preview for this file type"
-msgstr ""
+msgstr "ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚¿ã‚¤ãƒ—ã¯ãƒ—レビューã—ã¾ã›ã‚“"
msgid "No prioritized labels with such name or description"
msgstr ""
@@ -13593,15 +13886,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13612,7 +13896,7 @@ msgid "No worries, you can still use all the %{strong}%{plan_name}%{strong_close
msgstr ""
msgid "No, directly import the existing email addresses and usernames."
-msgstr ""
+msgstr "ã„ã„ãˆã€æ—¢å­˜ã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¨ãƒ¦ãƒ¼ã‚¶ãƒ¼åを直接インãƒãƒ¼ãƒˆã—ã¾ã™ã€‚"
msgid "No, not interested right now"
msgstr ""
@@ -13624,10 +13908,10 @@ msgid "Nobody has starred this repository yet"
msgstr ""
msgid "Node was successfully created."
-msgstr ""
+msgstr "ノードを正常ã«ä½œæˆã—ã¾ã—ãŸã€‚"
msgid "Node was successfully updated."
-msgstr ""
+msgstr "ノードã¯æ­£å¸¸ã«æ›´æ–°ã—ã¾ã—ãŸã€‚"
msgid "Nodes"
msgstr "ノード"
@@ -13669,7 +13953,7 @@ msgid "Not now"
msgstr "後ã§"
msgid "Not ready yet. Try again later."
-msgstr ""
+msgstr "準備ãŒã¾ã ã§ãã¦ã„ã¾ã›ã‚“。ã‚ã¨ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。"
msgid "Not started"
msgstr "開始ã•ã‚Œã¦ã„ã¾ã›ã‚“"
@@ -13684,7 +13968,7 @@ msgid "Note parameters are invalid: %{errors}"
msgstr ""
msgid "Note that this invitation was sent to %{mail_to_invite_email}, but you are signed in as %{link_to_current_user} with email %{mail_to_current_user}."
-msgstr ""
+msgstr "ã“ã®æ‹›å¾…メール㯠%{mail_to_invite_email} å®›ã«é€ä¿¡ã—ã¾ã—ãŸãŒã€ã‚ãªãŸã¯ %{link_to_current_user} ã¨ã—ã¦ãŠã‚Šã€ãã®Eメールアドレス㯠%{mail_to_current_user} ã§ã™ã€‚"
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 経由ã®ãƒ­ã‚°ã‚¤ãƒ³ã‚’許å¯ã—ã€å€‹äººç”¨ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒˆãƒ¼ã‚¯ãƒ³ã‚’生æˆã›ãšã«ãƒªãƒã‚¸ãƒˆãƒªã«æŽ¥ç¶šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
@@ -13699,13 +13983,13 @@ msgid "Note: Consider asking your GitLab administrator to configure %{github_int
msgstr "注: GitLab ã®ç®¡ç†è€…ã«%{github_integration_link} を設定ã—ã¦ã€GitHub 経由ã®ãƒ­ã‚°ã‚¤ãƒ³ãŒè¨±å¯ã—ã€å€‹äººç”¨ã®ã‚¢ã‚¯ã‚»ã‚¹ãƒˆãƒ¼ã‚¯ãƒ³ã‚’生æˆã›ãšã«ãƒªãƒã‚¸ãƒˆãƒªã‚’インãƒãƒ¼ãƒˆã§ããªã„ã‹å•ã„åˆã‚ã›ãã ã•ã„。"
msgid "NoteForm|Note"
-msgstr ""
+msgstr "メモ"
msgid "Notes|Are you sure you want to cancel creating this comment?"
msgstr "本当ã«ã“ã®ã‚³ãƒ¡ãƒ³ãƒˆã®ä½œæˆã‚’キャンセルã—ã¾ã™ã‹ï¼Ÿ"
msgid "Notes|Collapse replies"
-msgstr ""
+msgstr "返信を折りãŸãŸã‚€"
msgid "Notes|Show all activity"
msgstr "ã™ã¹ã¦ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ“ティを表示"
@@ -13717,7 +14001,7 @@ msgid "Notes|Show history only"
msgstr "履歴ã®ã¿è¡¨ç¤º"
msgid "Notes|This comment has changed since you started editing, please review the %{open_link}updated comment%{close_link} to ensure information is not lost"
-msgstr ""
+msgstr "ã“ã®ã‚³ãƒ¡ãƒ³ãƒˆã¯ç·¨é›†ã‚’始ã‚ã¦ã‹ã‚‰å¤‰æ›´ã•ã‚Œã¦ã„ã¾ã™ã€‚情報ãŒå¤±ã‚ã‚Œãªã„よã†ã«ã€%{open_link}æ›´æ–°ã•ã‚ŒãŸã‚³ãƒ¡ãƒ³ãƒˆ%{close_link}をレビューã—ã¦ãã ã•ã„。"
msgid "Nothing found…"
msgstr ""
@@ -13725,6 +14009,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr "プレビューã§ãã‚‹ã‚‚ã®ã¯ä½•ã‚‚ã‚ã‚Šã¾ã›ã‚“。"
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "イベント通知"
@@ -13735,7 +14022,7 @@ msgid "Notification setting - %{notification_title}"
msgstr "通知設定 - %{notification_title}"
msgid "Notification settings saved"
-msgstr ""
+msgstr "通知設定ãŒä¿å­˜ã•ã‚Œã¾ã—ãŸ"
msgid "NotificationEvent|Close issue"
msgstr "課題をクローズ"
@@ -13798,7 +14085,7 @@ msgid "NotificationLevel|Watch"
msgstr "ã™ã¹ã¦é€šçŸ¥"
msgid "NotificationSetting|Custom"
-msgstr ""
+msgstr "カスタム"
msgid "Notifications"
msgstr "通知"
@@ -13825,10 +14112,10 @@ msgid "Number of %{itemTitle}"
msgstr ""
msgid "Number of Elasticsearch replicas"
-msgstr ""
+msgstr "Elasticsearchã®ãƒ¬ãƒ—リカã®æ•°"
msgid "Number of Elasticsearch shards"
-msgstr ""
+msgstr "Elasticsearchã®ã‚·ãƒ£ãƒ¼ãƒ‰ã®æ•°"
msgid "Number of LOCs per commit"
msgstr ""
@@ -13858,7 +14145,7 @@ msgid "Object Storage replication"
msgstr ""
msgid "Object does not exist on the server or you don't have permissions to access it"
-msgstr ""
+msgstr "オブジェクトãŒã‚µãƒ¼ãƒãƒ¼ã«å­˜åœ¨ã—ã¾ã›ã‚“ã€ã¾ãŸã¯ã€ãã‚Œã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“"
msgid "Oct"
msgstr "10月"
@@ -13888,23 +14175,26 @@ msgid "On track"
msgstr ""
msgid "Onboarding"
-msgstr ""
+msgstr "オンボーディング"
msgid "Once imported, repositories can be mirrored over SSH. Read more %{link_start}here%{link_end}."
msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
+msgstr "一度削除ã™ã‚‹ã¨ã€forkã®é–¢ä¿‚ã‚’å…ƒã«æˆ»ã™ã“ã¨ã¯ã§ããªããªã‚Šã¾ã™ã€‚ã¾ãŸã€ã‚ãªãŸã¯ãã®ã‚½ãƒ¼ã‚¹ã¸ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ä¿¡ã§ããªããªã‚Šã¾ã™ã€‚"
+
+msgid "Once the exported file is ready you can download it from this page."
msgstr ""
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
-msgstr ""
+msgstr "エクスãƒãƒ¼ãƒˆã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã®æº–å‚™ãŒã§ããŸã‚‰ã€ã‚ãªãŸã¯ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ãƒªãƒ³ã‚¯ä»˜ãã®é€šçŸ¥ãƒ¡ãƒ¼ãƒ«ã‚’å—ã‘å–ã‚Œã¾ã™ã€‚ã¾ãŸã¯ã“ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰ãれをダウンロードã§ãã¾ã™ã€‚"
msgid "Once you confirm and press \"Reduce project visibility\":"
msgstr ""
msgid "One more item"
msgid_plural "%d more items"
-msgstr[0] ""
+msgstr[0] "ãã®ä»–ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ä»¶æ•° %d"
msgid "One or more groups that you don't have access to."
msgstr ""
@@ -13952,7 +14242,7 @@ msgid "Only policy:"
msgstr "ãƒãƒªã‚·ãƒ¼ã®ã¿:"
msgid "Only proceed if you trust %{idp_url} to control your GitLab account sign in."
-msgstr ""
+msgstr "GitLab アカウントã®ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã‚’制御ã™ã‚‹ãŸã‚ã« %{idp_url} ã‚’ä¿¡é ¼ã™ã‚‹å ´åˆã«ã®ã¿ç¶šè¡Œã—ã¦ãã ã•ã„。"
msgid "Only project members can comment."
msgstr "プロジェクトメンãƒãƒ¼ã®ã¿ã‚³ãƒ¡ãƒ³ãƒˆã§ãã¾ã™"
@@ -13967,7 +14257,7 @@ msgid "Only ‘Reporter’ roles and above on tiers Premium / Silver and above c
msgstr ""
msgid "Oops, are you sure?"
-msgstr ""
+msgstr "ãã‚Œã¯ã€æœ¬å½“ã§ã™ã‹ï¼Ÿ"
msgid "Open"
msgstr "é–‹ã"
@@ -13996,9 +14286,6 @@ msgstr ""
msgid "Open sidebar"
msgstr "サイドãƒãƒ¼ã‚’é–‹ã"
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14012,7 +14299,7 @@ msgid "Opened MR"
msgstr "オープン中ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
msgid "Opened issues"
-msgstr ""
+msgstr "オープン中ã®èª²é¡Œ"
msgid "OpenedNDaysAgo|Opened"
msgstr "オープンã•ã‚ŒãŸã®ã¯"
@@ -14033,7 +14320,7 @@ msgid "Operations Dashboard"
msgstr ""
msgid "Operations Settings"
-msgstr ""
+msgstr "æ“作設定"
msgid "OperationsDashboard|Add a project to the dashboard"
msgstr "ダッシュボードã«ãƒ—ロジェクトを追加"
@@ -14042,13 +14329,13 @@ msgid "OperationsDashboard|Add projects"
msgstr "プロジェクトを追加"
msgid "OperationsDashboard|More information"
-msgstr ""
+msgstr "詳細情報"
msgid "OperationsDashboard|Operations Dashboard"
-msgstr ""
+msgstr "オペレーションダッシュボード"
msgid "OperationsDashboard|The operations dashboard provides a summary of each project's operational health, including pipeline and alert statuses."
-msgstr ""
+msgstr "オペレーションダッシュボードã¯å„プロジェクトé‹ç”¨çŠ¶æ…‹ï¼ˆãƒ‘イプライン&アラート状態ãªã©ï¼‰ã‚’表示ã•ã‚Œã¾ã™ã€‚"
msgid "Optional"
msgstr "オプション"
@@ -14078,7 +14365,7 @@ msgid "Other information"
msgstr "ãã®ä»–ã®æƒ…å ±"
msgid "Other merge requests block this MR"
-msgstr ""
+msgstr "ä»–ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ブロックã—ã¾ã™"
msgid "Other visibility settings have been disabled by the administrator."
msgstr ""
@@ -14087,7 +14374,7 @@ msgid "Out-of-compliance with this project's policies and should be removed"
msgstr ""
msgid "Outbound requests"
-msgstr ""
+msgstr "アウトãƒã‚¦ãƒ³ãƒ‰ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
msgid "OutdatedBrowser|From May 2020 GitLab no longer supports Internet Explorer 11."
msgstr ""
@@ -14101,23 +14388,26 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "概è¦"
msgid "Overwrite diverged branches"
-msgstr ""
+msgstr "分å²ã—ãŸãƒ–ランãƒã®ä¸Šæ›¸ã"
msgid "Owned by anyone"
msgstr ""
msgid "Owned by me"
-msgstr ""
+msgstr "ç§ãŒæ‰€æœ‰"
msgid "Owner"
msgstr "オーナー"
msgid "Package Registry"
-msgstr ""
+msgstr "パッケージレジストリ"
msgid "Package already exists"
msgstr ""
@@ -14152,6 +14442,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14173,6 +14466,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14206,6 +14502,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14215,6 +14517,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14233,12 +14538,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14275,6 +14586,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14290,23 +14604,26 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr "パッケージ"
msgid "Page not found"
-msgstr ""
+msgstr "ページãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
msgid "Page was successfully deleted"
-msgstr ""
+msgstr "ページã¯æ­£å¸¸ã«å‰Šé™¤ã•ã‚Œã¾ã—ãŸ"
msgid "Pages"
msgstr "Pages"
msgid "Pages Domain"
-msgstr ""
+msgstr "ページドメイン"
msgid "Pages getting started guide"
-msgstr ""
+msgstr "Pages 入門ガイド"
msgid "Pagination|Go to first page"
msgstr ""
@@ -14369,28 +14686,31 @@ msgid "Password Policy Guidelines"
msgstr ""
msgid "Password authentication is unavailable."
-msgstr ""
+msgstr "パスワードèªè¨¼ã¯ã”利用ã§ãã¾ã›ã‚“。"
msgid "Password confirmation"
msgstr "パスワードã®ç¢ºèª"
msgid "Password successfully changed"
-msgstr ""
+msgstr "パスワードãŒæ­£å¸¸ã«å¤‰æ›´ã•ã‚Œã¾ã—ãŸ"
msgid "Password was successfully updated. Please login with it"
-msgstr ""
+msgstr "パスワードã¯æ­£å¸¸ã«æ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚æ–°ã—ã„パスワードã§ãƒ­ã‚°ã‚¤ãƒ³ã—ãªãŠã—ã¦ãã ã•ã„。"
msgid "Past due"
msgstr "期é™åˆ‡ã‚Œ"
-msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
+msgid "Paste a machine public key here. Read more about how to generate it"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
+msgstr "マシンã®å…¬é–‹éµã‚’ã“ã“ã«è²¼ã‚Šä»˜ã‘ã¾ã™ã€‚生æˆæ–¹æ³•ã«ã¤ã„ã¦ã¯%{link_start}ã“ã¡ã‚‰%{link_end}を確èªã—ã¦ä¸‹ã•ã„。"
+
msgid "Paste epic link"
-msgstr ""
+msgstr "エピックリンクã®è²¼ã‚Šä»˜ã‘"
msgid "Paste issue link"
-msgstr ""
+msgstr "課題リンクã®è²¼ã‚Šä»˜ã‘"
msgid "Paste your public SSH key, which is usually contained in the file '~/.ssh/id_ed25519.pub' or '~/.ssh/id_rsa.pub' and begins with 'ssh-ed25519' or 'ssh-rsa'. Don't use your private SSH key."
msgstr ""
@@ -14398,9 +14718,6 @@ msgstr ""
msgid "Path"
msgstr "パス"
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr "パス:"
@@ -14411,10 +14728,10 @@ msgid "Pause"
msgstr "åœæ­¢"
msgid "Pause replication"
-msgstr ""
+msgstr "レプリケーションã®ä¸€æ™‚åœæ­¢"
msgid "Paused Runners don't accept new jobs"
-msgstr ""
+msgstr "一時åœæ­¢ã—ãŸãƒ©ãƒ³ãƒŠãƒ¼ã¯æ–°ã—ã„ジョブをå—ã‘入れãªã„"
msgid "Pending"
msgstr "ä¿ç•™ä¸­"
@@ -14431,8 +14748,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "パスã®å¤‰æ›´ã€è»¢é€ã€ã‚°ãƒ«ãƒ¼ãƒ—ã®å‰Šé™¤ãªã©ã®é«˜åº¦ãªã‚ªãƒ—ションを実行ã—ã¾ã™ã€‚"
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr ""
@@ -14447,7 +14764,7 @@ msgid "PerformanceBar|Frontend resources"
msgstr ""
msgid "PerformanceBar|Gitaly calls"
-msgstr ""
+msgstr "Gitalyリクエスト"
msgid "PerformanceBar|Redis calls"
msgstr ""
@@ -14512,9 +14829,6 @@ msgstr "パイプラインスケジュール"
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr "パイプラインã®ã‚¯ã‚©ãƒ¼ã‚¿"
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14524,6 +14838,9 @@ msgstr "パイプラインã®ãƒˆãƒªã‚¬ãƒ¼"
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "失敗:"
@@ -14602,20 +14919,11 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr "%{project_name} ã®ãƒ‘イプライン設定を正常ã«æ›´æ–°ã—ã¾ã—ãŸã€‚"
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr "API"
msgid "Pipelines|Build with confidence"
-msgstr ""
+msgstr "ä¿¡é ¼ã®ã‚るビルド"
msgid "Pipelines|CI Lint"
msgstr "CI Lint"
@@ -14627,17 +14935,20 @@ msgid "Pipelines|Clear Runner Caches"
msgstr "Runner ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’削除"
msgid "Pipelines|Continuous Integration can help catch bugs by running your tests automatically, while Continuous Deployment can help you deliver code to your product environment."
-msgstr ""
+msgstr "継続的インテグレーションã¯ã€ãƒ†ã‚¹ãƒˆã‚’自動的ã«å®Ÿè¡Œã™ã‚‹ã“ã¨ã§ãƒã‚°ã‚’検出ã—ã€ç¶™ç¶šçš„デプロイã¯æœ¬ç•ªç’°å¢ƒã«ã‚³ãƒ¼ãƒ‰ã‚’é…ç½®ã™ã‚‹ã®ã«å½¹ç«‹ã¡ã¾ã™ã€‚"
msgid "Pipelines|Get started with Pipelines"
msgstr "パイプラインã®åˆ©ç”¨ã‚’開始ã™ã‚‹"
-msgid "Pipelines|Loading Pipelines"
-msgstr "パイプラインを読ã¿è¾¼ã¿ä¸­"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
+msgid "Pipelines|Loading Pipelines"
+msgstr "パイプラインを読ã¿è¾¼ã¿ä¸­"
+
msgid "Pipelines|Project cache successfully reset."
msgstr "プロジェクトã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’正常ã«ãƒªã‚»ãƒƒãƒˆã—ã¾ã—ãŸã€‚"
@@ -14684,7 +14995,7 @@ msgid "Pipeline|Duration"
msgstr "期間"
msgid "Pipeline|Existing branch name or tag"
-msgstr ""
+msgstr "既存ã®ãƒ–ランãƒåã¾ãŸã¯tag"
msgid "Pipeline|Key"
msgstr ""
@@ -14705,7 +15016,7 @@ msgid "Pipeline|Run Pipeline"
msgstr "パイプラインを実行"
msgid "Pipeline|Run for"
-msgstr ""
+msgstr "実行対象"
msgid "Pipeline|Search branches"
msgstr "ブランãƒã®æ¤œç´¢"
@@ -14756,10 +15067,10 @@ msgid "PivotalTrackerService|Pivotal Tracker API token."
msgstr "Pivotal Tracker APIトークン。"
msgid "PivotalTrackerService|Project Management Software (Source Commits Endpoint)"
-msgstr ""
+msgstr "プロジェクト管ç†ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢(ソースコミットエンドãƒã‚¤ãƒ³ãƒˆ)"
msgid "Plain diff"
-msgstr ""
+msgstr "テキスト差分"
msgid "PlantUML"
msgstr "PlantUML"
@@ -14783,7 +15094,7 @@ msgid "Please add a comment in the text area above"
msgstr "上ã®ãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒªã‚¢ã«ã‚³ãƒ¡ãƒ³ãƒˆã‚’加ãˆã¦ãã ã•ã„。"
msgid "Please add a list to your board first"
-msgstr ""
+msgstr "ã¾ãšã‚ãªãŸã®ãƒœãƒ¼ãƒ‰ã«ãƒªã‚¹ãƒˆã‚’追加ã—ã¦ãã ã•ã„"
msgid "Please check the configuration file for this chart"
msgstr "ãƒãƒ£ãƒ¼ãƒˆã®è¨­å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’確èªã—ã¦ãã ã•ã„"
@@ -14804,7 +15115,7 @@ msgid "Please complete your profile with email address"
msgstr ""
msgid "Please convert them to %{link_to_git}, and go through the %{link_to_import_flow} again."
-msgstr ""
+msgstr "ãれらを %{link_to_git} ã«å¤‰æ›ã—ã¦ã€å†ã³ %{link_to_import_flow} ã‚’è¡Œã£ã¦ãã ã•ã„。"
msgid "Please convert them to Git on Google Code, and go through the %{link_to_import_flow} again."
msgstr "ãれらを Google コード上㧠Git ã«å¤‰æ›ã—ã¦ã€å†ã³ %{link_to_import_flow} ã‚’è¡Œã£ã¦ãã ã•ã„。"
@@ -14819,7 +15130,7 @@ msgid "Please create an index before enabling indexing"
msgstr ""
msgid "Please enable and migrate to hashed storage to avoid security issues and ensure data integrity. %{migrate_link}"
-msgstr ""
+msgstr "セキュリティ上ã®å•é¡Œå›žé¿ã¨ãƒ‡ãƒ¼ã‚¿æ•´åˆæ€§ã®ç¢ºä¿ã®ãŸã‚ã€ãƒãƒƒã‚·ãƒ¥åŒ–ã•ã‚ŒãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ã‚’有効化ã—ã€ç§»è¡Œã—ã¦ãã ã•ã„。 %{migrate_link}"
msgid "Please ensure your account's %{account_link_start}recovery settings%{account_link_end} are up to date."
msgstr ""
@@ -14828,7 +15139,7 @@ msgid "Please enter a non-negative number"
msgstr "有効ãªã‚¼ãƒ­ä»¥ä¸Šã®æ•°å­—を入力ã—ã¦ãã ã•ã„"
msgid "Please enter a number greater than %{number} (from the project settings)"
-msgstr ""
+msgstr "%{number} より大ãã„数字を入力ã—ã¦ãã ã•ã„。(プロジェクト設定ã®ãŸã‚)"
msgid "Please enter a valid number"
msgstr "有効ãªæ•°å€¤ã‚’入力ã—ã¦ãã ã•ã„"
@@ -14846,7 +15157,7 @@ msgid "Please follow the Let's Encrypt troubleshooting instructions to re-obtain
msgstr ""
msgid "Please migrate all existing projects to hashed storage to avoid security issues and ensure data integrity. %{migrate_link}"
-msgstr ""
+msgstr "ã™ã¹ã¦ã®æ—¢å­˜ã®ãƒ—ロジェクトをãƒãƒƒã‚·ãƒ¥åŒ–ã—ãŸã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ã«ç§»è¡Œã—ã¦ã€ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ä¸Šã®å•é¡Œã‚’回é¿ã—ã¦ã€ãƒ‡ãƒ¼ã‚¿æ•´åˆæ€§ã®ç¢ºä¿ã—ã¦ãã ã•ã„。%{migrate_link}"
msgid "Please note that this application is not provided by GitLab and you should verify its authenticity before allowing access."
msgstr "ã“ã®ã‚¢ãƒ—リケーション㯠GitLab ãŒæä¾›ã—ã¦ã„ã¾ã›ã‚“。ãã®ãŸã‚ã‚ãªãŸãŒã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹å‰ã«ãã®èªè¨¼ã‚’確èªã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
@@ -14866,6 +15177,9 @@ msgstr "メールアドレスをå†åº¦å…¥åŠ›ã—ã¦ãã ã•ã„。"
msgid "Please select"
msgstr "é¸æŠžã—ã¦ãã ã•ã„"
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr "国をé¸æŠžã—ã¦ãã ã•ã„"
@@ -14903,7 +15217,7 @@ msgid "Please use this form to report to the admin users who create spam issues,
msgstr ""
msgid "Please wait a moment, this page will automatically refresh when ready."
-msgstr ""
+msgstr "少々ãŠå¾…ã¡ãã ã•ã„。準備ãŒæ•´ã„次第ã“ã®ãƒšãƒ¼ã‚¸ã¯è‡ªå‹•çš„ã«æ›´æ–°ã•ã‚Œã¾ã™ã€‚"
msgid "Please wait while we connect to your repository. Refresh at will."
msgstr "リãƒã‚¸ãƒˆãƒªã«æŽ¥ç¶šã§ãã‚‹ã¾ã§ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„。完了ã™ã‚‹ã¨ã€ç”»é¢ãŒè‡ªå‹•çš„ã«æ›´æ–°ã•ã‚Œã¾ã™ã€‚"
@@ -14911,6 +15225,9 @@ msgstr "リãƒã‚¸ãƒˆãƒªã«æŽ¥ç¶šã§ãã‚‹ã¾ã§ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr "リãƒã‚¸ãƒˆãƒªã‚’インãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã®ã§ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„。完了ã™ã‚‹ã¨ã€ç”»é¢ãŒè‡ªå‹•çš„ã«æ›´æ–°ã•ã‚Œã¾ã™ã€‚"
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -14927,7 +15244,7 @@ msgid "Preferences"
msgstr "基本設定"
msgid "Preferences saved."
-msgstr ""
+msgstr "設定ãŒä¿å­˜ã•ã‚Œã¾ã—ãŸã€‚"
msgid "Preferences|Behavior"
msgstr "挙動"
@@ -14948,13 +15265,13 @@ msgid "Preferences|Default dashboard"
msgstr ""
msgid "Preferences|Display time in 24-hour format"
-msgstr ""
+msgstr "時間を24時間形å¼ã§è¡¨ç¤ºã™ã‚‹"
msgid "Preferences|Enable integrated code intelligence on code views"
msgstr ""
msgid "Preferences|For example: 30 mins ago."
-msgstr ""
+msgstr "例: 30分å‰"
msgid "Preferences|Integrations"
msgstr ""
@@ -14987,7 +15304,7 @@ msgid "Preferences|Tab width"
msgstr ""
msgid "Preferences|These settings will update how dates and times are displayed for you."
-msgstr ""
+msgstr "ã“れらã®è¨­å®šã¯æ—¥ä»˜ã¨æ™‚刻ã®è¡¨ç¤ºå½¢å¼ã‚’æ›´æ–°ã—ã¾ã™ã€‚"
msgid "Preferences|This feature is experimental and translations are not complete yet"
msgstr "ã“ã®æ©Ÿèƒ½ã¯å®Ÿé¨“çš„ãªã‚‚ã®ã§ã™ã€‚ã¾ãŸç¿»è¨³ã¯ã¾ã å®Œäº†ã—ã¦ã„ã¾ã›ã‚“"
@@ -14999,28 +15316,28 @@ msgid "Preferences|This setting allows you to customize the behavior of the syst
msgstr ""
msgid "Preferences|Time display"
-msgstr ""
+msgstr "時間表示"
msgid "Preferences|Time format"
msgstr "時間フォーマット"
msgid "Preferences|Time preferences"
-msgstr ""
+msgstr "時間設定"
msgid "Preferences|Use relative times"
-msgstr ""
+msgstr "相対時間を使用"
msgid "Press %{key}-C to copy"
-msgstr ""
+msgstr "%{key} + C を押ã—ã¦ã‚³ãƒ”ーã™ã‚‹"
msgid "Prevent adding new members to project membership within this group"
msgstr ""
msgid "Prevent approval of merge requests by merge request author"
-msgstr ""
+msgstr "マージリクエストã®ä½œæˆè€…ã«ã‚ˆã‚‹ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ‰¿èªã‚’ç¦æ­¢ã™ã‚‹"
msgid "Prevent approval of merge requests by merge request committers"
-msgstr ""
+msgstr "マージリクエストã®ã‚³ãƒŸãƒƒã‚¿ãƒ¼ã«ã‚ˆã‚‹ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æ‰¿èªã‚’ç¦æ­¢ã™ã‚‹"
msgid "Prevent environment from auto-stopping"
msgstr ""
@@ -15028,7 +15345,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15044,15 +15361,15 @@ msgid "Preview changes"
msgstr "変更をプレビュー"
msgid "Preview payload"
-msgstr ""
+msgstr "データ部ã®ãƒ—レビュー"
msgid "Previous Artifacts"
-msgstr ""
+msgstr "å‰å›žã®æˆæžœç‰©"
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15080,16 +15397,19 @@ msgid "Private - The group and its projects can only be viewed by members."
msgstr "プライベート - グループã¨ãƒ—ロジェクトã¯ãƒ¡ãƒ³ãƒãƒ¼ã®ã¿ãŒé–²è¦§ã§ãã¾ã™ã€‚"
msgid "Private group(s)"
-msgstr ""
+msgstr "éžå…¬é–‹ã‚°ãƒ«ãƒ¼ãƒ—"
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr "ã‚ãªãŸå€‹äººã®åå‰ç©ºé–“ã«ãƒ—ライベートプロジェクトを作æˆã§ãã¾ã™:"
msgid "Proceed"
-msgstr ""
+msgstr "続行"
msgid "Productivity"
msgstr ""
@@ -15149,13 +15469,13 @@ msgid "Profile Settings"
msgstr "プロファイルã®è¨­å®š"
msgid "ProfileSession|on"
-msgstr ""
+msgstr "オン"
msgid "Profiles| You are about to permanently delete %{yourAccount}, and all of the issues, merge requests, and groups linked to your account. Once you confirm %{deleteAccount}, it cannot be undone or recovered."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ %{yourAccount} ã¨ã€ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«ãƒªãƒ³ã‚¯ã•ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®èª²é¡Œã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã€ã‚°ãƒ«ãƒ¼ãƒ—を削除ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ %{deleteAccount} を確èªã™ã‚‹ã¨ã€å…ƒã«æˆ»ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
msgid "Profiles| You are going to change the username %{currentUsernameBold} to %{newUsernameBold}. Profile and projects will be redirected to the %{newUsername} namespace but this redirect will expire once the %{currentUsername} namespace is registered by another user or group. Please update your Git repository remotes as soon as possible."
-msgstr ""
+msgstr "ユーザåã‚’ %{currentUsernameBold} ã‹ã‚‰ %{newUsernameBold} ã«å¤‰æ›´ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚プロファイルã¨ãƒ—ロジェクト㯠%{newUsername} åå‰ç©ºé–“ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã•ã‚Œã¾ã™ã€‚ã—ã‹ã—〠%{currentUsername} åå‰ç©ºé–“ãŒåˆ¥ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¾ãŸã¯ã‚°ãƒ«ãƒ¼ãƒ—ã«ã‚ˆã£ã¦ç™»éŒ²ã•ã‚Œã‚‹ã¨ã€ã“ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã¯æœŸé™åˆ‡ã‚Œã«ãªã‚Šã¾ã™ã€‚ Gitリãƒã‚¸ãƒˆãƒªã®ãƒªãƒ¢ãƒ¼ãƒˆã‚’ã§ãã‚‹ã ã‘æ—©ãæ›´æ–°ã—ã¦ãã ã•ã„。"
msgid "Profiles|@username"
msgstr "@username"
@@ -15164,7 +15484,7 @@ msgid "Profiles|Account scheduled for removal."
msgstr "削除予定ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã§ã™ã€‚"
msgid "Profiles|Activate signin with one of the following services"
-msgstr ""
+msgstr "次ã®ã‚µãƒ¼ãƒ“スã®ä¸­ã‹ã‚‰ä¸€ã¤ã‚’é¸ã‚“ã§ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã‚’有効ã«ã—ã¦ãã ã•ã„"
msgid "Profiles|Active"
msgstr "アクティブ"
@@ -15176,19 +15496,19 @@ msgid "Profiles|Add status emoji"
msgstr "ステータス絵文字を追加"
msgid "Profiles|Avatar cropper"
-msgstr ""
+msgstr "ã‚¢ãƒã‚¿ãƒ¼ã‚¯ãƒ­ãƒƒãƒ‘ー"
msgid "Profiles|Avatar will be removed. Are you sure?"
msgstr "ã‚¢ãƒã‚¿ãƒ¼ã‚’削除ã—ã¾ã™ã€‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
msgid "Profiles|Bio"
-msgstr ""
+msgstr "BIO"
msgid "Profiles|Change username"
msgstr "ユーザーåã®å¤‰æ›´"
msgid "Profiles|Changing your username can have unintended side effects."
-msgstr ""
+msgstr "ユーザーåを変更ã™ã‚‹ã¨ã€æ„図ã—ãªã„副作用ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "Profiles|Choose file..."
msgstr "ファイルをé¸æŠž..."
@@ -15206,13 +15526,13 @@ msgid "Profiles|Click on icon to activate signin with one of the following servi
msgstr ""
msgid "Profiles|Commit email"
-msgstr ""
+msgstr "コミットメール"
msgid "Profiles|Connect"
-msgstr ""
+msgstr "接続"
msgid "Profiles|Connected Accounts"
-msgstr ""
+msgstr "接続ã—ãŸã‚¢ã‚«ã‚¦ãƒ³ãƒˆ"
msgid "Profiles|Current path: %{path}"
msgstr "ç¾åœ¨ã®ãƒ‘ス: %{path}"
@@ -15221,7 +15541,7 @@ msgid "Profiles|Current status"
msgstr "ç¾åœ¨ã®çŠ¶æ…‹"
msgid "Profiles|Default notification email"
-msgstr ""
+msgstr "デフォルト通知メール"
msgid "Profiles|Delete Account"
msgstr "アカウント削除"
@@ -15236,19 +15556,19 @@ msgid "Profiles|Deleting an account has the following effects:"
msgstr "アカウントを削除ã™ã‚‹ã¨æ¬¡ã®ã‚ˆã†ãªå½±éŸ¿ãŒã‚ã‚Šã¾ã™:"
msgid "Profiles|Disconnect"
-msgstr ""
+msgstr "接続断"
msgid "Profiles|Do not show on profile"
msgstr "プロフィールã«è¡¨ç¤ºã—ãªã„"
msgid "Profiles|Don't display activity-related personal information on your profiles"
-msgstr ""
+msgstr "プロファイルã«æ“作ã«é–¢é€£ã—ãŸå€‹äººæƒ…報を表示ã—ãªã„"
msgid "Profiles|Edit Profile"
msgstr "プロフィールを編集"
msgid "Profiles|Enter your name, so people you know can recognize you"
-msgstr ""
+msgstr "ä»–ã®äººãŒã‚ãªãŸã ã¨ã‚ã‹ã‚‹åå‰ã‚’入力ã—ã¦ãã ã•ã„。"
msgid "Profiles|Expires at"
msgstr ""
@@ -15257,7 +15577,7 @@ msgid "Profiles|Expires:"
msgstr ""
msgid "Profiles|Feed token was successfully reset"
-msgstr ""
+msgstr "フィードトークンを正常ã«ãƒªã‚»ãƒƒãƒˆã§ãã¾ã—ãŸ"
msgid "Profiles|Full name"
msgstr "フルãƒãƒ¼ãƒ "
@@ -15269,10 +15589,10 @@ msgid "Profiles|Impersonation"
msgstr ""
msgid "Profiles|Include private contributions on my profile"
-msgstr ""
+msgstr "プロフィールã«å€‹äººçš„ãªã‚³ãƒ³ãƒˆãƒªãƒ“ューションをå«ã‚ã‚‹"
msgid "Profiles|Incoming email token was successfully reset"
-msgstr ""
+msgstr "å—信用ã®ãƒ¡ãƒ¼ãƒ«ãƒˆãƒ¼ã‚¯ãƒ³ã‚’正常ã«ãƒªã‚»ãƒƒãƒˆã§ãã¾ã—ãŸ"
msgid "Profiles|Increase your account's security by enabling Two-Factor Authentication (2FA)"
msgstr "2è¦ç´ èªè¨¼ã‚’有効ã«ã™ã‚‹ã“ã¨ã§ã€ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãŒå‘上ã—ã¾ã™ã€‚"
@@ -15290,13 +15610,13 @@ msgid "Profiles|Last used:"
msgstr ""
msgid "Profiles|Learn more"
-msgstr ""
+msgstr "詳細情報"
msgid "Profiles|Location"
-msgstr ""
+msgstr "場所"
msgid "Profiles|Made a private contribution"
-msgstr ""
+msgstr "éžå…¬é–‹ã§è²¢çŒ®ã™ã‚‹"
msgid "Profiles|Main settings"
msgstr "メインã®è¨­å®š"
@@ -15305,10 +15625,10 @@ msgid "Profiles|No file chosen"
msgstr "ファイルãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“"
msgid "Profiles|Notification email"
-msgstr ""
+msgstr "通知メール"
msgid "Profiles|Organization"
-msgstr ""
+msgstr "組織"
msgid "Profiles|Path"
msgstr "パス"
@@ -15317,22 +15637,22 @@ msgid "Profiles|Personal Access"
msgstr ""
msgid "Profiles|Position and size your new avatar"
-msgstr ""
+msgstr "ã‚ãªãŸã®æ–°ã—ã„ã‚¢ãƒã‚¿ãƒ¼ã®ä½ç½®ã¨ã‚µã‚¤ã‚º"
msgid "Profiles|Primary email"
msgstr ""
msgid "Profiles|Private contributions"
-msgstr ""
+msgstr "éžå…¬é–‹ã®è²¢çŒ®"
msgid "Profiles|Profile was successfully updated"
-msgstr ""
+msgstr "ã‚ãªãŸã®ãƒ—ロファイルを正常ã«æ›´æ–°ã§ãã¾ã—ãŸã€‚"
msgid "Profiles|Public Avatar"
msgstr "公開アãƒã‚¿ãƒ¼"
msgid "Profiles|Public email"
-msgstr ""
+msgstr "公開メール"
msgid "Profiles|Remove avatar"
msgstr "ã‚¢ãƒã‚¿ãƒ¼ã‚’削除"
@@ -15344,7 +15664,7 @@ msgid "Profiles|Social sign-in"
msgstr "ソーシャルサインイン"
msgid "Profiles|Some options are unavailable for LDAP accounts"
-msgstr ""
+msgstr "ã„ãã¤ã‹ã®ã‚ªãƒ—ションã¯LDAPアカウントã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。"
msgid "Profiles|Static object token was successfully reset"
msgstr ""
@@ -15356,7 +15676,7 @@ msgid "Profiles|The ability to update your name has been disabled by your admini
msgstr ""
msgid "Profiles|The maximum file size allowed is 200KB."
-msgstr ""
+msgstr "許å¯ã•ã‚Œã‚‹æœ€å¤§ãƒ•ã‚¡ã‚¤ãƒ«ã‚µã‚¤ã‚ºã¯200KBã§ã™ã€‚"
msgid "Profiles|This doesn't look like a public SSH key, are you sure you want to add it?"
msgstr "ã“れ㯠SSH ã®å…¬é–‹éµã«ã¯è¦‹ãˆã¾ã›ã‚“。本当ã«è¿½åŠ ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
@@ -15386,13 +15706,13 @@ msgid "Profiles|Typically starts with \"ssh-ed25519 …\" or \"ssh-rsa …\""
msgstr ""
msgid "Profiles|Update profile settings"
-msgstr ""
+msgstr "プロファイル設定を更新"
msgid "Profiles|Update username"
msgstr "ユーザーåã‚’æ›´æ–°"
msgid "Profiles|Upload new avatar"
-msgstr ""
+msgstr "æ–°ã—ã„ã‚¢ãƒã‚¿ãƒ¼ã‚’アップロード"
msgid "Profiles|Use a private email - %{email}"
msgstr ""
@@ -15611,10 +15931,10 @@ msgid "Project slug"
msgstr ""
msgid "Project uploads"
-msgstr ""
+msgstr "プロジェクトアップロード"
msgid "Project visibility level will be changed to match namespace rules when transferring to a group."
-msgstr ""
+msgstr "プロジェクトをグループã«è»¢é€ã—ãŸå ´åˆã€ãƒ—ロジェクトã®å¯è¦–性レベルãŒåå‰ç©ºé–“ã®ãƒ«ãƒ¼ãƒ«ã«åˆã‚ã›ã¦å¤‰æ›´ã•ã‚Œã¾ã™ã€‚"
msgid "Project: %{name}"
msgstr ""
@@ -15626,7 +15946,7 @@ msgid "ProjectCreationLevel|Allowed to create projects"
msgstr "プロジェクトã®ä½œæˆã‚’許å¯ã™ã‚‹"
msgid "ProjectCreationLevel|Default project creation protection"
-msgstr ""
+msgstr "デフォルトã®ãƒ—ロジェクト作æˆä¿è­·"
msgid "ProjectCreationLevel|Developers + Maintainers"
msgstr "Developers + Maintainers"
@@ -15635,7 +15955,7 @@ msgid "ProjectCreationLevel|Maintainers"
msgstr "Maintainers"
msgid "ProjectCreationLevel|No one"
-msgstr ""
+msgstr "誰ã«ã‚‚許å¯ã—ãªã„"
msgid "ProjectFileTree|Name"
msgstr "åå‰"
@@ -15668,19 +15988,19 @@ msgid "ProjectOverview|Unstar"
msgstr ""
msgid "ProjectOverview|You have reached your project limit"
-msgstr ""
+msgstr "プロジェクトã®ä½œæˆåˆ¶é™ã«é”ã—ã¾ã—ãŸ"
msgid "ProjectOverview|You must sign in to star a project"
-msgstr ""
+msgstr "プロジェクトã«ã‚¹ã‚¿ãƒ¼ã‚’付ã‘ã‚‹ã«ã¯ã€ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã—ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
msgid "ProjectPage|Project ID: %{project_id}"
-msgstr ""
+msgstr "プロジェクトID: %{project_id}"
msgid "ProjectSelect| or group"
-msgstr ""
+msgstr "ã¾ãŸã¯ã‚°ãƒ«ãƒ¼ãƒ—"
msgid "ProjectSelect|Search for project"
-msgstr ""
+msgstr "プロジェクトã®æ¤œç´¢"
msgid "ProjectService|%{service_title}: status off"
msgstr ""
@@ -15704,7 +16024,7 @@ msgid "ProjectService|To set up this service:"
msgstr ""
msgid "ProjectSettings|Additional merge request capabilities that influence how and when merges will be performed"
-msgstr ""
+msgstr "マージをã„ã¤ã©ã®ã‚ˆã†ã«è¡Œã†ã‹ã«å½±éŸ¿ã‚’与ãˆã‚‹ã€è¿½åŠ ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆæ©Ÿèƒ½"
msgid "ProjectSettings|All discussions must be resolved"
msgstr ""
@@ -15737,7 +16057,7 @@ msgid "ProjectSettings|Container registry"
msgstr ""
msgid "ProjectSettings|Customize your project badges."
-msgstr ""
+msgstr "ã‚ãªãŸã®ãƒ—ロジェクトãƒãƒƒã‚¸ã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚º"
msgid "ProjectSettings|Disable email notifications"
msgstr ""
@@ -15746,7 +16066,7 @@ msgid "ProjectSettings|Enable 'Delete source branch' option by default"
msgstr ""
msgid "ProjectSettings|Every merge creates a merge commit"
-msgstr ""
+msgstr "マージã”ã¨ã«ãƒžãƒ¼ã‚¸ã‚³ãƒŸãƒƒãƒˆãŒä½œæˆã•ã‚Œã¾ã™"
msgid "ProjectSettings|Every project can have its own space to store its Docker images"
msgstr ""
@@ -15761,16 +16081,16 @@ msgid "ProjectSettings|Existing merge requests and protected branches are not af
msgstr ""
msgid "ProjectSettings|Failed to protect the tag"
-msgstr ""
+msgstr "tagã®ä¿è­·ã«å¤±æ•—ã—ã¾ã—ãŸ"
msgid "ProjectSettings|Failed to update tag!"
-msgstr ""
+msgstr "Tag ã®æ›´æ–°ã«å¤±æ•—ã—ã¾ã—ãŸï¼"
msgid "ProjectSettings|Fast-forward merge"
-msgstr ""
+msgstr "æ—©é€ã‚Šãƒžãƒ¼ã‚¸"
msgid "ProjectSettings|Fast-forward merges only"
-msgstr ""
+msgstr "æ—©é€ã‚Šãƒžãƒ¼ã‚¸ã®ã¿"
msgid "ProjectSettings|Forks"
msgstr ""
@@ -15842,7 +16162,7 @@ msgid "ProjectSettings|Pipelines"
msgstr ""
msgid "ProjectSettings|Pipelines must succeed"
-msgstr ""
+msgstr "パイプラインã¯æˆåŠŸã—ãªã‘ã‚Œã°ãªã‚‰ãªã„"
msgid "ProjectSettings|Pipelines need to be configured to enable this feature."
msgstr ""
@@ -15863,7 +16183,7 @@ msgid "ProjectSettings|Share code pastes with others out of Git repository"
msgstr ""
msgid "ProjectSettings|Show link to create/view merge request when pushing from the command line"
-msgstr ""
+msgstr "コマンドラインã‹ã‚‰ãƒ—ッシュã™ã‚‹ã¨ãã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’作æˆã¾ãŸã¯è¡¨ç¤ºã™ã‚‹ãŸã‚ã®ãƒªãƒ³ã‚¯ã‚’表示"
msgid "ProjectSettings|Snippets"
msgstr ""
@@ -15881,22 +16201,22 @@ msgid "ProjectSettings|These checks must pass before merge requests can be merge
msgstr ""
msgid "ProjectSettings|This setting is applied on the server level and can be overridden by an admin."
-msgstr ""
+msgstr "ã“ã®è¨­å®šã¯ã‚µãƒ¼ãƒãƒ¼ãƒ¬ãƒ™ãƒ«ã§é©ç”¨ã•ã‚Œã¦ãŠã‚Šã€ç®¡ç†è€…ãŒä¸Šæ›¸ãã§ãã¾ã™ã€‚"
msgid "ProjectSettings|This setting is applied on the server level but has been overridden for this project."
-msgstr ""
+msgstr "ã“ã®è¨­å®šã¯ã‚µãƒ¼ãƒãƒ¼ãƒ¬ãƒ™ãƒ«ã§é©ç”¨ã•ã‚Œã¦ã„ã¾ã™ãŒã€ã“ã®ãƒ—ロジェクトå‘ã‘ã«ä¸Šæ›¸ãã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "ProjectSettings|This setting will be applied to all projects unless overridden by an admin."
-msgstr ""
+msgstr "ã“ã®è¨­å®šã¯ã€ç®¡ç†è€…ãŒä¸Šæ›¸ãã—ãªã„å ´åˆã€ã™ã¹ã¦ã®ãƒ—ロジェクトã«é©ç”¨ã•ã‚Œã¾ã™ã€‚"
msgid "ProjectSettings|This setting will override user notification preferences for all project members."
msgstr ""
msgid "ProjectSettings|This will dictate the commit history when you merge a merge request"
-msgstr ""
+msgstr "マージリクエストをマージã™ã‚‹ã¨ãã«ã‚³ãƒŸãƒƒãƒˆå±¥æ­´ã‚’記録ã—ã¾ã™"
msgid "ProjectSettings|Users can only push commits to this repository that were committed with one of their own verified emails."
-msgstr ""
+msgstr "ユーザã¯æ¤œè¨¼æ¸ˆã¿ãƒ¡ãƒ¼ãƒ«ã®ã„ãšã‚Œã‹ã«ã‚ˆã‚‹ã‚³ãƒŸãƒƒãƒˆã—ãŸã€ã“ã®ãƒªãƒã‚¸ãƒˆãƒªã«ã‚³ãƒŸãƒƒãƒˆã‚’プッシュã§ãã¾ã™ã€‚"
msgid "ProjectSettings|View and edit files in this project"
msgstr ""
@@ -15905,7 +16225,7 @@ msgid "ProjectSettings|View and edit files in this project. Non-project members
msgstr ""
msgid "ProjectSettings|When conflicts arise the user is given the option to rebase"
-msgstr ""
+msgstr "競åˆãŒç™ºç”Ÿã—ãŸã¨ãã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã¯ãƒªãƒ™ãƒ¼ã‚¹ã™ã‚‹ã‚ªãƒ—ションãŒä¸Žãˆã‚‰ã‚Œã¾ã™"
msgid "ProjectSettings|Wiki"
msgstr "Wiki"
@@ -15913,6 +16233,9 @@ msgstr "Wiki"
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ".Net Core"
@@ -15923,7 +16246,7 @@ msgid "ProjectTemplates|GitLab Cluster Management"
msgstr ""
msgid "ProjectTemplates|Go Micro"
-msgstr ""
+msgstr "Go Micro"
msgid "ProjectTemplates|HIPAA Audit Protocol"
msgstr ""
@@ -15976,6 +16299,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr "Spring"
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr "iOS (Swift)"
@@ -15986,16 +16312,16 @@ msgid "Projects (%{count})"
msgstr ""
msgid "Projects Successfully Retrieved"
-msgstr ""
+msgstr "正常ã«å–å¾—ã—ãŸãƒ—ロジェクト"
msgid "Projects are graded based on the highest severity vulnerability present"
msgstr ""
msgid "Projects shared with %{group_name}"
-msgstr ""
+msgstr "%{group_name} グループã§å…±æœ‰ã•ã‚ŒãŸãƒ—ロジェクト"
msgid "Projects that belong to a group are prefixed with the group namespace. Existing projects may be moved into a group."
-msgstr ""
+msgstr "グループã«å±žã™ã‚‹ãƒ—ロジェクトã®å…ˆé ­ã«ã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—ã®åå‰ç©ºé–“ãŒä»˜ã„ã¦ã„ã¾ã™ã€‚既存ã®ãƒ—ロジェクトをグループã«ç§»å‹•ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "Projects to index"
msgstr ""
@@ -16016,7 +16342,7 @@ msgid "Projects with no vulnerabilities and security scanning enabled"
msgstr ""
msgid "Projects with write access"
-msgstr ""
+msgstr "書ãè¾¼ã¿æ¨©é™ã®ã‚るプロジェクト"
msgid "ProjectsDropdown|Frequently visited"
msgstr "よã使ã†ãƒ—ロジェクト"
@@ -16097,22 +16423,22 @@ msgid "PrometheusAlerts|%{firingCount} firing"
msgstr ""
msgid "PrometheusAlerts|Add alert"
-msgstr ""
+msgstr "アラートを追加"
msgid "PrometheusAlerts|Edit alert"
-msgstr ""
+msgstr "アラートã®ç·¨é›†"
msgid "PrometheusAlerts|Error creating alert"
-msgstr ""
+msgstr "アラート作æˆã®ã‚¨ãƒ©ãƒ¼"
msgid "PrometheusAlerts|Error deleting alert"
-msgstr ""
+msgstr "アラートã®å‰Šé™¤ã®ã‚¨ãƒ©ãƒ¼"
msgid "PrometheusAlerts|Error fetching alert"
-msgstr ""
+msgstr "アラートå–å¾—ã®ã‚¨ãƒ©ãƒ¼"
msgid "PrometheusAlerts|Error saving alert"
-msgstr ""
+msgstr "アラートä¿å­˜ã®ã‚¨ãƒ©ãƒ¼"
msgid "PrometheusAlerts|Firing: %{alerts}"
msgstr ""
@@ -16121,13 +16447,13 @@ msgid "PrometheusAlerts|Firing: %{alert}"
msgstr ""
msgid "PrometheusAlerts|Operator"
-msgstr ""
+msgstr "オペレータ"
msgid "PrometheusAlerts|Select query"
-msgstr ""
+msgstr "クエリをé¸æŠž"
msgid "PrometheusAlerts|Threshold"
-msgstr ""
+msgstr "ã—ãã„値"
msgid "PrometheusService|%{exporters} with %{metrics} were found"
msgstr "%{metrics} ã® %{exporters} ãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸ"
@@ -16148,7 +16474,7 @@ msgid "PrometheusService|Common metrics"
msgstr "共通メトリクス"
msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters."
-msgstr ""
+msgstr "共通メトリクスã¯ã€ä¸€èˆ¬çš„ãªã‚¨ã‚¯ã‚¹ãƒãƒ¼ã‚¿ã‹ã‚‰ã®ãƒ¡ãƒˆãƒªã‚¯ã‚¹ã®ãƒ©ã‚¤ãƒ–ラリã«åŸºã¥ã„ã¦ã€è‡ªå‹•çš„ã«ç›£è¦–ã•ã‚Œã¾ã™ã€‚"
msgid "PrometheusService|Custom metrics"
msgstr "カスタムメトリクス"
@@ -16157,7 +16483,7 @@ msgid "PrometheusService|Custom metrics require Prometheus installed on a cluste
msgstr ""
msgid "PrometheusService|Enable Prometheus to define custom metrics, using either option above"
-msgstr ""
+msgstr "上記ã®ã„ãšã‚Œã‹ã®ã‚ªãƒ—ションを使用ã—ã¦ã€ã‚«ã‚¹ã‚¿ãƒ ãƒ¡ãƒˆãƒªã‚¯ã‚¹ã‚’定義ã§ãるよã†ã«Prometheusを有効ã«ã™ã‚‹"
msgid "PrometheusService|Finding and configuring metrics..."
msgstr "メトリクスã®æ¤œç´¢ã¨è¨­å®š..."
@@ -16195,20 +16521,20 @@ msgstr "Prometheus API ã®ãƒ™ãƒ¼ã‚¹ URLã€ä¾‹:http://prometheus.example.com/"
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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
msgstr ""
+msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment"
+msgstr "環境ã«æœ€åˆã®ãƒ‡ãƒ—ロイãŒã•ã‚Œã¦ã‹ã‚‰ã€ã“れらã®ãƒ¡ãƒˆãƒªã‚¯ã‚¹ã§ç›£è¦–ã—ã¾ã™"
+
msgid "PrometheusService|Time-series monitoring service"
msgstr "時系列監視サービス"
-msgid "PrometheusService|To enable manual configuration, uninstall Prometheus from your clusters"
-msgstr "手動設定を有効ã«ã™ã‚‹ãŸã‚ã«ã¯ã€ã‚ãªãŸã®ã‚¯ãƒ©ã‚¹ã‚¿ãƒ¼ã‹ã‚‰ Prometheus をアンインストールã—ã¾ã™"
-
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
msgstr "クラスター㫠Prometheus をインストールã™ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®æ‰‹å‹•è¨­å®šã‚’無効ã«ã—ã¦ãã ã•ã„"
msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics"
-msgstr ""
+msgstr "共通メトリックãŒæ§‹ç¯‰ç’°å¢ƒã¸å±•é–‹ã•ã‚Œã‚‹ã®ã‚’å¾…ã£ã¦ã„ã¾ã™"
msgid "PrometheusService|You can now manage your Prometheus settings on the %{operations_link_start}Operations%{operations_link_end} page. Fields on this page has been deprecated."
msgstr ""
@@ -16232,19 +16558,19 @@ msgid "Promote to group label"
msgstr "グループラベルã¸æ˜‡æ ¼"
msgid "PromoteMilestone|Only project milestones can be promoted."
-msgstr ""
+msgstr "プロジェクトã®ãƒžã‚¤ãƒ«ã‚¹ トーンã ã‘ãŒãƒ—ロモートã§ãã¾ã™ã€‚"
msgid "PromoteMilestone|Project does not belong to a group."
-msgstr ""
+msgstr "プロジェクトãŒã‚°ãƒ«ãƒ¼ãƒ—ã«å±žã—ã¦ã„ã¾ã›ã‚“。"
msgid "PromoteMilestone|Promotion failed - %{message}"
-msgstr ""
+msgstr "プロモートã«å¤±æ•—ã—ã¾ã—㟠- %{message}"
msgid "Promoted confidential issue to a non-confidential epic. Information in this issue is no longer confidential as epics are public to group members."
msgstr ""
msgid "Promoted issue to an epic."
-msgstr ""
+msgstr "課題をエピックã«æ˜‡æ ¼æ¸ˆã¿"
msgid "Promotions|Don't show me this again"
msgstr "次回ã‹ã‚‰ã¯ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ãªã„"
@@ -16253,7 +16579,7 @@ msgid "Promotions|Epics let you manage your portfolio of projects more efficient
msgstr "エピックを使用ã™ã‚‹ã¨ã€ãƒ—ロジェクトやマイルストーンをã¾ãŸãŒã‚‹å…±é€šãƒ†ãƒ¼ãƒžã®èª²é¡Œã‚°ãƒ«ãƒ¼ãƒ—を追跡ã§ãã€ãƒ—ロジェクトã®ãƒãƒ¼ãƒˆãƒ•ã‚©ãƒªã‚ªã‚’より効率的ã«ç°¡å˜ã«ç®¡ç†ã§ãã¾ã™ã€‚"
msgid "Promotions|Learn more"
-msgstr ""
+msgstr "詳ã—ã見る"
msgid "Promotions|See the other features in the %{subscription_link_start}bronze plan%{subscription_link_end}"
msgstr ""
@@ -16271,7 +16597,7 @@ msgid "Promotions|When you have a lot of issues, it can be hard to get an overvi
msgstr ""
msgid "Prompt users to upload SSH keys"
-msgstr ""
+msgstr "SSH éµã‚’アップロードã™ã‚‹ã‚ˆã†ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ä¿ƒã™"
msgid "Protect variable"
msgstr ""
@@ -16283,10 +16609,10 @@ msgid "Protected Branch"
msgstr "ä¿è­·ã•ã‚ŒãŸãƒ–ランãƒ"
msgid "Protected Environment"
-msgstr ""
+msgstr "ä¿è­·ã•ã‚ŒãŸç’°å¢ƒ"
msgid "Protected Environments"
-msgstr ""
+msgstr "ä¿è­·ã•ã‚ŒãŸç’°å¢ƒ"
msgid "Protected Paths"
msgstr ""
@@ -16358,7 +16684,7 @@ msgid "ProtectedEnvironment|Protected Environment (%{protected_environments_coun
msgstr "ä¿è­·ã•ã‚ŒãŸç’°å¢ƒ (%{protected_environments_count})"
msgid "ProtectedEnvironment|Protecting an environment restricts the users who can execute deployments."
-msgstr ""
+msgstr "環境をä¿è­·ã™ã‚‹ã¨ã€ãƒ‡ãƒ—ロイメントを実行ã§ãるユーザーãŒåˆ¶é™ã•ã‚Œã¾ã™ã€‚"
msgid "ProtectedEnvironment|Select an environment"
msgstr "環境をé¸æŠž"
@@ -16382,16 +16708,19 @@ msgid "ProtectedEnvironment|Your environment has been protected."
msgstr "ã‚ãªãŸã®ç’°å¢ƒã¯ä¿è­·ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "ProtectedEnvironment|Your environment has been unprotected"
-msgstr ""
+msgstr "ã‚ãªãŸã®ç’°å¢ƒã¯ä¿è­·ã•ã‚Œã¦ã„ã¾ã›ã‚“。ã¾ãŸã¯ä¿è­·ãŒè§£é™¤ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "Protip:"
+msgstr "Protip:"
+
+msgid "Protocol"
msgstr ""
msgid "Provider"
msgstr "プロãƒã‚¤ãƒ€ãƒ¼"
msgid "Pseudonymizer data collection"
-msgstr ""
+msgstr "匿å化データã®åŽé›†"
msgid "Public"
msgstr "公開"
@@ -16403,7 +16732,7 @@ msgid "Public - The project can be accessed without any authentication."
msgstr "公開 - プロジェクトã¯èªè¨¼ç„¡ã—ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™"
msgid "Public Access Help"
-msgstr ""
+msgstr "公開アクセスã®ãƒ˜ãƒ«ãƒ—"
msgid "Public deploy keys (%{deploy_keys_count})"
msgstr ""
@@ -16411,6 +16740,9 @@ msgstr ""
msgid "Public pipelines"
msgstr "公開パイプライン"
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr "プル"
@@ -16523,7 +16855,7 @@ msgid "README"
msgstr "README"
msgid "Rake Tasks Help"
-msgstr ""
+msgstr "Rakeタスクã®ãƒ˜ãƒ«ãƒ—"
msgid "Raw blob request rate limit per minute"
msgstr ""
@@ -16541,7 +16873,7 @@ msgid "Read more"
msgstr "続ãを読む"
msgid "Read more about environments"
-msgstr ""
+msgstr "環境ã®è©³ç´°"
msgid "Read more about project permissions <strong>%{link_to_help}</strong>"
msgstr "プロジェクトã®æ¨©é™ã«ã¤ã„ã¦ã¯ <strong>%{link_to_help}</strong> ã‚’å‚ç…§"
@@ -16559,25 +16891,25 @@ msgid "Rebase in progress"
msgstr ""
msgid "Receive alerts from manually configured Prometheus servers."
-msgstr ""
+msgstr "手動ã§è¨­å®šã—ãŸPrometheusサーãƒãƒ¼ã‹ã‚‰ã‚¢ãƒ©ãƒ¼ãƒˆã‚’å—ã‘å–る。"
msgid "Receive alerts on GitLab from any source"
msgstr ""
msgid "Receive notifications about your own activity"
-msgstr ""
+msgstr "自身ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ“ティーã«é–¢ã™ã‚‹é€šçŸ¥ã‚’å—ä¿¡ã™ã‚‹"
msgid "Recent"
-msgstr ""
+msgstr "最近"
msgid "Recent Activity"
-msgstr ""
+msgstr "最新アクティビティー"
msgid "Recent Project Activity"
-msgstr ""
+msgstr "最近ã®ãƒ—ロジェクトアクティビティ"
msgid "Recent Searches Service is unavailable"
-msgstr ""
+msgstr "最近ã®æ¤œç´¢ã‚µãƒ¼ãƒ“スã¯åˆ©ç”¨ã§ãã¾ã›ã‚“"
msgid "Recent searches"
msgstr "最近ã®æ¤œç´¢"
@@ -16589,10 +16921,10 @@ msgid "Recover hidden stage"
msgstr ""
msgid "Recovery Codes"
-msgstr ""
+msgstr "リカãƒãƒªãƒ¼ã‚³ãƒ¼ãƒ‰"
msgid "Redirect to SAML provider to test configuration"
-msgstr ""
+msgstr "設定ã®ãƒ†ã‚¹ãƒˆã‚’実施ã™ã‚‹SAMLプロãƒã‚¤ãƒ€ã¸ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ"
msgid "Reduce project visibility"
msgstr ""
@@ -16608,16 +16940,19 @@ msgstr "æ›´æ–°"
msgid "Refreshing in a second to show the updated status..."
msgid_plural "Refreshing in %d seconds to show the updated status..."
-msgstr[0] ""
+msgstr[0] "æ›´æ–°ã•ã‚ŒãŸã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’表示ã™ã‚‹ãŸã‚ã«ã€ %d 秒間リフレッシュã—ã¦ã„ã¾ã™..."
+
+msgid "Regenerate export"
+msgstr ""
msgid "Regenerate instance ID"
msgstr ""
msgid "Regenerate key"
-msgstr ""
+msgstr "éµã‚’å†ç”Ÿæˆã™ã‚‹"
msgid "Regenerate recovery codes"
-msgstr ""
+msgstr "リカãƒãƒªãƒ¼ã‚³ãƒ¼ãƒ‰ã®å†ç™ºè¡Œ"
msgid "Regenerating the instance ID can break integration depending on the client you are using."
msgstr ""
@@ -16629,19 +16964,19 @@ msgid "Region that Elasticsearch is configured"
msgstr ""
msgid "Register"
-msgstr ""
+msgstr "登録"
msgid "Register / Sign In"
msgstr "登録 / サインイン"
msgid "Register Two-Factor Authenticator"
-msgstr ""
+msgstr "2è¦ç´ èªè¨¼ã®ç™»éŒ²"
msgid "Register U2F device"
msgstr "U2F デãƒã‚¤ã‚¹ã‚’登録ã™ã‚‹"
msgid "Register Universal Two-Factor (U2F) Device"
-msgstr ""
+msgstr "ユニãƒãƒ¼ã‚µãƒ«ãª2è¦ç´ èªè¨¼ãƒ‡ãƒã‚¤ã‚¹ã‚’登録ã™ã‚‹"
msgid "Register for GitLab"
msgstr ""
@@ -16650,10 +16985,10 @@ msgid "Register now"
msgstr ""
msgid "Register with two-factor app"
-msgstr ""
+msgstr "2è¦ç´ èªè¨¼ã‚¢ãƒ—リã§ç™»éŒ²"
msgid "Registration"
-msgstr ""
+msgstr "登録"
msgid "Related Deployed Jobs"
msgstr "関連ã™ã‚‹ãƒ‡ãƒ—ロイ済ジョブ"
@@ -16786,13 +17121,13 @@ msgid "Remove from epic"
msgstr ""
msgid "Remove group"
-msgstr ""
+msgstr "グループを削除"
msgid "Remove limit"
msgstr ""
msgid "Remove milestone"
-msgstr ""
+msgstr "マイルストーンを削除"
msgid "Remove node"
msgstr ""
@@ -16813,16 +17148,16 @@ msgid "Remove secondary node"
msgstr ""
msgid "Remove spent time"
-msgstr ""
+msgstr "作業時間ã®å‰Šé™¤"
msgid "Remove stage"
msgstr ""
msgid "Remove time estimate"
-msgstr ""
+msgstr "見ç©æ™‚間を削除"
msgid "Removed"
-msgstr ""
+msgstr "除去ã—ã¾ã—ãŸ"
msgid "Removed %{assignee_text} %{assignee_references}."
msgstr ""
@@ -16837,7 +17172,7 @@ msgid "Removed %{milestone_reference} milestone."
msgstr ""
msgid "Removed %{type} with id %{id}"
-msgstr ""
+msgstr "Id %{id} 㮠%{type} を削除"
msgid "Removed all labels."
msgstr ""
@@ -16846,19 +17181,19 @@ msgid "Removed an issue from an epic."
msgstr ""
msgid "Removed group can not be restored!"
-msgstr ""
+msgstr "削除ã•ã‚ŒãŸã‚°ãƒ«ãƒ¼ãƒ—ã¯ãƒ¬ã‚¹ãƒˆã‚¢ã§ãã¾ã›ã‚“ï¼"
msgid "Removed parent epic %{epic_ref}."
msgstr ""
msgid "Removed projects cannot be restored!"
-msgstr ""
+msgstr "削除ã•ã‚ŒãŸãƒ—ロジェクトã¯å¾©å…ƒã§ãã¾ã›ã‚“ï¼"
msgid "Removed spent time."
-msgstr ""
+msgstr "作業時間を削除ã—ã¾ã—ãŸã€‚"
msgid "Removed the due date."
-msgstr ""
+msgstr "期日を削除ã—ã¾ã—ãŸã€‚"
msgid "Removed time estimate."
msgstr ""
@@ -16873,10 +17208,10 @@ msgid "Removes %{label_references} %{label_text}."
msgstr ""
msgid "Removes %{milestone_reference} milestone."
-msgstr ""
+msgstr "%{milestone_reference} マイルストーンを削除"
msgid "Removes all labels."
-msgstr ""
+msgstr "ã™ã¹ã¦ã®ãƒ©ãƒ™ãƒ«ã‚’削除"
msgid "Removes an issue from an epic."
msgstr ""
@@ -16885,13 +17220,13 @@ msgid "Removes parent epic %{epic_ref}."
msgstr ""
msgid "Removes spent time."
-msgstr ""
+msgstr "作業時間を削除ã—ã¾ã™ã€‚"
msgid "Removes the due date."
-msgstr ""
+msgstr "期日を削除."
msgid "Removes time estimate."
-msgstr ""
+msgstr "見ç©æ™‚間を削除."
msgid "Removing a project places it into a read-only state until %{date}, at which point the project will be permanantly removed. Are you ABSOLUTELY sure?"
msgstr ""
@@ -16903,7 +17238,7 @@ msgid "Removing license…"
msgstr ""
msgid "Removing the project will delete its repository and all related resources including issues, merge requests etc."
-msgstr ""
+msgstr "プロジェクトを除去ã™ã‚‹ã¨ã€ãã®ãƒªãƒã‚¸ãƒˆãƒªã¨ã€èª²é¡Œã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆãªã©ã‚’å«ã‚€ã™ã¹ã¦ã®é–¢é€£ãƒªã‚½ãƒ¼ã‚¹ãŒå‰Šé™¤ã•ã‚Œã¾ã™"
msgid "Removing this group also removes all child projects, including archived projects, and their resources."
msgstr ""
@@ -16939,10 +17274,10 @@ msgid "Repair authentication"
msgstr "èªè¨¼ã®ä¿®å¾©"
msgid "Replace"
-msgstr ""
+msgstr "ç½®ãæ›ãˆ"
msgid "Replace all label(s)"
-msgstr ""
+msgstr "ã™ã¹ã¦ã®ãƒ©ãƒ™ãƒ«ã‚’ç½®æ›"
msgid "Replaced all labels with %{label_references} %{label_text}."
msgstr ""
@@ -16957,7 +17292,7 @@ msgid "Reply to comment"
msgstr "コメントã«è¿”ä¿¡"
msgid "Reply to this email directly or %{view_it_on_gitlab}."
-msgstr ""
+msgstr "ã“ã®ãƒ¡ãƒ¼ãƒ«ã«ç›´æŽ¥è¿”ä¿¡ã™ã‚‹ã‹ã€ %{view_it_on_gitlab} ã‚’å‚ç…§ã—ã¦ãã ã•ã„。"
msgid "Reply..."
msgstr ""
@@ -16986,9 +17321,28 @@ msgstr "レãƒãƒ¼ãƒˆ"
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr "アクション"
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr "クラス"
@@ -17005,10 +17359,10 @@ msgid "Reports|Metrics reports are loading"
msgstr ""
msgid "Reports|Metrics reports changed on %{numberOfChanges} %{pointsString}"
-msgstr ""
+msgstr "メトリクスレãƒãƒ¼ãƒˆã¯ %{numberOfChanges}%{pointsString} 変更ã•ã‚Œã¾ã—ãŸ"
msgid "Reports|Metrics reports did not change"
-msgstr ""
+msgstr "メトリクスレãƒãƒ¼ãƒˆã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "Reports|Metrics reports failed loading results"
msgstr ""
@@ -17044,7 +17398,7 @@ msgid "Repository Graph"
msgstr ""
msgid "Repository Settings"
-msgstr ""
+msgstr "リãƒã‚¸ãƒˆãƒªã®è¨­å®š"
msgid "Repository URL"
msgstr "リãƒã‚¸ãƒˆãƒª URL"
@@ -17092,28 +17446,28 @@ msgid "Request to link SAML account must be authorized"
msgstr ""
msgid "Requested %{time_ago}"
-msgstr ""
+msgstr "%{time_ago} ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
msgstr ""
msgid "Requests Profiles"
-msgstr ""
+msgstr "プロファイルã®è¦æ±‚"
msgid "Requests to these domain(s)/address(es) on the local network will be allowed when local requests from hooks and services are not allowed. IP ranges such as 1:0:0:0:0:0:0:0/124 or 127.0.0.0/28 are supported. Domain wildcards are not supported currently. Use comma, semicolon, or newline to separate multiple entries. The whitelist can hold a maximum of 1000 entries. Domains should use IDNA encoding. Ex: example.com, 192.168.1.1, 127.0.0.0/28, xn--itlab-j1a.com."
msgstr ""
msgid "Require all users in this group to setup Two-factor authentication"
-msgstr ""
+msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—内ã®ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«2è¦ç´ èªè¨¼ã®ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—ã‚’è¦æ±‚ã™ã‚‹"
msgid "Require all users to accept Terms of Service and Privacy Policy when they access GitLab."
msgstr "GitLab ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹éš›ã«ã€ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒåˆ©ç”¨è¦ç´„ã«åŒæ„ã™ã‚‹ã“ã¨ã‚’è¦æ±‚ã—ã¾ã™ã€‚"
msgid "Require user password to approve"
-msgstr ""
+msgstr "承èªã®ãŸã‚ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ‘スワードをè¦æ±‚"
msgid "Require users to prove ownership of custom domains"
msgstr ""
@@ -17175,7 +17529,7 @@ msgid "Reset health check access token"
msgstr "正常性ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¯ã‚»ã‚¹ãƒˆãƒ¼ã‚¯ãƒ³ã‚’リセット"
msgid "Reset key"
-msgstr ""
+msgstr "éµã‚’リセット"
msgid "Reset runners registration token"
msgstr "Runner 登録トークンをリセット"
@@ -17205,16 +17559,16 @@ msgid "Resolved"
msgstr "解決済ã¿"
msgid "Resolved 1 discussion."
-msgstr ""
+msgstr "1件ã®æ¤œè¨Žã‚’解決ã—ã¾ã—ãŸã€‚"
msgid "Resolved all discussions."
-msgstr ""
+msgstr "ã™ã¹ã¦ã®æ¤œè¨Žã‚’解決ã—ã¾ã—ãŸã€‚"
msgid "Resolved by %{name}"
-msgstr ""
+msgstr "%{name} ã«ã‚ˆã£ã¦è§£æ±º"
msgid "Resolved by %{resolvedByName}"
-msgstr ""
+msgstr "%{resolvedByName} ã«ã‚ˆã£ã¦è§£æ±º"
msgid "Resolves IP addresses once and uses them to submit requests"
msgstr ""
@@ -17223,10 +17577,10 @@ msgid "Response"
msgstr "レスãƒãƒ³ã‚¹"
msgid "Response didn't include `service_desk_address`"
-msgstr ""
+msgstr "応答㫠`service_desk_address`ã¯å«ã¾ã‚Œã¦ã„ã¾ã›ã‚“ã§ã—ãŸ"
msgid "Response metrics (AWS ELB)"
-msgstr ""
+msgstr "レスãƒãƒ³ã‚¹ メトリクス (AWS ELB)"
msgid "Response metrics (Custom)"
msgstr "レスãƒãƒ³ã‚¹ メトリクス(カスタム)"
@@ -17238,7 +17592,7 @@ msgid "Response metrics (NGINX Ingress VTS)"
msgstr "レスãƒãƒ³ã‚¹ãƒ¡ãƒˆãƒªã‚¯ã‚¹ (NGINX Ingress VTS)"
msgid "Response metrics (NGINX Ingress)"
-msgstr ""
+msgstr "レスãƒãƒ³ã‚¹ãƒ¡ãƒˆãƒªãƒƒã‚¯ (NGINX Ingress)"
msgid "Response metrics (NGINX)"
msgstr "レスãƒãƒ³ã‚¹ãƒ¡ãƒˆãƒªã‚¯ã‚¹ (NGINX)"
@@ -17271,11 +17625,14 @@ msgid "Resume"
msgstr "å†é–‹"
msgid "Resume replication"
-msgstr ""
+msgstr "レプリケーションã®å†é–‹"
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17286,7 +17643,7 @@ msgid "Retry this job"
msgstr "ジョブをå†è©¦è¡Œã—ã¦ãã ã•ã„"
msgid "Retry this job in order to create the necessary resources."
-msgstr ""
+msgstr "å¿…è¦ãªãƒªã‚½ãƒ¼ã‚¹ã‚’作æˆã™ã‚‹ãŸã‚ã«ã“ã®ã‚¸ãƒ§ãƒ–ã‚’å†è©¦è¡Œã—ã¦ãã ã•ã„。"
msgid "Retry update"
msgstr ""
@@ -17343,6 +17700,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17377,28 +17737,31 @@ msgid "Run untagged jobs"
msgstr ""
msgid "Runner cannot be assigned to other projects"
-msgstr ""
+msgstr "Runnerã‚’ä»–ã®ãƒ—ロジェクトã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã›ã‚“"
msgid "Runner runs jobs from all unassigned projects"
-msgstr ""
+msgstr "Runnerã¯æœªå‰²ã‚Šå½“ã¦ã®ã™ã¹ã¦ã®ãƒ—ロジェクトã‹ã‚‰ã‚¸ãƒ§ãƒ–を実行ã—ã¾ã™"
msgid "Runner runs jobs from all unassigned projects in its group"
-msgstr ""
+msgstr "Runnerã¯ãã®ã‚°ãƒ«ãƒ¼ãƒ—ã®æœªå‰²ã‚Šå½“ã¦ã®ã™ã¹ã¦ã®ãƒ—ロジェクトã‹ã‚‰ã‚¸ãƒ§ãƒ–を実行ã—ã¾ã™"
msgid "Runner runs jobs from assigned projects"
-msgstr ""
+msgstr "Runnerã¯å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸãƒ—ロジェクトã‹ã‚‰ã‚¸ãƒ§ãƒ–を実行ã—ã¾ã™"
msgid "Runner token"
msgstr "Runner トークン"
-msgid "Runner was not updated."
+msgid "Runner tokens"
msgstr ""
+msgid "Runner was not updated."
+msgstr "Runner ã¯æ›´æ–°ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
+
msgid "Runner was successfully updated."
-msgstr ""
+msgstr "Runner ã¯æ­£å¸¸ã«æ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚"
msgid "Runner will not receive any new jobs"
-msgstr ""
+msgstr "Runnerã¯æ–°ã—ã„ジョブを処ç†ã—ã¾ã›ã‚“"
msgid "Runners"
msgstr "Runner"
@@ -17407,7 +17770,7 @@ msgid "Runners API"
msgstr "Runner API"
msgid "Runners activated for this project"
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクト用ã«Runnerをアクティブ化"
msgid "Runners are processes that pick up and execute jobs for GitLab. Here you can register and see your Runners for this project."
msgstr ""
@@ -17416,7 +17779,7 @@ msgid "Runners can be placed on separate users, servers, and even on your local
msgstr "Runner ã¯åˆ¥ã€…ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã€ã‚µãƒ¼ãƒãƒ¼ã€ã•ã‚‰ã«ã¯ã‚ãªãŸã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒžã‚·ãƒ¼ãƒ³ã«ã‚‚é…ç½®ã§ãã¾ã™ã€‚"
msgid "Runners can be placed on separate users, servers, even on your local machine."
-msgstr ""
+msgstr "Runnerã¯åˆ¥ã€…ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã€ã‚µãƒ¼ãƒãƒ¼ã€ã•ã‚‰ã«ã¯ã‚ãªãŸã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒžã‚·ãƒ¼ãƒ³ã«ã‚‚é…ç½®ã§ãã¾ã™ã€‚"
msgid "Runners currently online: %{active_runners_count}"
msgstr "ç¾åœ¨ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã®Runner: %{active_runners_count}"
@@ -17437,7 +17800,7 @@ msgid "Running…"
msgstr "実行中…"
msgid "Runs a number of housekeeping tasks within the current repository, such as compressing file revisions and removing unreachable objects."
-msgstr ""
+msgstr "ç¾åœ¨ã®ãƒªãƒã‚¸ãƒˆãƒªå†…ã§ã€ãƒ•ã‚¡ã‚¤ãƒ«ãƒªãƒ“ジョンã®åœ§ç¸®ã‚„アクセスä¸å¯èƒ½ãªã‚ªãƒ–ジェクトã®é™¤åŽ»ã¨ã„ã£ãŸã€ã„ãã¤ã‹ã®ãƒã‚¦ã‚¹ã‚­ãƒ¼ãƒ”ングを実行ã—ã¾ã™ã€‚"
msgid "SAML SSO"
msgstr "SAML SSO"
@@ -17445,20 +17808,23 @@ msgstr "SAML SSO"
msgid "SAML SSO for %{group_name}"
msgstr "%{group_name} 用㮠SAML SSO"
-msgid "SAML for %{group_name}"
+msgid "SAML discovery tokens"
msgstr ""
+msgid "SAML for %{group_name}"
+msgstr "%{group_name} 用ã®SAML"
+
msgid "SHA256"
msgstr ""
msgid "SSH Key"
-msgstr ""
+msgstr "SSH éµ"
msgid "SSH Keys"
msgstr "SSH éµ"
msgid "SSH Keys Help"
-msgstr ""
+msgstr "SSHéµã®ãƒ˜ãƒ«ãƒ—"
msgid "SSH host key fingerprints"
msgstr ""
@@ -17488,7 +17854,7 @@ msgid "Save Changes"
msgstr "変更をä¿å­˜"
msgid "Save anyway"
-msgstr ""
+msgstr "強制ä¿å­˜"
msgid "Save application"
msgstr "アプリケーションã®ä¿å­˜"
@@ -17497,7 +17863,7 @@ msgid "Save changes"
msgstr "変更をä¿å­˜"
msgid "Save changes before testing"
-msgstr ""
+msgstr "テストをã™ã‚‹å‰ã«å¤‰æ›´ã‚’é©ç”¨ã—ã¾ã™ã‹ï¼Ÿ"
msgid "Save comment"
msgstr "コメントをä¿å­˜"
@@ -17521,7 +17887,7 @@ msgid "Saving"
msgstr ""
msgid "Saving project."
-msgstr ""
+msgstr "プロジェクトをä¿å­˜"
msgid "Schedule a new pipeline"
msgstr "æ–°ã—ã„パイプラインã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’作æˆ"
@@ -17529,15 +17895,21 @@ msgstr "æ–°ã—ã„パイプラインã®ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’作æˆ"
msgid "Scheduled"
msgstr "スケジュール済"
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr "スケジュール"
-msgid "Scheduling"
+msgid "Schedules to merge this merge request (%{strategy})."
msgstr ""
+msgid "Scheduling"
+msgstr "スケジュール"
+
msgid "Scheduling Pipelines"
msgstr "パイプラインスケジューリング"
@@ -17545,7 +17917,7 @@ msgid "Scope"
msgstr "スコープ"
msgid "Scope not supported with disabled 'users_search' feature!"
-msgstr ""
+msgstr "スコープã¯ã€ç„¡åŠ¹ãª 'users_search' 機能ã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。"
msgid "Scoped issue boards"
msgstr "スコープ付課題ボード"
@@ -17560,7 +17932,7 @@ msgid "Scroll down"
msgstr ""
msgid "Scroll down to <strong>Google Code Project Hosting</strong> and enable the switch on the right."
-msgstr ""
+msgstr "<strong>Google Code Project Hosting</strong> ã«ã‚¹ã‚¯ãƒ­ãƒ¼ãƒ«ã—ã€å³å´ã®ã‚¹ã‚¤ãƒƒãƒã‚’有効ã«ã—ã¾ã™ã€‚"
msgid "Scroll left"
msgstr ""
@@ -17592,6 +17964,9 @@ msgstr "ブランãƒã‚’検索"
msgid "Search branches and tags"
msgstr "ブランãƒã¾ãŸã¯ã‚¿ã‚°ã‚’検索"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr "ファイルã®æ¤œç´¢"
@@ -17611,7 +17986,7 @@ msgid "Search for this text"
msgstr ""
msgid "Search forks"
-msgstr ""
+msgstr "フォークを検索ã™ã‚‹"
msgid "Search groups"
msgstr "グループを検索"
@@ -17623,7 +17998,7 @@ msgid "Search milestones"
msgstr "マイルストーンを検索"
msgid "Search or filter results..."
-msgstr ""
+msgstr "çµæžœã‚’検索ã¾ãŸã¯ãƒ•ã‚£ãƒ«ã‚¿ã™ã‚‹..."
msgid "Search or filter results…"
msgstr ""
@@ -17638,7 +18013,7 @@ msgid "Search projects"
msgstr "プロジェクトを検索"
msgid "Search projects..."
-msgstr ""
+msgstr "プロジェクトを検索..."
msgid "Search users"
msgstr "ユーザーを検索"
@@ -17653,13 +18028,13 @@ msgid "Search your projects"
msgstr "プロジェクトを検索"
msgid "SearchAutocomplete|All GitLab"
-msgstr ""
+msgstr "å…¨ã¦ã® GitLab"
msgid "SearchAutocomplete|Issues I've created"
-msgstr ""
+msgstr "自身ãŒä½œæˆã—ãŸèª²é¡Œ"
msgid "SearchAutocomplete|Issues assigned to me"
-msgstr ""
+msgstr "自身ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸèª²é¡Œ"
msgid "SearchAutocomplete|Merge requests I've created"
msgstr "自身ãŒä½œæˆã—ãŸãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
@@ -17671,10 +18046,10 @@ msgid "SearchAutocomplete|in all GitLab"
msgstr "å…¨ã¦ã® GitLab 中ã§"
msgid "SearchAutocomplete|in this group"
-msgstr ""
+msgstr "グループ内ã§"
msgid "SearchAutocomplete|in this project"
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクト内ã§"
msgid "SearchCodeResults|in"
msgstr ""
@@ -17729,10 +18104,6 @@ msgid "SearchResults|snippet"
msgid_plural "SearchResults|snippets"
msgstr[0] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17741,6 +18112,9 @@ msgid "SearchResults|wiki result"
msgid_plural "SearchResults|wiki results"
msgstr[0] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17768,184 +18142,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr "セキュリティダッシュボード"
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
+msgstr "セキュリティダッシュボード"
+
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
-msgstr "脆弱性を無視ã™ã‚‹"
+msgid "SecurityConfiguration|Secure features"
+msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
-msgstr "マージリクエストã®ä½œæˆä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
+msgid "SecurityReports|Create issue"
+msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
-msgstr "無視ã®å–り消ã—中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
-msgstr "å…ƒã«æˆ»ã™"
+msgid "SecurityReports|Edit dashboard"
+msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
-msgstr "セキュリティダッシュボード"
+msgid "SecurityReports|False positive"
+msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgstr ""
+
+msgid "SecurityReports|Project"
+msgstr ""
+
+msgid "SecurityReports|Projects added"
+msgstr ""
+
+msgid "SecurityReports|Remove project from dashboard"
+msgstr ""
+
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|Undo dismiss"
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -17955,6 +18377,9 @@ msgid "See metrics"
msgstr "メトリクスをå‚ç…§"
msgid "See the affected projects in the GitLab admin panel"
+msgstr "GitLab管ç†ç”»é¢ã§å½±éŸ¿ã‚’å—ã‘るプロジェクトをå‚ç…§"
+
+msgid "See what's new at GitLab"
msgstr ""
msgid "Select"
@@ -17964,19 +18389,19 @@ msgid "Select Archive Format"
msgstr "アーカイブã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’é¸æŠž"
msgid "Select GitLab project to link with your Slack team"
-msgstr ""
+msgstr "Slackãƒãƒ¼ãƒ ã¨ãƒªãƒ³ã‚¯ã™ã‚‹ GitLab ã®ãƒ—ロジェクトをé¸æŠžã—ã¾ã™"
msgid "Select Page"
-msgstr ""
+msgstr "ページを変更"
msgid "Select Stack"
-msgstr ""
+msgstr "スタックã®é¸æŠž"
msgid "Select a file from the left sidebar to begin editing. Afterwards, you'll be able to commit your changes."
msgstr ""
msgid "Select a group to invite"
-msgstr ""
+msgstr "招待ã™ã‚‹ãŸã‚ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã™ã‚‹"
msgid "Select a label"
msgstr ""
@@ -17985,13 +18410,13 @@ msgid "Select a namespace to fork the project"
msgstr "プロジェクトをフォークã™ã‚‹åå‰ç©ºé–“ã‚’é¸æŠžã—ã¦ãã ã•ã„"
msgid "Select a new namespace"
-msgstr ""
+msgstr "æ–°ã—ã„åå‰ç©ºé–“ã‚’é¸æŠž"
msgid "Select a project"
msgstr ""
msgid "Select a project to read Insights configuration file"
-msgstr ""
+msgstr "Insights構æˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’読むプロジェクトをé¸æŠžã—ã¦ãã ã•ã„"
msgid "Select a reason"
msgstr ""
@@ -18048,7 +18473,7 @@ msgid "Select project and zone to choose machine type"
msgstr "マシンタイプをé¸æŠžã™ã‚‹ãŸã‚ã«ã€ãƒ—ロジェクトã¨ã‚¾ãƒ¼ãƒ³ã‚’é¸æŠž"
msgid "Select project to choose zone"
-msgstr ""
+msgstr "プロジェクトをé¸æŠžã—ã¦ã‚¾ãƒ¼ãƒ³ã‚’é¸æŠž"
msgid "Select projects"
msgstr ""
@@ -18072,13 +18497,13 @@ msgid "Select target branch"
msgstr "ターゲットブランãƒã‚’é¸æŠž"
msgid "Select the branch you want to set as the default for this project. All merge requests and commits will automatically be made against this branch unless you specify a different one."
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¨ã—ã¦è¨­å®šã™ã‚‹ãƒ–ランãƒã‚’é¸æŠžã—ã¾ã™ã€‚ã‚ãªãŸãŒä»–ã®ãƒ–ランãƒã‚’指定ã—ãªã„é™ã‚Šã€ã™ã¹ã¦ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¨ã‚³ãƒŸãƒƒãƒˆãŒã“ã®ãƒ–ランãƒã«å¯¾ã—ã¦è‡ªå‹•çš„ã«è¡Œã‚ã‚Œã¾ã™ã€‚"
msgid "Select the configured storage available for new repositories to be placed on."
msgstr ""
msgid "Select the custom project template source group."
-msgstr ""
+msgstr "カスタムã®ãƒ—ロジェクトテンプレートã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’é¸æŠžã—ã¾ã™ã€‚"
msgid "Select timeframe"
msgstr ""
@@ -18087,7 +18512,7 @@ msgid "Select user"
msgstr ""
msgid "Selected levels cannot be used by non-admin users for groups, projects or snippets. If the public level is restricted, user profiles are only visible to logged in users."
-msgstr ""
+msgstr "é¸æŠžã—ãŸãƒ¬ãƒ™ãƒ«ã¯ã€ç®¡ç†è€…以外ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚°ãƒ«ãƒ¼ãƒ—ã€ãƒ—ロジェクトã€ã¾ãŸã¯ã‚¹ãƒ‹ãƒšãƒƒãƒˆã«ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。公開レベルãŒåˆ¶é™ã•ã‚Œã¦ã„ã‚‹å ´åˆã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ—ロファイルã¯ãƒ­ã‚°ã‚¤ãƒ³ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã®ã¿è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚"
msgid "Selecting a GitLab user will add a link to the GitLab user in the descriptions of issues and comments (e.g. \"By <a href=\"#\">@johnsmith</a>\"). It will also associate and/or assign these issues and comments with the selected user."
msgstr "GitLab ユーザーをé¸æŠžã™ã‚‹ã¨ã€GitLab ユーザーã¸ã®ãƒªãƒ³ã‚¯ãŒèª²é¡Œã‚„コメントã®èª¬æ˜Žã«è¿½åŠ ã•ã‚Œã¾ã™ (例:\"By <a href=\"#\">@johnsmith</a>\")。ã¾ãŸã€ã“れらã®èª²é¡Œã‚„コメントをé¸æŠžã—ãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ã«é–¢é€£ä»˜ã‘や割り当ã¦ãŒã§ãã¾ã™ã€‚"
@@ -18156,7 +18581,7 @@ msgid "Sep"
msgstr "9月"
msgid "Separate topics with commas."
-msgstr ""
+msgstr "トピックã¯ã‚³ãƒ³ãƒžã§åŒºåˆ‡ã‚Šã¾ã™ã€‚"
msgid "September"
msgstr "9月"
@@ -18168,55 +18593,55 @@ msgid "Serve repository static objects (e.g. archives, blobs, ...) from an exter
msgstr ""
msgid "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."
-msgstr ""
+msgstr "サーãƒãƒ¼ã¯ãƒãƒƒãƒ API ã®ã¿ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ Git LFS クライアントをãƒãƒ¼ã‚¸ãƒ§ãƒ³1.0.1以上ã«æ›´æ–°ã—ã¦ãã ã•ã„。"
msgid "Server version"
msgstr "サーãƒãƒ¼ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³"
msgid "Serverless"
-msgstr ""
+msgstr "Serverless"
msgid "Serverless domain"
-msgstr ""
+msgstr "Severlessドメイン"
msgid "ServerlessDetails|Function invocation metrics require Prometheus to be installed first."
-msgstr ""
+msgstr "関数呼ã³å‡ºã—メトリクスã§ã¯ã€ Prometheus を最åˆã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "ServerlessDetails|Install Prometheus"
-msgstr ""
+msgstr "Prometheus ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«"
msgid "ServerlessDetails|Invocation metrics loading or not available at this time."
-msgstr ""
+msgstr "呼ã³å‡ºã—メトリクスã®ãƒ­ãƒ¼ãƒ‰ä¸­ã€ã¾ãŸã¯ç¾åœ¨åˆ©ç”¨ã§ãã¾ã›ã‚“。"
msgid "ServerlessDetails|Invocations"
-msgstr ""
+msgstr "呼ã³å‡ºã—"
msgid "ServerlessDetails|Kubernetes Pods"
-msgstr ""
+msgstr "Kubernetesãƒãƒƒãƒ‰"
msgid "ServerlessDetails|More information"
-msgstr ""
+msgstr "詳細情報"
msgid "ServerlessDetails|No pods loaded at this time."
msgstr ""
msgid "ServerlessDetails|Number of Kubernetes pods in use over time based on necessity."
-msgstr ""
+msgstr "å¿…è¦ã«å¿œã˜ã¦é•·æ™‚間使用中ã¨ãªã‚‹Kubernetesãƒãƒƒãƒ‰æ•°ã€‚"
msgid "ServerlessDetails|pod in use"
-msgstr ""
+msgstr "使用中ã®ãƒãƒƒãƒ‰"
msgid "ServerlessDetails|pods in use"
-msgstr ""
+msgstr "使用中ã®ãƒãƒƒãƒ‰"
msgid "ServerlessURL|Copy URL"
msgstr ""
msgid "Serverless| In order to start using functions as a service, you must first install Knative on your Kubernetes cluster."
-msgstr ""
+msgstr "サービスã¨ã—ã¦functionã®ä½¿ç”¨ã‚’開始ã™ã‚‹ã«ã¯ã€ã¾ãšKubernetesクラスターã«Knativeをインストールã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "Serverless|Getting started with serverless"
-msgstr ""
+msgstr "Serverless を始ã‚よã†"
msgid "Serverless|Help shape the future of Serverless at GitLab"
msgstr ""
@@ -18225,10 +18650,10 @@ msgid "Serverless|If you believe none of these apply, please check back later as
msgstr ""
msgid "Serverless|Install Knative"
-msgstr ""
+msgstr "Knativeã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«"
msgid "Serverless|Learn more about Serverless"
-msgstr ""
+msgstr "Serverless ã«ã¤ã„ã¦"
msgid "Serverless|No functions available"
msgstr "利用å¯èƒ½ãªæ©Ÿèƒ½ã¯ã‚ã‚Šã¾ã›ã‚“"
@@ -18342,16 +18767,16 @@ msgid "Set the duration for which the jobs will be considered as old and expired
msgstr ""
msgid "Set the maximum file size for each job's artifacts"
-msgstr ""
+msgstr "å„ジョブã®æˆæžœç‰©ã®æœ€å¤§ãƒ•ã‚¡ã‚¤ãƒ«ã‚µã‚¤ã‚ºã‚’設定"
msgid "Set the maximum number of pipeline minutes that a group can use on shared Runners per month. 0 for unlimited."
-msgstr ""
+msgstr "グループãŒ1ヶ月間ã«å…±æœ‰ãƒ©ãƒ³ãƒŠãƒ¼ã§ä½¿ç”¨ã§ãã‚‹ã®ãƒ‘イプラインã®æœ€å¤§æ™‚間(分)を設定ã—ã¾ã™ã€‚無制é™ã«ã™ã‚‹å ´åˆã¯0を指定ã—ã¾ã™ã€‚"
msgid "Set the milestone to %{milestone_reference}."
msgstr ""
msgid "Set time estimate"
-msgstr ""
+msgstr "見ç©æ™‚é–“ã®è¨­å®š"
msgid "Set time estimate to %{time_estimate}."
msgstr ""
@@ -18362,9 +18787,6 @@ msgstr "CI/CD を設定"
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18375,7 +18797,7 @@ msgid "Set up assertions/attributes/claims (email, first_name, last_name) and Na
msgstr ""
msgid "Set up new U2F device"
-msgstr ""
+msgstr "æ–°ã—ã„U2Fデãƒã‚¤ã‚¹ã‚’セットアップ"
msgid "Set up new password"
msgstr "æ–°ã—ã„パスワードを設定"
@@ -18384,7 +18806,7 @@ msgid "Set up pipeline subscriptions for this project."
msgstr ""
msgid "Set up your project to automatically push and/or pull changes to/from another repository. Branches, tags, and commits will be synced automatically."
-msgstr ""
+msgstr "プロジェクトを設定ã—ã¦ã€åˆ¥ã®ãƒªãƒã‚¸ãƒˆãƒªã¨ã®é–“ã§å¤‰æ›´ã‚’自動的ã«ãƒ—ッシュ/プルã™ã‚‹ã€‚ブランãƒã€ã‚¿ã‚°ã€ãŠã‚ˆã³ã‚³ãƒŸãƒƒãƒˆã¯è‡ªå‹•çš„ã«åŒæœŸã—ã¾ã™ã€‚"
msgid "Set weight"
msgstr "ウェイトを設定"
@@ -18414,10 +18836,10 @@ msgid "SetStatusModal|Set status"
msgstr "ステータスを設定"
msgid "SetStatusModal|Sorry, we weren't able to set your status. Please try again later."
-msgstr ""
+msgstr "ã‚ãªãŸã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’設定ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚後ã§ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。"
msgid "SetStatusModal|What's your status?"
-msgstr ""
+msgstr "ã‚ãªãŸã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã¯ï¼Ÿ"
msgid "Sets %{epic_ref} as parent epic."
msgstr ""
@@ -18426,16 +18848,16 @@ msgid "Sets target branch to %{branch_name}."
msgstr ""
msgid "Sets the due date to %{due_date}."
-msgstr ""
+msgstr "期日を %{due_date} ã«è¨­å®š 。"
msgid "Sets the milestone to %{milestone_reference}."
-msgstr ""
+msgstr "マイルストーンを %{milestone_reference} ã«è¨­å®šã€‚"
msgid "Sets time estimate to %{time_estimate}."
-msgstr ""
+msgstr "見ç©ã‚‚り時間を %{time_estimate} ã«è¨­å®šã€‚"
msgid "Sets weight to %{weight}."
-msgstr ""
+msgstr "ウェイトを %{weight} ã«è¨­å®š"
msgid "Settings"
msgstr "設定"
@@ -18449,6 +18871,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18468,13 +18893,13 @@ msgid "Shared runners help link"
msgstr "共有Runnerã®ãƒ˜ãƒ«ãƒ—リンク"
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 "Sherlock Transactions"
msgstr "シャーロックトランザクション"
@@ -18598,7 +19023,7 @@ msgid "Sign in using smart card"
msgstr "スマートカードを使ã£ã¦ã‚µã‚¤ãƒ³ã‚¤ãƒ³"
msgid "Sign in via 2FA code"
-msgstr ""
+msgstr "2FAコードã§ã‚µã‚¤ãƒ³ã‚¤ãƒ³"
msgid "Sign in with Single Sign-On"
msgstr "シングルサインオンã§ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã™ã‚‹"
@@ -18610,13 +19035,13 @@ msgid "Sign out"
msgstr "サインアウト"
msgid "Sign out & Register"
-msgstr ""
+msgstr "ログアウト&登録"
msgid "Sign up"
msgstr ""
msgid "Sign up was successful! Please confirm your email to sign in."
-msgstr ""
+msgstr "登録ã¯æˆåŠŸã—ã¾ã—ãŸï¼ メールアドレスを確èªã—ã¦ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã—ã¦ãã ã•ã„。"
msgid "Sign-in restrictions"
msgstr "サインインã®åˆ¶é™"
@@ -18631,16 +19056,16 @@ msgid "SignUp|Last Name is too long (maximum is %{max_length} characters)."
msgstr ""
msgid "SignUp|Name is too long (maximum is %{max_length} characters)."
-msgstr ""
+msgstr "åå‰ãŒé•·ã™ãŽã¾ã™(最大 %{max_length} 文字)"
msgid "SignUp|Username is too long (maximum is %{max_length} characters)."
-msgstr ""
+msgstr "ユーザーåãŒé•·ã™ãŽã¾ã™(最大 %{max_length} 文字)"
msgid "Signed in"
msgstr ""
msgid "Signed in with %{authentication} authentication"
-msgstr ""
+msgstr "%{authentication} èªè¨¼ã§ã‚µã‚¤ãƒ³ã‚¤ãƒ³"
msgid "Signing in using %{label} has been disabled"
msgstr ""
@@ -18715,7 +19140,7 @@ msgid "SlackService|This service allows users to perform common operations on th
msgstr ""
msgid "Slower but makes sure the project workspace is pristine as it clones the repository from scratch for every job"
-msgstr ""
+msgstr "é…ããªã‚Šã¾ã™ãŒã€ãƒ—ロジェクトã®ä½œæ¥­é ˜åŸŸã¯ã€ã™ã¹ã¦ã®ã‚¸ãƒ§ãƒ–ã®ãŸã‚ã«ã‚¼ãƒ­ã‹ã‚‰ãƒªãƒã‚¸ãƒˆãƒªã‚’クローンã™ã‚‹ã®ã§ã€ã‚¯ãƒªã‚¢ãªçŠ¶æ…‹ã«ãªã‚Šã¾ã™"
msgid "Smartcard"
msgstr "スマートカード"
@@ -18762,6 +19187,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr "一部ã®ãƒ¡ãƒ¼ãƒ«ã‚µãƒ¼ãƒãƒ¼ã¯ã€ãƒ¡ãƒ¼ãƒ«é€ä¿¡è€…åã®ä¸Šæ›¸ãをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ä»£ã‚ã‚Šã«ãƒ¡ãƒ¼ãƒ«æœ¬æ–‡ã«èª²é¡Œã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã€ã¾ãŸã¯ã‚³ãƒ¡ãƒ³ãƒˆã®ä½œæˆè€…ã®åå‰ã‚’å«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
@@ -18802,10 +19230,10 @@ msgid "Something went wrong when toggling the button"
msgstr "ボタンã®åˆ‡ã‚Šæ›¿ãˆä¸­ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸ"
msgid "Something went wrong while adding your award. Please try again."
-msgstr ""
+msgstr "å—賞中ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "Something went wrong while applying the suggestion. Please try again."
-msgstr ""
+msgstr "æ案ã—ã¦ã„ã‚‹é–“ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "Something went wrong while archiving a requirement."
msgstr ""
@@ -18823,7 +19251,7 @@ msgid "Something went wrong while deleting the package."
msgstr ""
msgid "Something went wrong while deleting the source branch. Please try again."
-msgstr ""
+msgstr "ソースブランãƒã®å‰Šé™¤ä¸­ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "Something went wrong while deleting your note. Please try again."
msgstr ""
@@ -18847,7 +19275,7 @@ msgid "Something went wrong while fetching group member contributions"
msgstr "グループメンãƒãƒ¼ã®è²¢çŒ®åº¦ã‚’å–得中ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸ"
msgid "Something went wrong while fetching latest comments."
-msgstr ""
+msgstr "最新コメントã®å–得中ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "Something went wrong while fetching projects"
msgstr ""
@@ -18856,13 +19284,13 @@ msgid "Something went wrong while fetching projects."
msgstr ""
msgid "Something went wrong while fetching related merge requests."
-msgstr ""
+msgstr "マージリクエストã«é–¢é€£ã™ã‚‹ãƒ•ã‚§ãƒƒãƒä¸­ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
msgid "Something went wrong while fetching requirements list."
msgstr ""
msgid "Something went wrong while fetching the environments for this merge request. Please try again."
-msgstr ""
+msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ç’°å¢ƒã‚’å–得中ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。"
msgid "Something went wrong while fetching the package."
msgstr ""
@@ -18874,7 +19302,7 @@ msgid "Something went wrong while initializing the OpenAPI viewer"
msgstr ""
msgid "Something went wrong while merging this merge request. Please try again."
-msgstr ""
+msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãƒžãƒ¼ã‚¸ä¸­ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "Something went wrong while moving issues."
msgstr ""
@@ -18903,9 +19331,12 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
-msgid "Something went wrong, unable to add %{project} to dashboard"
+msgid "Something went wrong with your automatic subscription renewal"
msgstr ""
+msgid "Something went wrong, unable to add %{project} to dashboard"
+msgstr "å•é¡ŒãŒç™ºç”Ÿã—ã¦ã€ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã« %{project} を追加ã§ãã¾ã›ã‚“"
+
msgid "Something went wrong, unable to add projects to dashboard"
msgstr ""
@@ -18991,10 +19422,10 @@ msgid "SortOptions|Less weight"
msgstr "ウェイトãŒå°ã•ã„é †"
msgid "SortOptions|Manual"
-msgstr ""
+msgstr "マニュアル"
msgid "SortOptions|Milestone due date"
-msgstr ""
+msgstr "マイルストーン期日"
msgid "SortOptions|Milestone due later"
msgstr "マイルストーン期é™ã®é…ã„é †"
@@ -19009,7 +19440,7 @@ msgid "SortOptions|Most popular"
msgstr "人気順"
msgid "SortOptions|Most stars"
-msgstr ""
+msgstr "星ã®å¤šã„é †"
msgid "SortOptions|Name"
msgstr "åå‰"
@@ -19033,7 +19464,7 @@ msgid "SortOptions|Oldest sign in"
msgstr "サインイン順"
msgid "SortOptions|Oldest starred"
-msgstr ""
+msgstr "ãŠæ°—ã«ã„ã‚Šã§å¤ã„é †"
msgid "SortOptions|Oldest updated"
msgstr "å¤ã„æ›´æ–°é †"
@@ -19048,13 +19479,13 @@ msgid "SortOptions|Project"
msgstr ""
msgid "SortOptions|Recent last activity"
-msgstr ""
+msgstr "最近ã®æœ€æ–°ã‚¢ã‚¯ãƒ†ã‚£ãƒ“ティ"
msgid "SortOptions|Recent sign in"
msgstr "最近ã®ã‚µã‚¤ãƒ³ã‚¤ãƒ³é †"
msgid "SortOptions|Recently starred"
-msgstr ""
+msgstr "ãŠæ°—ã«ã„ã‚Šã§æ–°ã—ã„é †"
msgid "SortOptions|Size"
msgstr ""
@@ -19066,7 +19497,7 @@ msgid "SortOptions|Stars"
msgstr ""
msgid "SortOptions|Start date"
-msgstr ""
+msgstr "開始日ã®é †"
msgid "SortOptions|Start later"
msgstr "å¤ã„é †"
@@ -19150,10 +19581,10 @@ msgid "Spam and Anti-bot Protection"
msgstr "スパムã¨ã‚¢ãƒ³ãƒãƒœãƒƒãƒˆä¿è­·"
msgid "Spam log successfully submitted as ham."
-msgstr ""
+msgstr "スパムログã¯ãƒãƒ ã¨ã—ã¦é€ä¿¡ã•ã‚Œã¾ã—ãŸã€‚"
msgid "Specific Runners"
-msgstr ""
+msgstr "特定㮠Runner"
msgid "Specified URL cannot be used: \"%{reason}\""
msgstr ""
@@ -19188,6 +19619,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr "優先ラベルã«ã™ã‚‹ã«ã¯ã€ãƒ©ãƒ™ãƒ«ã«ã‚¹ã‚¿ãƒ¼ã‚’付ã‘ã¾ã™ã€‚ドラッグã—ã¦ã€å„ªå…ˆé †ä½ã‚’並ã¹æ›¿ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
@@ -19210,22 +19644,22 @@ msgid "Starred projects"
msgstr "スター付ãプロジェクト"
msgid "StarredProjectsEmptyState|Visit a project page and press on a star icon. Then, you can find the project on this page."
-msgstr ""
+msgstr "プロジェクトページã«ç§»å‹•ã—ã¦ã‚¹ã‚¿ãƒ¼ã‚¢ã‚¤ã‚³ãƒ³ã‚’押ã—ã¾ã™ã€‚ãã®å¾Œã€ã“ã®ãƒšãƒ¼ã‚¸ã§ã“ã®ãƒ—ロジェクトを見ã¤ã‘られるよã†ã«ãªã‚Šã¾ã™ã€‚"
msgid "StarredProjectsEmptyState|You don't have starred projects yet."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ã¾ã ãƒ—ロジェクトã«ã‚¹ã‚¿ãƒ¼ã‚’ã¤ã‘ã¦ã„ã¾ã›ã‚“。"
msgid "Starrers"
-msgstr ""
+msgstr "ãŠæ°—ã«ã„ã‚Š"
msgid "Stars"
msgstr "スター"
msgid "Start GitLab Ultimate trial"
-msgstr ""
+msgstr "GitLab Ultimateトライアルを始ã‚ã¾ã—ょã†"
msgid "Start Web Terminal"
-msgstr ""
+msgstr "Webターミナルã®èµ·å‹•"
msgid "Start a %{new_merge_request} with these changes"
msgstr "ã“ã®å¤‰æ›´ã§ %{new_merge_request} を作æˆã™ã‚‹"
@@ -19237,10 +19671,10 @@ msgid "Start a new discussion..."
msgstr ""
msgid "Start a new merge request"
-msgstr ""
+msgstr "æ–°ã—ã„マージリクエストを開始ã™ã‚‹"
msgid "Start a review"
-msgstr ""
+msgstr "レビューã®é–‹å§‹"
msgid "Start and due date"
msgstr "開始日ã¨çµ‚了日"
@@ -19311,6 +19745,9 @@ msgstr "メッセージを有効ã«ã™ã‚‹"
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19320,18 +19757,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19389,6 +19838,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19405,7 +19860,7 @@ msgid "Stop Terminal"
msgstr "ターミナルをåœæ­¢"
msgid "Stop impersonation"
-msgstr ""
+msgstr "代ç†ã‚’åœæ­¢"
msgid "Stop this environment"
msgstr "ã“ã®ç’°å¢ƒã‚’åœæ­¢ã™ã‚‹"
@@ -19426,7 +19881,7 @@ msgid "Storage:"
msgstr "ストレージ:"
msgid "StorageSize|Unknown"
-msgstr ""
+msgstr "ä¸æ˜Ž"
msgid "Subgroup overview"
msgstr ""
@@ -19447,13 +19902,13 @@ msgid "Subgroups"
msgstr "サブグループ"
msgid "Subgroups and projects"
-msgstr ""
+msgstr "サブグループã¨ãƒ—ロジェクト"
msgid "Subject Key Identifier:"
msgstr ""
msgid "Subkeys"
-msgstr ""
+msgstr "サブキー"
msgid "Submit Changes"
msgstr ""
@@ -19471,10 +19926,10 @@ msgid "Submit issue"
msgstr ""
msgid "Submit review"
-msgstr ""
+msgstr "レビューをé€ä¿¡"
msgid "Submit search"
-msgstr ""
+msgstr "検索ã®æ出"
msgid "Submit the current review."
msgstr ""
@@ -19495,7 +19950,7 @@ msgid "Subscribe to RSS feed"
msgstr "RSS フィードを購読"
msgid "Subscribe to calendar"
-msgstr ""
+msgstr "カレンダーã«ç™»éŒ²"
msgid "Subscribed"
msgstr ""
@@ -19507,7 +19962,7 @@ msgid "Subscribes to this %{quick_action_target}."
msgstr ""
msgid "Subscription"
-msgstr ""
+msgstr "サブスクリプション"
msgid "Subscription deletion failed."
msgstr ""
@@ -19546,46 +20001,46 @@ msgid "SubscriptionTable|Next invoice"
msgstr ""
msgid "SubscriptionTable|Seats currently in use"
-msgstr ""
+msgstr "ç¾åœ¨ä½¿ç”¨ä¸­ã®ã‚·ãƒ¼ãƒˆæ•°"
msgid "SubscriptionTable|Seats in subscription"
-msgstr ""
+msgstr "購読中ã®ã‚·ãƒ¼ãƒˆæ•°"
msgid "SubscriptionTable|Seats owed"
-msgstr ""
+msgstr "未払ã„ã®ã‚·ãƒ¼ãƒˆæ•°"
msgid "SubscriptionTable|Subscription end date"
-msgstr ""
+msgstr "サブスクリプション終了日"
msgid "SubscriptionTable|Subscription start date"
-msgstr ""
+msgstr "サブスクリプション開始日"
msgid "SubscriptionTable|This is the last time the GitLab.com team was in contact with you to settle any outstanding balances."
-msgstr ""
+msgstr "ã“ã‚Œã¯æœ€å¾Œã«ã€æœªæ‰•ã„ã®æ®‹é«˜ã«ã¤ã„ã¦GitLab.comãƒãƒ¼ãƒ ãŒãŠå®¢æ§˜ã«é€£çµ¡ã—ãŸæ—¥æ™‚ã§ã™ã€‚"
msgid "SubscriptionTable|This is the maximum number of users that have existed at the same time since this subscription started."
-msgstr ""
+msgstr "ã“ã‚Œã¯ã€ã“ã®ã‚µãƒ–スクリプション開始以é™ã«åŒæ™‚ã«å­˜åœ¨ã—ã¦ã„ãŸæœ€å¤§ãƒ¦ãƒ¼ã‚¶ãƒ¼æ•°ã§ã™ã€‚"
msgid "SubscriptionTable|This is the next date when the GitLab.com team is scheduled to get in contact with you to settle any outstanding balances."
-msgstr ""
+msgstr "ã“ã‚Œã¯æ¬¡å›žã€æœªæ‰•ã„ã®æ®‹é«˜ã«ã¤ã„ã¦GitLab.comãƒãƒ¼ãƒ ãŒãŠå®¢æ§˜ã«é€£çµ¡ã™ã‚‹äºˆå®šã®æ—¥ç¨‹ã§ã™ã€‚"
msgid "SubscriptionTable|This is the number of seats you will be required to purchase if you update to a paid plan."
-msgstr ""
+msgstr "ã“ã¡ã‚‰ã¯ã€æœ‰æ–™ãƒ—ランã«æ›´æ–°ã—ãŸå ´åˆã«è³¼å…¥ãŒå¿…è¦ã«ãªã‚‹ã‚·ãƒ¼ãƒˆæ•°ã§ã™ã€‚"
msgid "SubscriptionTable|Trial"
-msgstr ""
+msgstr "試用版"
msgid "SubscriptionTable|Trial end date"
-msgstr ""
+msgstr "試用終了日"
msgid "SubscriptionTable|Trial start date"
-msgstr ""
+msgstr "試用開始日"
msgid "SubscriptionTable|Upgrade"
msgstr "アップグレード"
msgid "SubscriptionTable|Usage"
-msgstr ""
+msgstr "使用方法"
msgid "SubscriptionTable|Usage count is performed once a day at 12:00 PM."
msgstr ""
@@ -19606,10 +20061,10 @@ msgid "Successfully activated"
msgstr ""
msgid "Successfully blocked"
-msgstr ""
+msgstr "正常ã«ãƒ–ロックã•ã‚Œã¾ã—ãŸ"
msgid "Successfully confirmed"
-msgstr ""
+msgstr "確èªã«æˆåŠŸã—ã¾ã—ãŸ"
msgid "Successfully deactivated"
msgstr ""
@@ -19618,16 +20073,16 @@ msgid "Successfully deleted U2F device."
msgstr ""
msgid "Successfully removed email."
-msgstr ""
+msgstr "メールを削除ã—ã¾ã—ãŸã€‚"
msgid "Successfully scheduled a pipeline to run. Go to the %{pipelines_link_start}Pipelines page%{pipelines_link_end} for details."
-msgstr ""
+msgstr "実行ã™ã‚‹ãƒ‘イプラインをスケジュールã—ã¾ã—ãŸã€‚ 詳ã—ãã¯%{pipelines_link_start}パイプラインページ%{pipelines_link_end}ã‚’ã”覧ãã ã•ã„。"
msgid "Successfully unblocked"
-msgstr ""
+msgstr "正常ã«ãƒ–ロックãŒè§£é™¤ã•ã‚Œã¾ã—ãŸ"
msgid "Successfully unlocked"
-msgstr ""
+msgstr "正常ã«ãƒ­ãƒƒã‚¯ãŒè§£é™¤ã•ã‚Œã¾ã—ãŸ"
msgid "Successfully verified domain ownership"
msgstr ""
@@ -19639,7 +20094,7 @@ msgid "Suggested change"
msgstr ""
msgid "SuggestedColors|Bright green"
-msgstr ""
+msgstr "ブライトグリーン"
msgid "SuggestedColors|Dark grayish cyan"
msgstr ""
@@ -19660,7 +20115,7 @@ msgid "SuggestedColors|Feijoa"
msgstr ""
msgid "SuggestedColors|Lime green"
-msgstr ""
+msgstr "ライムグリーン"
msgid "SuggestedColors|Moderate blue"
msgstr ""
@@ -19717,10 +20172,10 @@ msgid "Support"
msgstr "サãƒãƒ¼ãƒˆ"
msgid "Support for custom certificates is disabled. Ask your system's administrator to enable it."
-msgstr ""
+msgstr "カスタム証明書ã®ã‚µãƒãƒ¼ãƒˆã¯ç„¡åŠ¹ã§ã™ã€‚有効ã«ã™ã‚‹ã«ã¯ã‚·ã‚¹ãƒ†ãƒ ç®¡ç†è€…ã«ãŠå•ã„åˆã‚ã›ãã ã•ã„。"
msgid "Support page URL"
-msgstr ""
+msgstr "サãƒãƒ¼ãƒˆãƒšãƒ¼ã‚¸URL"
msgid "Switch branch/tag"
msgstr "ブランãƒãƒ»ã‚¿ã‚°åˆ‡ã‚Šæ›¿ãˆ"
@@ -19737,6 +20192,12 @@ msgstr "åŒæœŸæƒ…å ±"
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr "システム"
@@ -19890,6 +20351,9 @@ msgstr "ãƒãƒ¼ãƒ ãƒ‰ãƒ¡ã‚¤ãƒ³"
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "テンプレート"
@@ -19906,7 +20370,7 @@ msgid "Terminal"
msgstr "ターミナル"
msgid "Terminal for environment"
-msgstr ""
+msgstr "環境ターミナル"
msgid "Terminal sync service is running"
msgstr ""
@@ -19928,34 +20392,34 @@ msgid_plural "Test coverage: %d hits"
msgstr[0] ""
msgid "Test failed."
-msgstr ""
+msgstr "テストãŒå¤±æ•—ã—ã¾ã—ãŸã€‚"
msgid "Test settings and save changes"
-msgstr ""
+msgstr "設定をテストã—ã¦ã€å¤‰æ›´ã‚’ä¿å­˜ã™ã‚‹"
msgid "TestHooks|Ensure one of your projects has merge requests."
-msgstr ""
+msgstr "å°‘ãã¨ã‚‚一ã¤ã®ãƒ—ロジェクトã«ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "TestHooks|Ensure the project has CI jobs."
-msgstr ""
+msgstr "プロジェクトã«CIジョブãŒã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "TestHooks|Ensure the project has CI pipelines."
-msgstr ""
+msgstr "プロジェクトã«CIパイプラインãŒã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "TestHooks|Ensure the project has at least one commit."
-msgstr ""
+msgstr "プロジェクトã«å°‘ãªãã¨ã‚‚1ã¤ã®ã‚³ãƒŸãƒƒãƒˆãŒã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "TestHooks|Ensure the project has issues."
-msgstr ""
+msgstr "プロジェクトã«èª²é¡ŒãŒã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "TestHooks|Ensure the project has merge requests."
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトã«ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "TestHooks|Ensure the project has notes."
-msgstr ""
+msgstr "プロジェクトã«ãƒŽãƒ¼ãƒˆãŒã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "TestHooks|Ensure the wiki is enabled and has pages."
-msgstr ""
+msgstr "ã“ã®wikiãŒæœ‰åŠ¹ã§ã€ãƒšãƒ¼ã‚¸ãŒã‚ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "TestReports|%{count} errors"
msgstr ""
@@ -19994,7 +20458,7 @@ msgid "Thank you for signing up for your free trial! You will get additional ins
msgstr ""
msgid "Thank you for your report. A GitLab administrator will look into it shortly."
-msgstr ""
+msgstr "ã”報告ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ GitLabã®ç®¡ç†è€…ãŒã¾ã‚‚ãªããれを調ã¹ã¾ã™ã€‚"
msgid "Thanks for your purchase!"
msgstr ""
@@ -20006,7 +20470,7 @@ msgid "That's it, well done!%{celebrate}"
msgstr ""
msgid "The \"%{group_path}\" group allows you to sign in with your Single Sign-On Account"
-msgstr ""
+msgstr "ã“ã® %{group_path} グループã§ã€ã‚ãªãŸã¯ã‚·ãƒ³ã‚°ãƒ«ã‚µã‚¤ãƒ³ã‚ªãƒ³ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã§ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã§ãã¾ã™ã€‚"
msgid "The \"Require approval from CODEOWNERS\" setting was moved to %{banner_link_start}Protected Branches%{banner_link_end}"
msgstr ""
@@ -20025,7 +20489,7 @@ msgid "The Advanced Global Search in GitLab is a powerful search service that sa
msgstr "GitLab ã®é«˜åº¦ãªã‚°ãƒ­ãƒ¼ãƒãƒ«æ¤œç´¢ã¯ã€æ™‚間を節約ã§ãる強力ãªæ¤œç´¢ã‚µãƒ¼ãƒ“スã§ã™ã€‚é‡è¤‡ã—ãŸã‚³ãƒ¼ãƒ‰ã®ä½œæˆã‚’ã—ã¦æ™‚間を無駄ã«ã™ã‚‹ã“ã¨ãªãã€è‡ªèº«ã®ãƒ—ロジェクトã®åŠ©ã‘ã¨ãªã‚‹å¤–ã®ãƒãƒ¼ãƒ ã®ã‚³ãƒ¼ãƒ‰ã‚’検索ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚"
msgid "The CSV export will be created in the background. Once finished, it will be sent to <strong>%{email}</strong> in an attachment."
-msgstr ""
+msgstr "CSVエクスãƒãƒ¼ãƒˆã‚’ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§ä½œæˆã—ã¾ã™ã€‚終了後ã«ã€<strong>%{email}</strong> ã«æ·»ä»˜ã—ã¦ãƒ¡ãƒ¼ãƒ«ã§é€ä¿¡ã•ã‚Œã¾ã™ã€‚"
msgid "The Git LFS objects will <strong>not</strong> be synced."
msgstr "Git ã® LFS オブジェクトã¯<strong>åŒæœŸã—ã¾ã›ã‚“</strong>。"
@@ -20049,7 +20513,7 @@ msgid "The X509 Certificate to use when mutual TLS is required to communicate wi
msgstr "外部èªè¨¼ã‚µãƒ¼ãƒ“スã¨ã®é€šä¿¡ã«ç›¸äº’ TLS ãŒå¿…è¦ãªå ´åˆã«ä½¿ç”¨ã™ã‚‹ X509 証明書。空白ã®ã¾ã¾ã«ã™ã‚‹ã¨ã€HTTPS 経由ã§ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã¨ãã«ã‚µãƒ¼ãƒè¨¼æ˜Žæ›¸ã®æ¤œè¨¼ãŒè¡Œã‚ã‚Œã¾ã™ã€‚"
msgid "The amount of seconds after which a request to get a secondary node status will time out."
-msgstr ""
+msgstr "セカンダリノードã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã‚’å–å¾—ã™ã‚‹è¦æ±‚ãŒã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã™ã‚‹ã¾ã§ã®ç§’数。"
msgid "The application will be used where the client secret can be kept confidential. Native mobile apps and Single Page Apps are considered non-confidential."
msgstr ""
@@ -20058,13 +20522,13 @@ msgid "The associated issue #%{issueId} has been closed as the error is now reso
msgstr ""
msgid "The branch for this project has no active pipeline configuration."
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトã®ã“ã®ãƒ–ランãƒã«ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãªãƒ‘イプライン設定ãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "The branch or tag does not exist"
msgstr ""
msgid "The character highlighter helps you keep the subject line to %{titleLength} characters and wrap the body at %{bodyLength} so they are readable in git."
-msgstr ""
+msgstr "キャラクターãƒã‚¤ãƒ©ã‚¤ã‚¿ãƒ¼ã¯ã€ä»¶åã‚’ %{titleLength} 文字ã«ã€æœ¬æ–‡ã‚’ %{bodyLength} 文字ã«ã¾ã¨ã‚ã€gitã§èª­ã‚るよã†ã«ã—ã¾ã™ã€‚"
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 "コーディングステージã§ã¯ã€æœ€åˆã®ã‚³ãƒŸãƒƒãƒˆã‹ã‚‰ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒä½œæˆã•ã‚Œã‚‹ã¾ã§ã®æ™‚é–“ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚ã“ã®ãƒ‡ãƒ¼ã‚¿ã¯æœ€åˆã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒä½œæˆã•ã‚ŒãŸã¨ãã«è‡ªå‹•çš„ã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚"
@@ -20082,7 +20546,7 @@ msgid "The connection will time out after %{timeout}. For repositories that take
msgstr "コãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ %{timeout} ã§ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã—ã¾ã™ã€‚タイムアウトã™ã‚‹ãƒªãƒã‚¸ãƒˆãƒªã§ã¯ã€clone/push を組ã¿åˆã‚ã›ã¦ä½¿ç”¨ã—ã¦ãã ã•ã„。"
msgid "The content of this page is not encoded in UTF-8. Edits can only be made via the Git repository."
-msgstr ""
+msgstr "ã“ã®ãƒšãƒ¼ã‚¸ã¯UTF-8ã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã¾ã›ã‚“。編集ã¯Gitリãƒã‚¸ãƒˆãƒªã‚’介ã—ã¦è¡Œã£ã¦ãã ã•ã„。"
msgid "The contents of this group, its subgroups and projects will be permanently removed after %{deletion_adjourned_period} days on %{date}. After this point, your data cannot be recovered."
msgstr ""
@@ -20100,13 +20564,13 @@ msgid "The dependency list details information about the components used within
msgstr ""
msgid "The deployment of this job to %{environmentLink} did not succeed."
-msgstr ""
+msgstr "ã“ã®ã‚¸ãƒ§ãƒ–ã® %{environmentLink} ã¸ã®ãƒ‡ãƒ—ロイã¯æˆåŠŸã—ã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "The designs you tried uploading did not change."
msgstr ""
msgid "The directory has been successfully created."
-msgstr ""
+msgstr "ディレクトリã®ä½œæˆã«æˆåŠŸã—ã¾ã—ãŸ"
msgid "The domain you entered is misformatted."
msgstr ""
@@ -20115,7 +20579,7 @@ msgid "The domain you entered is not allowed."
msgstr ""
msgid "The entered user map is not a valid JSON user map."
-msgstr ""
+msgstr "入力ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒžãƒƒãƒ—ã¯ã€æœ‰åŠ¹ãªJSONユーザーマップã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "The file has been successfully created."
msgstr ""
@@ -20191,6 +20655,9 @@ msgid "The license was removed. GitLab now no longer has a valid license."
msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
+msgstr "ライセンスã¯æ­£å¸¸ã«ã‚¢ãƒƒãƒ—ロードã•ã‚Œã€ã‚¢ã‚¯ãƒ†ã‚£ãƒ–ã«ãªã‚Šã¾ã—ãŸã€‚ã‚ãªãŸã¯ã€è©³ç´°ãŒè¦‹ã‚Œã¾ã™ã€‚"
+
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
msgstr ""
msgid "The maximum file size allowed is %{size}."
@@ -20200,13 +20667,13 @@ msgid "The maximum file size allowed is 200KB."
msgstr "許å¯ã•ã‚Œã‚‹æœ€å¤§ãƒ•ã‚¡ã‚¤ãƒ«ã‚µã‚¤ã‚ºã¯ 200KB ã§ã™ã€‚"
msgid "The merge conflicts for this merge request cannot be resolved through GitLab. Please try to resolve them locally."
-msgstr ""
+msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹ãƒžãƒ¼ã‚¸ã®ç«¶åˆã¯ GitLab ã§ã¯è§£æ±ºã§ãã¾ã›ã‚“。ローカルã§è§£æ±ºã—ã¦ãã ã•ã„。"
msgid "The merge conflicts for this merge request have already been resolved."
-msgstr ""
+msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹ãƒžãƒ¼ã‚¸ã®ç«¶åˆã¯ã™ã§ã«è§£æ±ºã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "The merge conflicts for this merge request have already been resolved. Please return to the merge request."
-msgstr ""
+msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«å¯¾ã™ã‚‹ãƒžãƒ¼ã‚¸ã®ç«¶åˆã¯ã™ã§ã«è§£æ±ºã•ã‚Œã¦ã„ã¾ã™ã€‚マージリクエストã«æˆ»ã£ã¦ãã ã•ã„。"
msgid "The merge request can now be merged."
msgstr ""
@@ -20218,7 +20685,7 @@ msgid "The number of changes to be fetched from GitLab when cloning a repository
msgstr ""
msgid "The number of times an upload record could not find its file"
-msgstr ""
+msgstr "アップロードレコードãŒãƒ•ã‚¡ã‚¤ãƒ«ã‚’見ã¤ã‘られãªã‹ã£ãŸå›žæ•°"
msgid "The one place for your designs"
msgstr ""
@@ -20254,19 +20721,19 @@ msgid "The project can be accessed by any user who is logged in."
msgstr "ã“ã®ãƒ—ロジェクトã¯ã€ãƒ­ã‚°ã‚¤ãƒ³ãƒ¦ãƒ¼ã‚¶ãƒ¼ã§ã‚ã‚Œã°èª°ã§ã‚‚アクセスã§ãã¾ã™ã€‚"
msgid "The project can be accessed by anyone, regardless of authentication."
-msgstr ""
+msgstr "プロジェクトã¯ã€èªè¨¼ã«ã‚ˆã‚‰ãšã€èª°ã§ã‚‚アクセスã§ãã¾ã™ã€‚"
msgid "The project can be accessed without any authentication."
msgstr "プロジェクトã¯ã€ãƒ­ã‚°ã‚¤ãƒ³ãªã—ã«èª°ã§ã‚‚アクセスã§ãã¾ã™ã€‚"
msgid "The project is accessible only by members of the project. Access must be granted explicitly to each user."
-msgstr ""
+msgstr "プロジェクトã¯ã€ãã®ãƒ—ロジェクトã®ãƒ¡ãƒ³ãƒãƒ¼ã®ã¿ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚å„ユーザーã«ã‚¢ã‚¯ã‚»ã‚¹æ¨©ã‚’明示的ã«æŒ‡å®šã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
msgid "The project is still being deleted. Please try again later."
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトã¯å‰Šé™¤ä¸­ã§ã™ã€‚ã—ã°ã‚‰ã後ã§è©¦ã—ã¦ãã ã•ã„。"
msgid "The project was successfully forked."
-msgstr ""
+msgstr "プロジェクトã¯æ­£å¸¸ã«ãƒ•ã‚©ãƒ¼ã‚¯ã•ã‚Œã¾ã—ãŸã€‚"
msgid "The project was successfully imported."
msgstr ""
@@ -20275,10 +20742,10 @@ msgid "The pseudonymizer data collection is disabled. When enabled, GitLab will
msgstr "匿å化データコレクションã¯ç„¡åŠ¹ã§ã™ã€‚有効ã«ã—ãŸã¨ãã€GitLab ã¯ã€ã‚ãªãŸãŒè¨­å®šã—ãŸã‚ªãƒ–ジェクトストレージディレクトリã«ã‚¢ãƒƒãƒ—ロードã™ã‚‹ GitLab データベースã®åŒ¿å化ã—㟠CSV を生æˆã™ã‚‹ã‚¸ãƒ§ãƒ–ã‚’ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å®Ÿè¡Œã—ã¾ã™ã€‚"
msgid "The remote mirror took to long to complete."
-msgstr ""
+msgstr "リモートミラーãŒå®Œäº†ã™ã‚‹ã¾ã§ã«æ™‚é–“ãŒã‹ã‹ã‚Šã¾ã™ã€‚"
msgid "The remote repository is being updated..."
-msgstr ""
+msgstr "リモートリãƒã‚¸ãƒˆãƒªã¯ç¾åœ¨ã€æ›´æ–°ä¸­ã§ã™ã€‚"
msgid "The repository can be commited to, and issues, comments and other entities can be created."
msgstr ""
@@ -20290,7 +20757,7 @@ msgid "The repository for this project is empty"
msgstr "ã“ã®ãƒ—ロジェクトã«ãƒªãƒã‚¸ãƒˆãƒªã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "The repository is being updated..."
-msgstr ""
+msgstr "リãƒã‚¸ãƒˆãƒªã¯ç¾åœ¨ã€æ›´æ–°ä¸­ã§ã™ã€‚"
msgid "The repository must be accessible over <code>http://</code>, <code>https://</code> or <code>git://</code>."
msgstr "リãƒã‚¸ãƒˆãƒªã«ã¯ã€<code>http://</code>〠<code>https://</code> ã¾ãŸã¯ <code>git://</code>ã§æŽ¥ç¶šã§ããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
@@ -20305,19 +20772,19 @@ msgid "The roadmap shows the progress of your epics along a timeline"
msgstr "ロードマップã«ã¯ã€ã‚¿ã‚¤ãƒ ãƒ©ã‚¤ãƒ³ã«æ²¿ã£ãŸã‚¨ãƒ”ックã®é€²æ—ãŒè¡¨ç¤ºã•ã‚Œã¾ã™"
msgid "The schedule time must be in the future!"
-msgstr ""
+msgstr "スケジュールã®æ™‚é–“ã¯ç¾åœ¨ä»¥é™ã®æ—¥æ™‚ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“"
msgid "The snippet can be accessed without any authentication."
-msgstr ""
+msgstr "ã“ã®ã‚¹ãƒ‹ãƒšãƒƒãƒˆã¯èªè¨¼ç„¡ã—ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™"
msgid "The snippet is visible only to me."
msgstr ""
msgid "The snippet is visible only to project members."
-msgstr ""
+msgstr "スニペットã¯ãƒ—ロジェクトメンãƒãƒ¼ã ã‘ãŒè¦‹ã‚Œã¾ã™ã€‚"
msgid "The snippet is visible to any logged in user."
-msgstr ""
+msgstr "スニペットã¯ã€ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã‚‹ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè¦‹ã‚Œã¾ã™ã€‚"
msgid "The specified tab is invalid, please select another"
msgstr ""
@@ -20338,16 +20805,16 @@ msgid "The unique identifier for the Geo node. Must match %{geoNodeName} if it i
msgstr ""
msgid "The update action will time out after %{number_of_minutes} minutes. For big repositories, use a clone/push combination."
-msgstr ""
+msgstr "アップデート㯠%{number_of_minutes} 分後ã«ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã—ã¾ã™ã€‚大ããªãƒªãƒã‚¸ãƒˆãƒªã«ã¯ã€clone 㨠push を組ã¿åˆã‚ã›ã¦ä½¿ã£ã¦ãã ã•ã„。"
msgid "The uploaded file is not a valid Google Takeout archive."
-msgstr ""
+msgstr "アップロードã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã¯æœ‰åŠ¹ãª Google テイクアウトアーカイブã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "The usage ping is disabled, and cannot be configured through this form."
-msgstr ""
+msgstr "ping ã®ä½¿ç”¨ã¯ç„¡åŠ¹ã«ãªã£ã¦ã„ã‚‹ãŸã‚ã€ã“ã®ãƒ•ã‚©ãƒ¼ãƒ ã§ã¯è¨­å®šã§ãã¾ã›ã‚“。"
msgid "The user is being deleted."
-msgstr ""
+msgstr "ユーザーを削除中ã§ã™ã€‚"
msgid "The user map has been saved. Continue by selecting the projects you want to import."
msgstr ""
@@ -20380,10 +20847,10 @@ msgid "There are no GPG keys with access to your account."
msgstr ""
msgid "There are no SSH keys associated with this account."
-msgstr ""
+msgstr "ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«ç´ä»˜ã„ã¦ã„ã‚‹SSH éµã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "There are no SSH keys with access to your account."
-msgstr ""
+msgstr "ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã®SSH éµãŒã‚ã‚Šã¾ã›ã‚“"
msgid "There are no archived projects yet"
msgstr "アーカイブã•ã‚ŒãŸãƒ—ロジェクトã¯ã‚ã‚Šã¾ã›ã‚“"
@@ -20404,7 +20871,7 @@ msgid "There are no closed merge requests"
msgstr "クローズã•ã‚ŒãŸãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "There are no custom project templates set up for this GitLab instance. They are enabled from GitLab's Admin Area. Contact your GitLab instance administrator to setup custom project templates."
-msgstr ""
+msgstr "ã“ã® GitLab インスタンス用ã«è¨­å®šã•ã‚ŒãŸã‚«ã‚¹ã‚¿ãƒ ãƒ—ロジェクトテンプレートã¯ã‚ã‚Šã¾ã›ã‚“。カスタムプロジェクトテンプレート㯠GitLab ã®ç®¡ç†è€…エリアã§æœ‰åŠ¹ã«ã§ãã¾ã™ã€‚設定ã™ã‚‹ã«ã¯ã€ GitLab インスタンス管ç†è€…ã«é€£çµ¡ã—ã¦ãã ã•ã„。"
msgid "There are no issues to show"
msgstr "表示ã™ã‚‹èª²é¡ŒãŒã‚ã‚Šã¾ã›ã‚“"
@@ -20428,10 +20895,10 @@ msgid "There are no open requirements"
msgstr ""
msgid "There are no packages yet"
-msgstr ""
+msgstr "ã¾ã ãƒ‘ッケージãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "There are no projects shared with this group yet"
-msgstr ""
+msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¨å…±æœ‰ã—ã¦ã„るプロジェクトã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "There are no variables yet."
msgstr ""
@@ -20514,11 +20981,14 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr "ユーザーã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ“ティカレンダーã®èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "There was an error removing the e-mail."
-msgstr ""
+msgstr "メールã®å‰Šé™¤ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "There was an error removing your custom stage, please try again"
msgstr ""
@@ -20529,11 +20999,11 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
-msgstr ""
+msgstr "ã‚ãªãŸã®å¤‰æ›´ã®ä¿å­˜ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
msgid "There was an error saving your notification settings."
msgstr "通知設定をä¿å­˜ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
@@ -20581,10 +21051,10 @@ msgid "There was an error while fetching value stream analytics recent activity
msgstr ""
msgid "There was an error with the reCAPTCHA. Please solve the reCAPTCHA again."
-msgstr ""
+msgstr "reCAPTCHA ã«ã‚¨ãƒ©ãƒ¼ãŒã‚ã‚Šã¾ã—ãŸã€‚ reCAPTCHA ã‚’ã‚‚ã†ä¸€åº¦å®Ÿæ–½ã—ã¦ãã ã•ã„。"
msgid "These existing issues have a similar title. It might be better to comment there instead of creating another similar issue."
-msgstr ""
+msgstr "既存ã®èª²é¡Œã«åŒæ§˜ã®ã‚¿ã‚¤ãƒˆãƒ«ãŒã‚ã‚Šã¾ã™ã€‚別ã®ä¼¼ãŸã‚ˆã†ãªèª²é¡Œã‚’作æˆã™ã‚‹ã‚ˆã‚Šã€ãã“ã«ã‚³ãƒ¡ãƒ³ãƒˆã™ã‚‹æ–¹ãŒè‰¯ã„ã§ã™ã€‚"
msgid "These variables are configured in the parent group settings, and will be active in the current project in addition to the project variables."
msgstr ""
@@ -20592,17 +21062,20 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr "%{link}を使用ã—ã¦ãれらを管ç†ã§ãã¾ã™ã€‚"
-msgid "Third party offers"
+msgid "Third Party Advisory Link"
msgstr ""
+msgid "Third party offers"
+msgstr "サードパーティã®ã‚¢ãƒ—リã®ç”³ã—出"
+
msgid "This %{issuableDisplayName} is locked. Only project members can comment."
msgstr ""
msgid "This %{issuable} is locked. Only <strong>project members</strong> can comment."
-msgstr ""
+msgstr "ã“ã® %{issuable} ã¯ãƒ­ãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚<strong>プロジェクトメンãƒãƒ¼</strong> ã ã‘ãŒã‚³ãƒ¡ãƒ³ãƒˆã§ãã¾ã™ã€‚"
msgid "This %{viewer} could not be displayed because %{reason}. You can %{options} instead."
-msgstr ""
+msgstr "%{reason} ã®ãŸã‚ã€ã“ã® %{viewer} ã¯è¡¨ç¤ºã§ãã¾ã›ã‚“ã§ã—ãŸã€‚代ã‚ã‚Šã« %{options} ãŒä½¿ç”¨ã§ãã¾ã™ã€‚"
msgid "This GitLab instance does not provide any shared Runners yet. Instance administrators can register shared Runners in the admin area."
msgstr "ã“ã® GitLab インスタンスã¯ã¾ã å…±æœ‰ Runner ã‚’æä¾›ã—ã¦ã„ã¾ã›ã‚“。インスタンス管ç†è€…ã¯ç®¡ç†è€…エリアã§å…±æœ‰ Runner を登録ã§ãã¾ã™ã€‚"
@@ -20617,10 +21090,10 @@ msgid "This URL is already used for another link; duplicate URLs are not allowed
msgstr ""
msgid "This action can lead to data loss. To prevent accidental actions we ask you to confirm your intention."
-msgstr ""
+msgstr "ã“ã®å‹•ä½œã«ã‚ˆã£ã¦ãƒ‡ãƒ¼ã‚¿ãŒå¤±ã‚れるå¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚çªç™ºçš„ãªäº‹æ…‹ã‚’防ããŸã‚ã«ã€ä¸€åº¦æ“作ã®æ„図を確èªã—ã¦ãã ã•ã„。ãŠé¡˜ã„ã—ã¾ã™ã€‚"
msgid "This also resolves the discussion"
-msgstr ""
+msgstr "ã“れもディスカッションを解決ã—ã¾ã™"
msgid "This application was created by %{link_to_owner}."
msgstr "ã“ã®ã‚¢ãƒ—リケーション㯠%{link_to_owner} ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¾ã—ãŸã€‚"
@@ -20628,9 +21101,12 @@ msgstr "ã“ã®ã‚¢ãƒ—リケーション㯠%{link_to_owner} ã«ã‚ˆã£ã¦ä½œæˆã•
msgid "This application will be able to:"
msgstr ""
-msgid "This block is self-referential"
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
msgstr ""
+msgid "This block is self-referential"
+msgstr "ã“ã®ãƒ–ロックã¯è‡ªå·±å‚ç…§ã—ã¦ã„ã¾ã™ã€‚"
+
msgid "This board's scope is reduced"
msgstr ""
@@ -20638,55 +21114,55 @@ msgid "This branch has changed since you started editing. Would you like to crea
msgstr "編集を開始ã—ã¦ã‹ã‚‰ãƒ–ランãƒãŒæ›´æ–°ã•ã‚Œã¦ã„ã¾ã™ã€‚æ–°ã—ã„ブランãƒã‚’作æˆã—ã¾ã™ã‹ï¼Ÿ"
msgid "This chart could not be displayed"
-msgstr ""
+msgstr "ã“ã®ãƒãƒ£ãƒ¼ãƒˆã¯è¡¨ç¤ºã§ãã¾ã›ã‚“"
msgid "This comment has changed since you started editing, please review the %{startTag}updated comment%{endTag} to ensure information is not lost."
msgstr ""
msgid "This commit is part of merge request %{link_to_merge_request}. Comments created here will be created in the context of that merge request."
-msgstr ""
+msgstr "ã“ã®ã‚³ãƒŸãƒƒãƒˆã¯ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆ %{link_to_merge_request} ã®ä¸€éƒ¨ã§ã™ã€‚ã“ã®ã‚³ãƒ¡ãƒ³ãƒˆã¯ã€ãã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ã‚³ãƒ³ãƒ†ã‚­ã‚¹ãƒˆã§ä½œæˆã—ã¾ã™ã€‚"
msgid "This commit was signed with a <strong>verified</strong> signature and the committer email is verified to belong to the same user."
-msgstr ""
+msgstr "ã“ã®ã‚³ãƒŸãƒƒãƒˆã¯ <strong>検証済ã¿</strong> ã®ç½²åã§ã‚µã‚¤ãƒ³ã•ã‚Œã¦ãŠã‚Šã€ã“ã®ã‚³ãƒŸãƒƒã‚¿ãƒ¼ã®ãƒ¡ãƒ¼ãƒ«ã¯åŒã˜ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚‚ã®ã§ã‚ã‚‹ã“ã¨ãŒæ¤œè¨¼ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "This commit was signed with a different user's verified signature."
-msgstr ""
+msgstr "ã“ã®ã‚³ãƒŸãƒƒãƒˆã¯åˆ¥ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®æ¤œè¨¼æ¸ˆã¿ç½²åã§ã‚µã‚¤ãƒ³ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "This commit was signed with a verified signature, but the committer email is <strong>not verified</strong> to belong to the same user."
msgstr "ã“ã®ã‚³ãƒŸãƒƒãƒˆã¯æ¤œè¨¼æ¸ˆã¿ã®ç½²åã§ã‚µã‚¤ãƒ³ã•ã‚Œã¦ã„ã¾ã™ã€‚ã—ã‹ã—コミッターã®ãƒ¡ãƒ¼ãƒ«ã¯ã€ åŒã˜ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚‚ã®ã¨<strong>検証ã•ã‚Œã¦ã„ã¾ã›ã‚“</strong>。"
msgid "This commit was signed with an <strong>unverified</strong> signature."
-msgstr ""
+msgstr "ã“ã®ã‚³ãƒŸãƒƒãƒˆã¯<strong>検証ã•ã‚Œã¦ã„ãªã„</strong> ç½²åã§ã‚µã‚¤ãƒ³ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "This date is after the due date, so this epic won't appear in the roadmap."
-msgstr ""
+msgstr "ã“ã®æ—¥ä»˜ã¯æœŸæ—¥ã‚ˆã‚Šå¾Œã§ã™ã€‚ãã®ãŸã‚ã“ã®ã‚¨ãƒ”ックをロードマップã«è¡¨ç¤ºã—ã¾ã›ã‚“。"
msgid "This date is before the start date, so this epic won't appear in the roadmap."
-msgstr ""
+msgstr "ã“ã®æ—¥ä»˜ã¯é–‹å§‹æ—¥ã‚ˆã‚Šå‰ã§ã™ã€‚ãã®ãŸã‚ã“ã®ã‚¨ãƒ”ックをロードマップã«è¡¨ç¤ºã—ã¾ã›ã‚“。"
msgid "This device has already been registered with us."
msgstr "ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã¯æ—¢ã«ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "This device has not been registered with us."
-msgstr ""
+msgstr "ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã¯æœªã ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã›ã‚“。"
msgid "This diff is collapsed."
msgstr "ã“ã®å·®åˆ†ã¯æŠ˜ã‚ŠãŸãŸã¾ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "This diff was suppressed by a .gitattributes entry."
-msgstr ""
+msgstr "ã“ã®å·®åˆ†ã¯ .gitattributesã®ã‚¨ãƒ³ãƒˆãƒªã«ã‚ˆã£ã¦æŠ‘制ã•ã‚Œã¾ã—ãŸã€‚"
msgid "This directory"
msgstr "ディレクトリ"
msgid "This domain is not verified. You will need to verify ownership before access is enabled."
-msgstr ""
+msgstr "ã“ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã¯æ¤œè¨¼ã•ã‚Œã¦ã„ã¾ã›ã‚“。ã‚ãªãŸã¯ã‚¢ã‚¯ã‚»ã‚¹ã‚’有効ã«ã™ã‚‹å‰ã«æ‰€æœ‰æ¨©ã‚’確èªã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "This endpoint has been requested too many times. Try again later."
msgstr ""
msgid "This environment has no deployments yet."
-msgstr ""
+msgstr "ã“ã®ç’°å¢ƒã¯ã¾ã ãƒ‡ãƒ—ロイã—ã¦ã„ã¾ã›ã‚“。"
msgid "This environment is being deployed"
msgstr ""
@@ -20704,7 +21180,7 @@ msgid "This feature requires local storage to be enabled"
msgstr ""
msgid "This field is required."
-msgstr ""
+msgstr "ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯å¿…é ˆã§ã™ã€‚"
msgid "This group"
msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—"
@@ -20746,7 +21222,7 @@ msgid "This is a primary node"
msgstr ""
msgid "This is a security log of important events involving your account."
-msgstr ""
+msgstr "ã“ã‚Œã¯ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«é–¢ã‚ã‚‹é‡è¦ãªã‚¤ãƒ™ãƒ³ãƒˆã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãƒ­ã‚°ã§ã™ã€‚"
msgid "This is the author's first Merge Request to this project."
msgstr "ã“ã®ãƒ—ロジェクトã«å¯¾ã™ã‚‹ã€ä½œæˆè€…ã®æœ€åˆã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã™ã€‚"
@@ -20769,6 +21245,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr "ã“ã®èª²é¡Œã¯éžå…¬é–‹è¨­å®šã§ã™"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "ã“ã®èª²é¡Œã¯ãƒ­ãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚"
@@ -20845,13 +21327,13 @@ msgid "This job is in pending state and is waiting to be picked by a runner"
msgstr "ã“ã®ã‚¸ãƒ§ãƒ–ã¯ä¿ç•™ä¸­ã§ Runner ãŒå‹•ä½œã™ã‚‹ã®ã‚’å¾…ã£ã¦ã„ã¾ã™ã€‚"
msgid "This job is performing tasks that must complete before it can start"
-msgstr ""
+msgstr "ã“ã®ã‚¸ãƒ§ãƒ–ã¯ã€é–‹å§‹ã™ã‚‹å‰ã«å®Œäº†ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„タスクを実行ã—ã¦ã„ã¾ã™"
msgid "This job is preparing to start"
-msgstr ""
+msgstr "ã“ã®ã‚¸ãƒ§ãƒ–ã¯å§‹ã‚る準備をã—ã¦ã„ã¾ã™"
msgid "This job is stuck because you don't have any active runners online with any of these tags assigned to them:"
-msgstr ""
+msgstr "ã“れらã®ã‚¿ã‚°ãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„るアクティブ㪠Runner ãŒã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã«ãªã£ã¦ã„ãªã„ãŸã‚ã€ã“ã®ã‚¸ãƒ§ãƒ–ã¯åœæ­¢ã—ã¦ã„ã¾ã™ã€‚"
msgid "This job is stuck because you don't have any active runners that can run this job."
msgstr "ã“ã®ã‚¸ãƒ§ãƒ–を実行ã§ãるアクティブ㪠Runner ãŒãªã„ãŸã‚ã€ã“ã®ã‚¸ãƒ§ãƒ–ã¯åœæ­¢ã—ã¦ã„ã¾ã™ã€‚"
@@ -20863,7 +21345,7 @@ msgid "This job requires a manual action"
msgstr "ã“ã®ã‚¸ãƒ§ãƒ–ã¯æ‰‹å‹•ã«ã‚ˆã‚‹å®Ÿè¡Œã‚’求ã‚ã¦ã„ã¾ã™"
msgid "This job requires manual intervention to start. Before starting this job, you can add variables below for last-minute configuration changes."
-msgstr ""
+msgstr "ã“ã®ã‚¸ãƒ§ãƒ–を開始ã™ã‚‹ã«ã¯ã€æ‰‹å‹•ã«ã‚ˆã‚‹ä»‹å…¥ãŒå¿…è¦ã§ã™ã€‚ ã“ã®ã‚¸ãƒ§ãƒ–を開始ã™ã‚‹å‰ã«ã€ç›´å‰ã®æ§‹æˆå¤‰æ›´ã®ãŸã‚ã«ä»¥ä¸‹ã®å¤‰æ•°ã‚’追加ã§ãã¾ã™ã€‚"
msgid "This job will automatically run after its timer finishes. Often they are used for incremental roll-out deploys to production environments. When unscheduled it converts into a manual action."
msgstr "ã“ã®ã‚¸ãƒ§ãƒ–ã¯ã‚¿ã‚¤ãƒžãƒ¼çµ‚了後ã«è‡ªå‹•çš„ã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚多ãã®å ´åˆæœ¬ç•ªç’°å¢ƒã¸ã®æ®µéšŽçš„ãªãƒ­ãƒ¼ãƒ«ã‚¢ã‚¦ãƒˆãƒ‡ãƒ—ロイã«ä½¿ç”¨ã•ã‚Œã¾ã™ã€‚スケジュールã•ã‚Œã¦ã„ãªã„ã¨ãã¯æ‰‹å‹•ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚"
@@ -20881,7 +21363,7 @@ msgid "This merge request is locked."
msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ãƒ­ãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "This namespace has already been taken! Please choose another one."
-msgstr ""
+msgstr "ã“ã®åå‰ç©ºé–“ã¯æ—¢ã«ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚別ã®åå‰ã«ã—ã¦ãã ã•ã„。"
msgid "This only applies to repository indexing operations."
msgstr ""
@@ -20896,10 +21378,10 @@ msgid "This page will be removed in a future release."
msgstr "ã“ã®ãƒšãƒ¼ã‚¸ã¯ã€å°†æ¥ã®ãƒªãƒªãƒ¼ã‚¹ã§å‰Šé™¤ã•ã‚Œã‚‹äºˆå®šã§ã™ã€‚"
msgid "This pipeline makes use of a predefined CI/CD configuration enabled by %{strongStart}Auto DevOps.%{strongEnd}"
-msgstr ""
+msgstr "ã“ã®ãƒ‘イプラインã¯ã€ %{strongStart}Auto DevOps%{strongEnd}ã«ã‚ˆã£ã¦æœ‰åŠ¹åŒ–ã•ã‚ŒãŸå®šç¾©æ¸ˆã¿ã®CI/CD構æˆã‚’利用ã—ã¾ã™ã€‚"
msgid "This pipeline makes use of a predefined CI/CD configuration enabled by <b>Auto DevOps.</b>"
-msgstr ""
+msgstr "ã“ã®ãƒ‘イプラインã¯ã€<b>Auto DevOps</b>ã«ã‚ˆã£ã¦æœ‰åŠ¹åŒ–ã•ã‚ŒãŸå®šç¾©æ¸ˆã¿ã®CI/CD構æˆã‚’利用ã—ã¾ã™ã€‚"
msgid "This pipeline triggered a child pipeline"
msgstr ""
@@ -20914,13 +21396,13 @@ msgid "This project does not belong to a group and can therefore not make use of
msgstr "ã“ã®ãƒ—ロジェクトã¯ã‚°ãƒ«ãƒ¼ãƒ—ã«æ‰€å±žã—ã¦ã„ãªã„ãŸã‚ã€ã‚°ãƒ«ãƒ¼ãƒ— Runner を利用ã§ãã¾ã›ã‚“。"
msgid "This project does not have a wiki homepage yet"
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトã¯ã¾ã Wikiã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "This project does not have billing enabled. To create a cluster, <a href=%{linkToBilling} target=\"_blank\" rel=\"noopener noreferrer\">enable billing <i class=\"fa fa-external-link\" aria-hidden=\"true\"></i></a> and try again."
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトã§ã¯èª²é‡‘ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã¾ã›ã‚“。クラスターを作æˆã™ã‚‹ã«ã¯ã€<a href=%{linkToBilling} target=\"_blank\" rel=\"noopener noreferrer\"> 課金を有効<i class=\"fa fa-external-link\" aria-hidden=\"true\"></i></a> ã«ã—ã¦å†åº¦ãŠè©¦ã—ãã ã•ã„。"
msgid "This project is archived and cannot be commented on."
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトã¯ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã•ã‚Œã¦ãŠã‚Šã€ã‚³ãƒ¡ãƒ³ãƒˆã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
msgid "This project path either does not exist or you do not have access."
msgstr ""
@@ -20938,22 +21420,22 @@ msgid "This repository is currently empty. A new Auto DevOps pipeline will be cr
msgstr ""
msgid "This runner will only run on pipelines triggered on protected branches"
-msgstr ""
+msgstr "ã“ã® Runner ã¯ä¿è­·ã•ã‚ŒãŸãƒ–ランãƒä¸Šã§å¼•ãèµ·ã•ã‚ŒãŸ パイプラインã§ã®ã¿å®Ÿè¡Œã§ãã¾ã™ã€‚"
msgid "This setting can be overridden in each project."
msgstr "ã“ã®è¨­å®šã¯ã€å„プロジェクトã§ä¸Šæ›¸ãã§ãã¾ã™ã€‚"
msgid "This setting will update the hostname that is used to generate private commit emails. %{learn_more}"
-msgstr ""
+msgstr "ã“ã®è¨­å®šã¯ãƒ—ライベートã®ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒ¼ãƒ«ã‚’生æˆã™ã‚‹éš›ã«ä½¿ç”¨ã™ã‚‹ãƒ›ã‚¹ãƒˆåã‚’æ›´æ–°ã—ã¾ã™ã€‚ %{learn_more}"
msgid "This subscription is for"
msgstr ""
msgid "This timeout will take precedence when lower than project-defined timeout and accepts a human readable time input language like \"1 hour\". Values without specification represent seconds."
-msgstr ""
+msgstr "ã“ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã¯ã€ãƒ—ロジェクトã§å®šç¾©ã•ã‚ŒãŸã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚ˆã‚Šã‚‚å°ã•ã„å ´åˆã«å„ªå…ˆã•ã‚Œã€ã€Œ1時間ã€ãªã©ã®å…¥åŠ›è¨€èªžã«ã‚ˆã‚‹äººãŒèª­ã¿ã‚„ã™ã„相対時間形å¼ã‚’å—ã‘入れã¾ã™ã€‚値ã®æŒ‡å®šãŒç„¡ã„å ´åˆã¯ç§’を表ã—ã¾ã™ã€‚"
msgid "This user cannot be unlocked manually from GitLab"
-msgstr ""
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ GitLab ã‹ã‚‰ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«æ“作ã§ãƒ­ãƒƒã‚¯ã‚’解除ã§ãã¾ã›ã‚“"
msgid "This user has no active %{type} Tokens."
msgstr ""
@@ -20962,12 +21444,15 @@ msgid "This user has no identities"
msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ã¯ ID ãŒã‚ã‚Šã¾ã›ã‚“"
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches."
-msgstr ""
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã€æ–°ã—ã作æˆã•ã‚ŒãŸãƒ–ランãƒã‚„既存ã®ãƒ–ランãƒã¸ã®æ–°è¦ã‚³ãƒŸãƒƒãƒˆãªã©ã®ã‚ˆã†ã«ã€æ›´æ–°ã®çµæžœã§ã‚るアクティビティーフィード内ã®ã™ã¹ã¦ã®ã‚¤ãƒ™ãƒ³ãƒˆã®ä½œæˆè€…ã«ãªã‚Šã¾ã™ã€‚"
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã€æ–°ã—ã作æˆã•ã‚ŒãŸãƒ–ランãƒã‚„既存ã®ãƒ–ランãƒã¸ã®æ–°è¦ã‚³ãƒŸãƒƒãƒˆãªã©ã®ã‚ˆã†ã«ã€æ›´æ–°ã®çµæžœã§ã‚るアクティビティーフィード内ã®ã™ã¹ã¦ã®ã‚¤ãƒ™ãƒ³ãƒˆã®ä½œæˆè€…ã«ãªã‚Šã¾ã™ã€‚作æˆæ™‚ã¾ãŸã¯å†ã³æ‹…当を割り当ã¦ãŸéš›ã«ã€ãã®ãƒŸãƒ©ãƒ¼ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’ã‚ãªãŸã«å‰²ã‚Šå½“ã¦ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
+
+msgid "This variable can not be masked."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -20997,10 +21482,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21033,14 +21518,14 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
msgstr ""
msgid "ThreatMonitoring|Threat Monitoring"
-msgstr ""
+msgstr "è„…å¨ç›£è¦–"
msgid "ThreatMonitoring|Threat Monitoring help page link"
msgstr ""
@@ -21088,7 +21573,7 @@ msgid "Time between merge request creation and merge/close"
msgstr "マージリクエストãŒä½œæˆã•ã‚Œã¦ã‹ã‚‰ãƒžãƒ¼ã‚¸ã¾ãŸã¯ã‚¯ãƒ­ãƒ¼ã‚ºã•ã‚Œã‚‹ã¾ã§ã®æ™‚é–“"
msgid "Time estimate"
-msgstr ""
+msgstr "見ç©æ™‚é–“"
msgid "Time from first comment to last commit"
msgstr ""
@@ -21102,6 +21587,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr "残り時間"
@@ -21127,13 +21615,13 @@ msgid "TimeTracking|%{startTag}Spent: %{endTag}%{timeSpentHumanReadable}"
msgstr ""
msgid "TimeTracking|Estimated:"
-msgstr ""
+msgstr "見ç©ã‚‚り時間:"
msgid "TimeTracking|Over by %{timeRemainingHumanReadable}"
msgstr ""
msgid "TimeTracking|Spent"
-msgstr ""
+msgstr "経éŽæ™‚é–“"
msgid "TimeTracking|Time remaining: %{timeRemainingHumanReadable}"
msgstr ""
@@ -21284,8 +21772,8 @@ msgstr "タイトル"
msgid "Title:"
msgstr "タイトル:"
-msgid "Titles and Filenames"
-msgstr "タイトルã¨ãƒ•ã‚¡ã‚¤ãƒ«å"
+msgid "Titles and Descriptions"
+msgstr ""
msgid "To"
msgstr ""
@@ -21351,7 +21839,7 @@ msgid "To keep this project going, create a new merge request"
msgstr "ã“ã®ãƒ—ロジェクトを継続ã™ã‚‹ã«ã¯ã€æ–°ã—ã„マージリクエストを作æˆã—ã¦ãã ã•ã„"
msgid "To link Sentry to GitLab, enter your Sentry URL and Auth Token."
-msgstr ""
+msgstr "Sentryã‚’GitLabã«ãƒªãƒ³ã‚¯ã™ã‚‹ãŸã‚ã€Sentryã®URLã¨èªè¨¼ãƒˆãƒ¼ã‚¯ãƒ³ã‚’入力ã—ã¾ã™ã€‚"
msgid "To move or copy an entire GitLab project from another GitLab installation to this one, navigate to the original project's settings page, generate an export file, and upload it here."
msgstr "GitLab プロジェクト全体を別㮠GitLab インストールã‹ã‚‰ã“ã®ãƒ—ロジェクトã«ç§»å‹•ã¾ãŸã¯ã‚³ãƒ”ーã™ã‚‹ã«ã¯ã€å…ƒã®ãƒ—ロジェクトã®è¨­å®šãƒšãƒ¼ã‚¸ã«ç§»å‹•ã—ã€ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’生æˆã—ã¦ã“ã“ã«ã‚¢ãƒƒãƒ—ロードã—ã¾ã™ã€‚"
@@ -21399,22 +21887,22 @@ msgid "To start serving your jobs you can add Runners to your group"
msgstr "ジョブを開始ã™ã‚‹ãŸã‚ã€ã‚°ãƒ«ãƒ¼ãƒ—ã« Runner を追加ã§ãã¾ã™"
msgid "To start serving your jobs you can either add specific Runners to your project or use shared Runners"
-msgstr ""
+msgstr "ジョブを開始ã™ã‚‹ãŸã‚ã€ãƒ—ロジェクトã«ç‰¹å®šã® Runner を追加ã—ã¦ãã ã•ã„。ã¾ãŸã¯å…±æœ‰ Runner を利用ã—ã¦ãã ã•ã„。"
msgid "To this GitLab instance"
msgstr "ã“ã® GitLab インスタンスã«"
msgid "To view the roadmap, add a start or due date to one of your epics in this group or its subgroups. In the months view, only epics in the past month, current month, and next 5 months are shown."
-msgstr ""
+msgstr "ロードマップを表示ã™ã‚‹ã«ã¯ã€äºˆå®šé–‹å§‹æ—¥ã‹äºˆå®šçµ‚了日をã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‹å­ã‚°ãƒ«ãƒ¼ãƒ—ã®ã‚¨ãƒ”ックã®1ã¤ã«è¿½åŠ ã—ã¦ãã ã•ã„。月表示ã§ã¯ã€å‰æœˆã€å½“月ã€ã‚‚ã—ãã¯5ヶ月先ã®ã‚¨ãƒ”ックã®ã¿ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚"
msgid "To widen your search, change or remove filters above"
-msgstr ""
+msgstr "検索範囲を広ã’ã‚‹ã«ã¯ã€ä¸Šã®ãƒ•ã‚£ãƒ«ã‚¿ãƒ¼ã‚’変更ã¾ãŸã¯å‰Šé™¤ã—ã¾ã™"
msgid "To widen your search, change or remove filters."
msgstr "検索範囲を広ã’ã‚‹ã«ã¯ã€ãƒ•ã‚£ãƒ«ã‚¿ãƒ¼ã‚’変更ã¾ãŸã¯å‰Šé™¤ã—ã¾ã™ã€‚"
msgid "To-Do List"
-msgstr ""
+msgstr "To-Do リスト"
msgid "To-do item successfully marked as done."
msgstr ""
@@ -21432,7 +21920,7 @@ msgid "Toggle all threads"
msgstr ""
msgid "Toggle backtrace"
-msgstr ""
+msgstr "ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹ã‚’切り替ãˆ"
msgid "Toggle collapse"
msgstr ""
@@ -21450,16 +21938,16 @@ msgid "Toggle emoji award"
msgstr "絵文字賞をå—賞"
msgid "Toggle navigation"
-msgstr ""
+msgstr "案内ã®åˆ‡ã‚Šæ›¿ãˆ"
msgid "Toggle project"
-msgstr ""
+msgstr "プロジェクト切り替ãˆ"
msgid "Toggle sidebar"
msgstr "サイドãƒãƒ¼ã‚’切り替ãˆ"
msgid "Toggle the Performance Bar"
-msgstr ""
+msgstr "パフォーマンスãƒãƒ¼ã®åˆ‡ã‚Šæ›¿ãˆ"
msgid "Toggle this dialog"
msgstr ""
@@ -21483,7 +21971,7 @@ msgid "Tomorrow"
msgstr "明日"
msgid "Too many changes to show."
-msgstr ""
+msgstr "変更ãŒå¤šã„ãŸã‚表示ã§ãã¾ã›ã‚“。"
msgid "Too many namespaces enabled. You will need to manage them via the console or the API."
msgstr ""
@@ -21491,11 +21979,11 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
-msgstr "トピック"
+msgid "Topics (optional)"
+msgstr ""
msgid "Total"
-msgstr ""
+msgstr "åˆè¨ˆ"
msgid "Total Contributions"
msgstr "ç·è²¢çŒ®åº¦"
@@ -21525,7 +22013,7 @@ msgid "Trace"
msgstr ""
msgid "Tracing"
-msgstr ""
+msgstr "追跡"
msgid "Track activity with Contribution Analytics."
msgstr ""
@@ -21546,7 +22034,7 @@ msgid "Transfer ownership"
msgstr ""
msgid "Transfer project"
-msgstr ""
+msgstr "プロジェクトを転é€"
msgid "TransferGroup|Cannot update the path because there are projects under this group that contain Docker images in their Container Registry. Please remove the images from your projects first and try again."
msgstr ""
@@ -21561,16 +22049,16 @@ msgid "TransferGroup|Group is already a root group."
msgstr ""
msgid "TransferGroup|Group is already associated to the parent group."
-msgstr ""
+msgstr "Groupã¯ã™ã§ã«è¦ªã‚°ãƒ«ãƒ¼ãƒ—ã«é–¢é€£ä»˜ã‘ã§ãã¦ã„ã¾ã™ã€‚"
msgid "TransferGroup|The parent group already has a subgroup with the same path."
-msgstr ""
+msgstr "親グループã«ã¯ã€ã™ã§ã«åŒã˜ãƒ‘スをæŒã¤ã‚µãƒ–グループãŒã‚ã‚Šã¾ã™ã€‚"
msgid "TransferGroup|Transfer failed: %{error_message}"
-msgstr ""
+msgstr "転é€ã«å¤±æ•—: %{error_message}"
msgid "TransferGroup|You don't have enough permissions."
-msgstr ""
+msgstr "ã‚ãªãŸã«ã¯ã€å分ãªæ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "TransferProject|Cannot move project"
msgstr "プロジェクトを移動ã§ãã¾ã›ã‚“"
@@ -21588,10 +22076,10 @@ msgid "TransferProject|Root namespace can't be updated if project has NPM packag
msgstr ""
msgid "TransferProject|Transfer failed, please contact an admin."
-msgstr ""
+msgstr "転é€ã«å¤±æ•—ã—ã¾ã—ãŸã€ç®¡ç†è€…ã«é€£çµ¡ã—ã¦ãã ã•ã„。"
msgid "Tree view"
-msgstr ""
+msgstr "ツリービュー"
msgid "Trending"
msgstr "トレンド分æž"
@@ -21618,7 +22106,7 @@ msgid "Trigger pipelines when branches or tags are updated from the upstream rep
msgstr ""
msgid "Trigger removed."
-msgstr ""
+msgstr "トリガーを除去ã—ã¾ã—ãŸã€‚"
msgid "Trigger this manual action"
msgstr "ã“ã®æ‰‹å‹•ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’トリガーã™ã‚‹"
@@ -21642,7 +22130,7 @@ msgid "Triggers can force a specific branch or tag to get rebuilt with an API ca
msgstr ""
msgid "Troubleshoot and monitor your application with tracing"
-msgstr ""
+msgstr "追跡ã§ã‚¢ãƒ—リケーションをトラブルシューティングãŠã‚ˆã³ç›£è¦–ã™ã‚‹"
msgid "Try again"
msgstr "å†è©¦è¡Œ"
@@ -21653,9 +22141,12 @@ msgstr "å†è©¦è¡Œã—ã¾ã™ã‹ï¼Ÿ"
msgid "Try all GitLab has to offer for 30 days."
msgstr "30日間ã§GitLabãŒæä¾›ã™ã‚‹ã™ã¹ã¦ã®æ©Ÿèƒ½ã‚’試ã—ã¦ã¿ã¦ãã ã•ã„。"
-msgid "Try to fork again"
+msgid "Try changing or removing filters."
msgstr ""
+msgid "Try to fork again"
+msgstr "ã‚‚ã†ä¸€åº¦ãƒ•ã‚©ãƒ¼ã‚¯ã™ã‚‹"
+
msgid "Try using a different search term to find the file you are looking for."
msgstr ""
@@ -21678,7 +22169,7 @@ msgid "Twitter"
msgstr "Twitter"
msgid "Two-Factor Authentication"
-msgstr ""
+msgstr "2è¦ç´ èªè¨¼"
msgid "Two-Factor Authentication code"
msgstr ""
@@ -21746,6 +22237,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -21771,28 +22265,28 @@ msgid "Unable to load the merge request widget. Try reloading the page."
msgstr ""
msgid "Unable to resolve"
-msgstr ""
+msgstr "解決ä¸å¯"
msgid "Unable to save your changes. Please try again."
msgstr ""
msgid "Unable to schedule a pipeline to run immediately"
-msgstr ""
+msgstr "パイプラインを今ã™ã実行ã™ã‚‹ã‚ˆã†ã«ã‚¹ã‚±ã‚¸ãƒ¥ãƒ¼ãƒ«ã§ãã¾ã›ã‚“"
msgid "Unable to sign you in to the group with SAML due to \"%{reason}\""
msgstr "\"%{reason}\"ã®ãŸã‚ SAML ã§ã‚°ãƒ«ãƒ¼ãƒ—ã«ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã§ãã¾ã›ã‚“"
msgid "Unable to update label prioritization at this time"
-msgstr ""
+msgstr "ç¾æ™‚点ã§ã¯ãƒ©ãƒ™ãƒ«ã®å„ªå…ˆé †ä½ä»˜ã‘ã‚’æ›´æ–°ã§ãã¾ã›ã‚“"
msgid "Unable to update this epic at this time."
-msgstr ""
+msgstr "ç¾æ™‚点ã§ã¯ã“ã®ã‚¨ãƒ”ックを更新ã§ãã¾ã›ã‚“。"
msgid "Unable to update this issue at this time."
-msgstr ""
+msgstr "ç¾æ™‚点ã§ã¯ã“ã®å•é¡Œã‚’æ›´æ–°ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。"
msgid "Unarchive project"
-msgstr ""
+msgstr "プロジェクトã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–解除"
msgid "Unarchiving the project will restore people's ability to make changes to it. The repository can be committed to, and issues, comments, and other entities can be created. %{strong_start}Once active, this project shows up in the search and on the dashboard.%{strong_end}"
msgstr ""
@@ -21801,7 +22295,7 @@ msgid "Unblock"
msgstr "ブロック解除"
msgid "Undo"
-msgstr ""
+msgstr "å…ƒã«æˆ»ã™"
msgid "Undo Ignore"
msgstr ""
@@ -21834,13 +22328,13 @@ msgid "Unknown cache key"
msgstr ""
msgid "Unknown encryption strategy: %{encrypted_strategy}!"
-msgstr ""
+msgstr "æš—å·åŒ–戦略ãŒä¸æ˜Ž: %{encrypted_strategy}ï¼"
msgid "Unknown format"
-msgstr ""
+msgstr "ä¸æ˜Žãªå½¢å¼ã§ã™"
msgid "Unknown response text"
-msgstr ""
+msgstr "応答テキストãŒä¸æ˜Žã§ã™ã€‚"
msgid "Unlimited"
msgstr "無制é™"
@@ -21924,7 +22418,7 @@ msgid "Unsubscribe at project level"
msgstr "プロジェクトレベルã§è³¼èª­ã‚’解除"
msgid "Unsubscribe from %{type}"
-msgstr ""
+msgstr "%{type} ã‹ã‚‰è³¼èª­ã‚’解除"
msgid "Unsubscribed from this %{quick_action_target}."
msgstr ""
@@ -21945,7 +22439,7 @@ msgid "Up to date"
msgstr "最新"
msgid "Upcoming"
-msgstr ""
+msgstr "今後ã®äºˆå®š"
msgid "Upcoming Release"
msgstr ""
@@ -21975,13 +22469,13 @@ msgid "Update variable"
msgstr ""
msgid "Update your bookmarked URLs as filtered/sorted branches URL has been changed."
-msgstr ""
+msgstr "ã‚ãªãŸã®ãƒ–ックマークã•ã‚ŒãŸURLã‚’æ›´æ–°ã—ã¦ãã ã•ã„。フィルタã¾ãŸã¯ã‚½ãƒ¼ãƒˆã•ã‚ŒãŸãƒ–ランãƒã® URL ã¯å¤‰æ›´ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "Update your group name, description, avatar, and visibility."
-msgstr ""
+msgstr "グループåã€èª¬æ˜Žã€ã‚¢ãƒã‚¿ãƒ¼ã€ãŠã‚ˆã³å¯è¦–性を更新ã—ã¾ã™ã€‚"
msgid "Update your project name, topics, description and avatar."
-msgstr ""
+msgstr "プロジェクトåã€ãƒˆãƒ”ックã€èª¬æ˜Žã€ãã‚Œã«ã‚¢ãƒã‚¿ãƒ¼ã‚’æ›´æ–°ã—ã¦ãã ã•ã„。"
msgid "UpdateProject|Cannot rename project because it contains container registry tags!"
msgstr ""
@@ -22005,10 +22499,10 @@ msgid "UpdateRepositoryStorage|Timeout waiting for %{type} repository pushes"
msgstr ""
msgid "Updated"
-msgstr ""
+msgstr "æ›´æ–°ã—ã¾ã—ãŸ"
msgid "Updated %{updated_at} by %{updated_by}"
-msgstr ""
+msgstr "%{updated_by} ã«ã‚ˆã£ã¦%{updated_at} ã«æ›´æ–°"
msgid "Updated at"
msgstr ""
@@ -22023,7 +22517,7 @@ msgid "Upgrade plan to unlock Canary Deployments feature"
msgstr ""
msgid "Upgrade your plan"
-msgstr ""
+msgstr "プランをアップグレードã™ã‚‹"
msgid "Upgrade your plan to activate Advanced Global Search."
msgstr "高度ãªã‚°ãƒ­ãƒ¼ãƒãƒ«æ¤œç´¢ã‚’有効ã«ã™ã‚‹ãŸã‚ã«ãƒ—ランをアップグレードã—ã¾ã™ã€‚"
@@ -22092,7 +22586,7 @@ msgid "Usage"
msgstr "使ã„æ–¹"
msgid "Usage ping is not enabled"
-msgstr ""
+msgstr "ping ã®ä½¿ç”¨ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã¾ã›ã‚“"
msgid "Usage quotas help link"
msgstr ""
@@ -22104,31 +22598,31 @@ msgid "UsageQuota|%{help_link_start}Shared runners%{help_link_end} are disabled,
msgstr ""
msgid "UsageQuota|Artifacts"
-msgstr ""
+msgstr "æˆæžœç‰©"
msgid "UsageQuota|Buy additional minutes"
-msgstr ""
+msgstr "追加分ã®è³¼å…¥"
msgid "UsageQuota|Current period usage"
-msgstr ""
+msgstr "ç¾åœ¨ã®ä½¿ç”¨çŠ¶æ³"
msgid "UsageQuota|LFS Storage"
-msgstr ""
+msgstr "LFSストレージ"
msgid "UsageQuota|Packages"
-msgstr ""
+msgstr "パッケージ"
msgid "UsageQuota|Pipelines"
msgstr "パイプライン"
msgid "UsageQuota|Repository"
-msgstr ""
+msgstr "リãƒã‚¸ãƒˆãƒª"
msgid "UsageQuota|Storage"
-msgstr ""
+msgstr "ストレージ"
msgid "UsageQuota|This namespace has no projects which use shared runners"
-msgstr ""
+msgstr "ã“ã®ãƒãƒ¼ãƒ ã‚¹ãƒšãƒ¼ã‚¹ã«ã¯ã€å…±æœ‰ãƒ©ãƒ³ãƒŠãƒ¼ã‚’使用ã™ã‚‹ãƒ—ロジェクトã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "UsageQuota|Unlimited"
msgstr "無制é™"
@@ -22149,10 +22643,10 @@ msgid "UsageQuota|Usage since"
msgstr ""
msgid "UsageQuota|Wiki"
-msgstr ""
+msgstr "Wiki"
msgid "Use %{code_start}::%{code_end} to create a %{link_start}scoped label set%{link_end} (eg. %{code_start}priority::1%{code_end})"
-msgstr ""
+msgstr "%{link_start} スコープã®ãƒ©ãƒ™ãƒ«ã‚»ãƒƒãƒˆ%{link_end} を作æˆã™ã‚‹ã«ã¯ã€ %{code_start}::%{code_end} を使用ã—ã¾ã™ï¼ˆä¾‹ï¼š %{code_start}priority::1%{code_end})。"
msgid "Use <code>%{native_redirect_uri}</code> for local tests"
msgstr "ローカルテスト㫠<code>%{native_redirect_uri}</code> を使用"
@@ -22164,7 +22658,7 @@ msgid "Use a hardware device to add the second factor of authentication."
msgstr ""
msgid "Use an one time password authenticator on your mobile device or computer to enable two-factor authentication (2FA)."
-msgstr ""
+msgstr "モãƒã‚¤ãƒ«ãƒ‡ãƒã‚¤ã‚¹ã¾ãŸã¯ã‚³ãƒ³ãƒ”ュータã§ãƒ¯ãƒ³ã‚¿ã‚¤ãƒ ãƒ‘スワードèªè¨¼ã‚’使用ã—ã¦ã€2è¦ç´ èªè¨¼ã‚’有効ã«ã—ã¾ã™ã€‚"
msgid "Use custom color #FF0000"
msgstr ""
@@ -22191,7 +22685,7 @@ msgid "Use your global notification setting"
msgstr "全体通知設定を利用"
msgid "Use your smart card to authenticate with the LDAP server."
-msgstr ""
+msgstr "スマートカードを使ã£ã¦ã€LDAPサーãƒãƒ¼ã«ã‚ˆã‚Šèªè¨¼ã—ã¾ã™ã€‚"
msgid "Used by members to sign in to your group in GitLab"
msgstr "メンãƒãƒ¼ãŒ GitLab ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•ã‚Œã¾ã™"
@@ -22200,7 +22694,7 @@ msgid "Used programming language"
msgstr ""
msgid "Used to help configure your identity provider"
-msgstr ""
+msgstr "アイデンティティ プロãƒã‚¤ãƒ€ãƒ¼ã‚’設定ã™ã‚‹ã®ã«ä½¿ç”¨ã—ã¾ã™"
msgid "User"
msgstr ""
@@ -22212,13 +22706,13 @@ msgid "User %{username} was successfully removed."
msgstr ""
msgid "User Cohorts are only shown when the %{usage_ping_link_start}usage ping%{usage_ping_link_end} is enabled."
-msgstr ""
+msgstr "ユーザー世代㯠%{usage_ping_link_start} ping ã®ä½¿ç”¨ %{usage_ping_link_end} ãŒæœ‰åŠ¹ãªå ´åˆã«ã®ã¿è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚"
msgid "User IDs"
msgstr ""
msgid "User OAuth applications"
-msgstr ""
+msgstr "ユーザー OAuth アプリケーション"
msgid "User Settings"
msgstr "ユーザー設定"
@@ -22227,13 +22721,13 @@ msgid "User and IP Rate Limits"
msgstr "ユーザーã¨IPレートã®åˆ¶é™"
msgid "User identity was successfully created."
-msgstr ""
+msgstr "ユーザーã®è­˜åˆ¥å­ãŒæ­£å¸¸ã«ä½œæˆã§ãã¾ã—ãŸã€‚"
msgid "User identity was successfully removed."
-msgstr ""
+msgstr "ユーザーã®è­˜åˆ¥å­ã‚’正常ã«å‰Šé™¤ã§ãã¾ã—ãŸã€‚"
msgid "User identity was successfully updated."
-msgstr ""
+msgstr "ユーザーã®è­˜åˆ¥å­ã‚’正常ã«æ›´æ–°ã§ãã¾ã—ãŸã€‚"
msgid "User is not allowed to resolve thread"
msgstr ""
@@ -22245,7 +22739,7 @@ msgid "User map"
msgstr "ユーザーマップ"
msgid "User pipeline minutes were successfully reset."
-msgstr ""
+msgstr "ユーザーã®ãƒ‘イプライン時間ãŒæ­£å¸¸ã«ãƒªã‚»ãƒƒãƒˆã•ã‚Œã¾ã—ãŸã€‚"
msgid "User restrictions"
msgstr ""
@@ -22254,7 +22748,7 @@ msgid "User settings"
msgstr "ユーザー設定"
msgid "User was successfully created."
-msgstr ""
+msgstr "ユーザーã¯æ­£å¸¸ã«ä½œæˆã•ã‚Œã¾ã—ãŸã€‚"
msgid "User was successfully removed from group and any subresources."
msgstr ""
@@ -22266,7 +22760,7 @@ msgid "User was successfully updated."
msgstr ""
msgid "UserOnboardingTour|%{activeTour}/%{totalTours}"
-msgstr ""
+msgstr "%{activeTour}/%{totalTours}"
msgid "UserOnboardingTour|%{completed}/%{total} steps completed"
msgstr ""
@@ -22302,7 +22796,7 @@ msgid "UserOnboardingTour|Create a project"
msgstr ""
msgid "UserOnboardingTour|Exit 'Learn GitLab'"
-msgstr ""
+msgstr "'GitLabã«ã¤ã„ã¦å­¦ã¶' を終了"
msgid "UserOnboardingTour|Got it"
msgstr ""
@@ -22332,13 +22826,13 @@ msgid "UserOnboardingTour|Here's an overview of branches in the %{emphasisStart}
msgstr ""
msgid "UserOnboardingTour|Invite colleagues"
-msgstr ""
+msgstr "招待ã™ã‚‹"
msgid "UserOnboardingTour|Issues are great for communicating and keeping track of progress in GitLab. These are all issues that are open in the %{emphasisStart}%{projectName}%{emphasisEnd}.%{lineBreak}%{lineBreak}You can help us improve GitLab by contributing work to issues that are labeled <span class=\"badge color-label accept-mr-label\">Accepting merge requests</span>.%{lineBreak}%{lineBreak}This list can be filtered by labels, milestones, assignees, authors... We'll show you how it looks when the list is filtered by a label."
msgstr ""
msgid "UserOnboardingTour|Learn GitLab"
-msgstr ""
+msgstr "GitLabã«ã¤ã„ã¦å­¦ã¶"
msgid "UserOnboardingTour|Let's take a closer look at a merge request. Click on the title of one."
msgstr ""
@@ -22362,16 +22856,16 @@ msgid "UserOnboardingTour|Open one of the issues by clicking on its title."
msgstr ""
msgid "UserOnboardingTour|Restart this step"
-msgstr ""
+msgstr "ã“ã®ã‚¹ãƒ†ãƒƒãƒ—ã‚’å†é–‹"
msgid "UserOnboardingTour|Skip this step"
-msgstr ""
+msgstr "ã“ã®ã‚¹ãƒ†ãƒƒãƒ—をスキップ"
msgid "UserOnboardingTour|Sweet! Your project was created and is ready to be used.%{lineBreak}%{lineBreak}You can start adding files to the repository or clone it. One last thing we want to show you is how to invite your colleagues to your new project."
msgstr ""
msgid "UserOnboardingTour|Take a look. Here's a nifty menu for quickly creating issues, merge requests, snippets, projects and groups. Click on it and select \"New project\" from the \"GitLab\" section to get started."
-msgstr ""
+msgstr "ã“れを見ã¦ãã ã•ã„。課題ã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã€ã‚¹ãƒ‹ãƒšãƒƒãƒˆã€ãƒ—ロジェクトã€ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—ã‚’ã™ã°ã‚„ã作æˆã™ã‚‹ãŸã‚ã®ä¾¿åˆ©ãªãƒ¡ãƒ‹ãƒ¥ãƒ¼ãŒã‚ã‚Šã¾ã™ã€‚ãれをクリックã—ã¦ã€ã€ŒGitLabã€ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‹ã‚‰ã€ŒNew projectã€ã‚’é¸æŠžã—ã¦é–‹å§‹ã—ã¾ã™ã€‚"
msgid "UserOnboardingTour|Thanks for taking the guided tour. Remember, if you want to go through it again, you can start %{emphasisStart}Learn GitLab%{emphasisEnd} in the help menu on the top right."
msgstr ""
@@ -22413,7 +22907,7 @@ msgid "UserProfile|Activity"
msgstr "アクティビティ"
msgid "UserProfile|Already reported for abuse"
-msgstr ""
+msgstr "æ—¢ã«å ±å‘Šã•ã‚ŒãŸä¸æ­£è¡Œç‚º"
msgid "UserProfile|Blocked user"
msgstr ""
@@ -22425,16 +22919,16 @@ msgid "UserProfile|Edit profile"
msgstr "プロフィールを編集"
msgid "UserProfile|Explore public groups to find projects to contribute to."
-msgstr ""
+msgstr "公開グループを調ã¹ã¦ã€è²¢çŒ®ã™ã‚‹ãƒ—ロジェクトを見ã¤ã‘ã¦ãã ã•ã„。"
msgid "UserProfile|Groups"
msgstr "グループ"
msgid "UserProfile|Groups are the best way to manage projects and members."
-msgstr ""
+msgstr "グループã¯ã€ãƒ—ロジェクトã¨ãƒ¡ãƒ³ãƒãƒ¼ã‚’管ç†ã™ã‚‹ãŸã‚ã®æœ€è‰¯ã®æ–¹æ³•ã§ã™ã€‚"
msgid "UserProfile|Join or create a group to start contributing by commenting on issues or submitting merge requests!"
-msgstr ""
+msgstr "課題ã«ã‚³ãƒ¡ãƒ³ãƒˆã—ãŸã‚Šã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ä¿¡ã—ãŸã‚Šã—ã¦è²¢çŒ®ã™ã‚‹ãŸã‚ã«ã€ã‚°ãƒ«ãƒ¼ãƒ—ã«å‚加ã¾ãŸã¯ä½œæˆã—ã¾ã—ょã†ã€‚"
msgid "UserProfile|Most Recent Activity"
msgstr "最新ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ“ティ"
@@ -22446,16 +22940,16 @@ msgid "UserProfile|Overview"
msgstr "概è¦"
msgid "UserProfile|Personal projects"
-msgstr ""
+msgstr "個人的ãªãƒ—ロジェクト"
msgid "UserProfile|Report abuse"
-msgstr ""
+msgstr "ä¸æ­£è¡Œç‚ºã‚’報告ã™ã‚‹"
msgid "UserProfile|Snippets"
msgstr "スニペット"
msgid "UserProfile|Snippets in GitLab can either be private, internal, or public."
-msgstr ""
+msgstr "GitLab ã®ã‚¹ãƒ‹ãƒšãƒƒãƒˆã¯ã€éžå…¬é–‹ã€å†…部ã€ã¾ãŸã¯å…¬é–‹ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "UserProfile|Star projects to track their progress and show your appreciation."
msgstr ""
@@ -22464,19 +22958,19 @@ msgid "UserProfile|Starred projects"
msgstr ""
msgid "UserProfile|Subscribe"
-msgstr ""
+msgstr "購読"
msgid "UserProfile|This user doesn't have any personal projects"
-msgstr ""
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯å€‹äººãƒ—ロジェクトをæŒã£ã¦ã„ã¾ã›ã‚“。"
msgid "UserProfile|This user has a private profile"
-msgstr ""
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯éžå…¬é–‹ã®ãƒ—ロファイルをæŒã£ã¦ã„ã¾ã™"
msgid "UserProfile|This user hasn't contributed to any projects"
-msgstr ""
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã©ã®ãƒ—ロジェクトã«ã‚‚貢献ã—ã¦ã„ã¾ã›ã‚“。"
msgid "UserProfile|This user hasn't starred any projects"
-msgstr ""
+msgstr "ã“ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã©ã®ãƒ—ロジェクトもãŠæ°—ã«ã„ã‚Šã«ã—ã¦ã„ã¾ã›ã‚“。"
msgid "UserProfile|This user is blocked"
msgstr ""
@@ -22485,28 +22979,28 @@ msgid "UserProfile|View all"
msgstr "ã™ã¹ã¦è¡¨ç¤º"
msgid "UserProfile|View user in admin area"
-msgstr ""
+msgstr "管ç†è€…エリアã§ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®è¡¨ç¤º"
msgid "UserProfile|You can create a group for several dependent projects."
-msgstr ""
+msgstr "複数ã®ä¾å­˜ãƒ—ロジェクトã«å¯¾ã—ã¦ã‚°ãƒ«ãƒ¼ãƒ—を作æˆã§ãã¾ã™ã€‚"
msgid "UserProfile|You haven't created any personal projects."
-msgstr ""
+msgstr "個人的ãªãƒ—ロジェクトを作æˆã—ã¦ã„ã¾ã›ã‚“。"
msgid "UserProfile|You haven't created any snippets."
-msgstr ""
+msgstr "スニペットを作æˆã—ã¦ã„ã¾ã›ã‚“。"
msgid "UserProfile|Your projects can be available publicly, internally, or privately, at your choice."
-msgstr ""
+msgstr "プロジェクトã¯å…¬é–‹ã€å†…部公開ã€ã‚ã‚‹ã„ã¯éžå…¬é–‹ã‚’é¸æŠžã§ãã¾ã™ã€‚"
msgid "Username (optional)"
msgstr "ユーザå (オプション)"
msgid "Username is already taken."
-msgstr ""
+msgstr "ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åã¯æ—¢ã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "Username is available."
-msgstr ""
+msgstr "ãã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åã¯ä½¿ç”¨å¯èƒ½ã§ã™ã€‚"
msgid "Username is too long (maximum is %{max_length} characters)."
msgstr ""
@@ -22530,49 +23024,49 @@ msgid "Users over License:"
msgstr ""
msgid "Users requesting access to"
-msgstr ""
+msgstr "次ã®å ´æ‰€ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’è¦æ±‚ã—ã¦ã„るユーザー"
msgid "Users were successfully added."
-msgstr ""
+msgstr "ユーザーを正常ã«è¿½åŠ ã§ãã¾ã—ãŸã€‚"
msgid "Users with a Guest role or those who don't belong to any projects or groups don't count towards seats in use."
-msgstr ""
+msgstr "ゲストロールをæŒã¤ãƒ¦ãƒ¼ã‚¶ã€ã¾ãŸã¯ãƒ—ロジェクトやグループã«å±žã—ã¦ã„ãªã„ユーザã¯ã€ä½¿ç”¨ä¸­ã®ã‚·ãƒ¼ãƒˆã«ã‚«ã‚¦ãƒ³ãƒˆã•ã‚Œã¾ã›ã‚“。"
msgid "UsersSelect|%{name} + %{length} more"
msgstr ""
msgid "UsersSelect|Any User"
-msgstr ""
+msgstr "ä»»æ„ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼"
msgid "UsersSelect|Assignee"
-msgstr ""
+msgstr "è­²å—人"
msgid "UsersSelect|No assignee - %{openingTag} assign yourself %{closingTag}"
-msgstr ""
+msgstr "è­²å—人ãªã— - %{openingTag} 自分自身を割り当ã¦ã‚‹ %{closingTag}"
msgid "UsersSelect|Unassigned"
-msgstr ""
+msgstr "未割り当ã¦"
msgid "Using %{code_start}::%{code_end} denotes a %{link_start}scoped label set%{link_end}"
-msgstr ""
+msgstr "%{code_start}::%{code_end} を使ã£ã¦ã€ %{link_start} ラベルセットã®ç¯„囲%{link_end} を示ã™"
msgid "Using required encryption strategy when encrypted field is missing!"
-msgstr ""
+msgstr "æš—å·åŒ–フィールドãŒãªã„å ´åˆã€å¿…è¦ãªæš—å·åŒ–戦略を使用ã™ã‚‹!"
msgid "Validate"
-msgstr ""
+msgstr "検証"
msgid "Validate your GitLab CI configuration file"
-msgstr ""
+msgstr "GitLab CI構æˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’検証"
msgid "Validations failed."
-msgstr ""
+msgstr "検証ã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
msgid "Validity"
-msgstr ""
+msgstr "有効"
msgid "Value"
-msgstr ""
+msgstr "値"
msgid "Value Stream"
msgstr ""
@@ -22687,6 +23181,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr "GitLab ã§è¡¨ç¤º"
@@ -22724,7 +23221,7 @@ msgid "View supported languages and frameworks"
msgstr ""
msgid "View the documentation"
-msgstr ""
+msgstr "ドキュメントã®è¡¨ç¤º"
msgid "View the latest successful deployment to this environment"
msgstr ""
@@ -22736,7 +23233,7 @@ msgid "Viewing commit"
msgstr ""
msgid "Visibility"
-msgstr ""
+msgstr "公開範囲"
msgid "Visibility and access controls"
msgstr "å¯è¦–性ã¨ã‚¢ã‚¯ã‚»ã‚¹åˆ¶å¾¡"
@@ -22754,7 +23251,7 @@ msgid "Visibility, project features, permissions"
msgstr ""
msgid "Visibility:"
-msgstr ""
+msgstr "公開範囲:"
msgid "VisibilityLevel|Internal"
msgstr "内部"
@@ -22769,7 +23266,7 @@ msgid "VisibilityLevel|Unknown"
msgstr "ä¸æ˜Ž"
msgid "VisualReviewApp|%{stepStart}Step 1%{stepEnd}. Copy the following script:"
-msgstr ""
+msgstr "%{stepStart}ステップ1%{stepEnd} 次ã®ã‚¹ã‚¯ãƒªãƒ—トをコピーã—ã¾ã™:"
msgid "VisualReviewApp|%{stepStart}Step 2%{stepEnd}. Add it to the %{headTags} tags of every page of your application, ensuring the merge request ID is set or not set as required. "
msgstr ""
@@ -22864,6 +23361,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -22894,6 +23400,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr "クラス"
@@ -22910,7 +23419,7 @@ msgid "Vulnerability|Identifiers"
msgstr "識別å­"
msgid "Vulnerability|Image"
-msgstr ""
+msgstr "イメージ"
msgid "Vulnerability|Instances"
msgstr "インスタンス"
@@ -22927,12 +23436,15 @@ msgstr "åå‰ç©ºé–“"
msgid "Vulnerability|Project"
msgstr "プロジェクト"
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
msgstr ""
-msgid "Vulnerability|Severity"
+msgid "Vulnerability|Scanner Type"
msgstr ""
+msgid "Vulnerability|Severity"
+msgstr "é‡è¦åº¦"
+
msgid "Vulnerability|Status"
msgstr ""
@@ -22955,10 +23467,10 @@ msgid "Warning: Displaying this diagram might cause performance issues on this p
msgstr ""
msgid "We could not determine the path to remove the epic"
-msgstr ""
+msgstr "エピックを削除ã™ã‚‹ãƒ‘スを特定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgid "We could not determine the path to remove the issue"
-msgstr ""
+msgstr "課題を削除ã™ã‚‹ãŸã‚ã®ãƒ‘スを特定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgid "We couldn't reach the Prometheus server. Either the server no longer exists or the configuration details need updating."
msgstr ""
@@ -22979,11 +23491,17 @@ msgid "We heard back from your U2F device. You have been authenticated."
msgstr ""
msgid "We sent you an email with reset password instructions"
+msgstr "パスワードリセット方法ã«ã¤ã„ã¦ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¾ã—ãŸ"
+
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
msgstr ""
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr "本人確èªã®ãŸã‚ã€ã‚ãªãŸãŒãƒ­ãƒœãƒƒãƒˆã§ãªã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -22991,7 +23509,7 @@ msgid "Web IDE"
msgstr "Web IDE"
msgid "Web Terminal"
-msgstr ""
+msgstr "Web端末"
msgid "Web terminal"
msgstr "ウェブターミナル"
@@ -23009,10 +23527,10 @@ msgid "Webhook Settings"
msgstr ""
msgid "Webhooks"
-msgstr ""
+msgstr "Webhooks"
msgid "Webhooks Help"
-msgstr ""
+msgstr "Webhooks ã®ãƒ˜ãƒ«ãƒ—"
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 ""
@@ -23087,15 +23605,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23112,7 +23621,7 @@ msgid "Who can see this group?"
msgstr "誰ãŒã“ã®ã‚°ãƒ«ãƒ¼ãƒ—を見れã¾ã™ã‹ï¼Ÿ"
msgid "Who will be able to see this group?"
-msgstr ""
+msgstr "誰ãŒã“ã®ã‚°ãƒ«ãƒ¼ãƒ—を見れã¾ã™ã‹ï¼Ÿ"
msgid "Who will be using GitLab?"
msgstr ""
@@ -23126,11 +23635,8 @@ msgstr ""
msgid "Wiki"
msgstr "Wiki"
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
-msgstr ""
+msgstr "Wikiã¯æ­£å¸¸ã«æ›´æ–°ã•ã‚Œã¾ã—ãŸ"
msgid "WikiClone|Clone your wiki"
msgstr "Wiki をクローン"
@@ -23184,7 +23690,7 @@ 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 ""
+msgstr "%{most_recent_link} を表示ã™ã‚‹ã‹ã€%{history_link} ã‚’å‚ç…§ã§ãã¾ã™ã€‚"
msgid "WikiHistoricalPage|history"
msgstr "履歴"
@@ -23235,7 +23741,7 @@ msgid "Wiki|Create page"
msgstr "ページを作æˆ"
msgid "Wiki|Created date"
-msgstr ""
+msgstr "作æˆæ—¥æ™‚"
msgid "Wiki|Edit Page"
msgstr "ページを編集"
@@ -23256,7 +23762,7 @@ msgid "Wiki|Pages"
msgstr "Pages"
msgid "Wiki|Title"
-msgstr ""
+msgstr "タイトル"
msgid "Wiki|View All Pages"
msgstr ""
@@ -23280,7 +23786,7 @@ msgid "Work in progress Limit"
msgstr ""
msgid "Workflow Help"
-msgstr ""
+msgstr "ワークフローã®ãƒ˜ãƒ«ãƒ—"
msgid "Write"
msgstr ""
@@ -23292,7 +23798,7 @@ msgid "Write a comment…"
msgstr ""
msgid "Write access allowed"
-msgstr ""
+msgstr "書ãè¾¼ã¿ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯"
msgid "Write milestone description..."
msgstr "マイルストーンã®èª¬æ˜Žã‚’書ã..."
@@ -23301,20 +23807,23 @@ msgid "Write your release notes or drag your files here…"
msgstr ""
msgid "Wrong extern UID provided. Make sure Auth0 is configured correctly."
-msgstr ""
+msgstr "é–“é•ã£ãŸå¤–部UIDãŒæŒ‡å®šã•ã‚Œã¾ã—ãŸã€‚ Auth0ãŒæ­£ã—ã設定ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。"
msgid "Yes"
msgstr "ã¯ã„"
msgid "Yes or No"
-msgstr ""
+msgstr "ã¯ã„ / ã„ã„ãˆ"
msgid "Yes, add it"
msgstr "ã¯ã„ã€è¿½åŠ ã—ã¾ã™"
-msgid "Yes, let me map Google Code users to full names or GitLab users."
+msgid "Yes, close issue"
msgstr ""
+msgid "Yes, let me map Google Code users to full names or GitLab users."
+msgstr "ã¯ã„ã€Googleコードã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’フルãƒãƒ¼ãƒ ã¾ãŸã¯GitLab ユーザーã«å¯¾å¿œã•ã›ã¦ãã ã•ã„。"
+
msgid "Yesterday"
msgstr "昨日"
@@ -23328,19 +23837,19 @@ msgid "You are about to transfer the control of your account to %{group_name} gr
msgstr ""
msgid "You are an admin, which means granting access to <strong>%{client_name}</strong> will allow them to interact with GitLab as an admin as well. Proceed with caution."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ç®¡ç†è€…ã§ã™ã€‚ã¤ã¾ã‚Šã€ <strong>%{client_name}</strong> ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã™ã‚‹ã¨ã€ãã‚Œã¯ç®¡ç†è€…ã¨ã—ã¦GitLabã¨ã‚„ã‚Šã¨ã‚Šã§ãã¾ã™ã€‚注æ„ã—ã¦ãã ã•ã„。"
msgid "You are attempting to delete a file that has been previously updated."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ã€ä»¥å‰ã«æ›´æ–°ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’削除ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚"
msgid "You are attempting to update a file that has changed since you started editing it."
-msgstr ""
+msgstr "編集ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’æ›´æ–°ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚"
msgid "You are connected to the Prometheus server, but there is currently no data to display."
msgstr ""
msgid "You are going to remove %{group_name}, this will also remove all of its subgroups and projects. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?"
-msgstr ""
+msgstr "%{group_name} を削除ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯ã€ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—é…下ã®ã‚µãƒ–グループã¨ãƒ—ロジェクトもã™ã¹ã¦å‰Šé™¤ã•ã‚Œã¾ã™ã€‚一度削除ã•ã‚ŒãŸã‚°ãƒ«ãƒ¼ãƒ—を復元ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。本当ã«ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?"
msgstr "%{project_full_name} プロジェクトを削除ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚削除ã•ã‚ŒãŸãƒ—ロジェクトã¯çµ¶å¯¾ã«å…ƒã«ã¯æˆ»ã›ã¾ã›ã‚“ï¼æœ¬å½“ã«ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
@@ -23367,31 +23876,31 @@ msgid "You are on a read-only GitLab instance."
msgstr "読ã¿å–り専用 GitLab インスタンスをå‚照中ã§ã™ã€‚"
msgid "You are receiving this message because you are a GitLab administrator for %{url}."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ %{url} ã®GitLab管ç†è€…ã§ã‚ã‚‹ãŸã‚ã€ã“ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ã‘å–ã£ã¦ã„ã¾ã™ã€‚"
msgid "You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico."
msgstr ""
msgid "You can %{linkStart}view the blob%{linkEnd} instead."
-msgstr ""
+msgstr "代ã‚ã‚Šã«ã€%{linkStart} blob を見る%{linkEnd} ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "You can also create a project from the command line."
msgstr "コマンドラインã‹ã‚‰ãƒ—ロジェクトを作æˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"
msgid "You can also press &#8984;-Enter"
-msgstr ""
+msgstr "&#8984; ã¨Enter を押ã™ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"
msgid "You can also press Ctrl-Enter"
-msgstr ""
+msgstr "Ctrl ã¨Enter を押ã™ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"
msgid "You can also star a label to make it a priority label."
msgstr "ラベルã«ã‚¹ã‚¿ãƒ¼ã‚’付ã‘ã¦å„ªå…ˆãƒ©ãƒ™ãƒ«ã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"
msgid "You can also test your %{gitlab_ci_yml} in %{lint_link_start}CI Lint%{lint_link_end}"
-msgstr ""
+msgstr "%{lint_link_start}CI Lint%{lint_link_end}㧠%{gitlab_ci_yml} をテストã™ã‚‹ã“ã¨ãŒã§ãã¾ã™"
msgid "You can also upload existing files from your computer using the instructions below."
-msgstr ""
+msgstr "以下ã®æ‰‹é †ã«ãã£ã¦ã€ã‚ãªãŸã®ã‚³ãƒ³ãƒ”ューター上ã®æ—¢å­˜ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’アップロードã§ãã¾ã™ã€‚"
msgid "You can always edit this later"
msgstr ""
@@ -23424,13 +23933,13 @@ msgid "You can get started by cloning the repository or start adding files to it
msgstr ""
msgid "You can invite a new member to <strong>%{project_name}</strong> or invite another group."
-msgstr ""
+msgstr "æ–°ã—ã„メンãƒãƒ¼ã‚’<strong>%{project_name} </strong>ã«æ‹›å¾…ã™ã‚‹ã‹ã€åˆ¥ã®ã‚°ãƒ«ãƒ¼ãƒ—を招待ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "You can invite a new member to <strong>%{project_name}</strong>."
-msgstr ""
+msgstr "æ–°ã—ã„メンãƒãƒ¼ã‚’<strong>%{project_name} </strong>ã«æ‹›å¾…ã§ãã¾ã™ã€‚"
msgid "You can invite another group to <strong>%{project_name}</strong>."
-msgstr ""
+msgstr "ä»–ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’<strong>%{project_name} </strong>ã«æ‹›å¾…ã§ãã¾ã™ã€‚"
msgid "You can move around the graph by using the arrow keys."
msgstr "矢å°ã‚­ãƒ¼ã‚’使用ã—ã¦ã‚°ãƒ©ãƒ•ã‚’移動ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
@@ -23507,6 +24016,9 @@ msgstr "ã“ã®èª­ã¿å–り専用 GitLab インスタンスã«ã¯æ›¸ã込むã“ã
msgid "You could not create a new trigger."
msgstr "æ–°ã—ã„トリガーを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23538,7 +24050,7 @@ msgid "You don't have any authorized applications"
msgstr "承èªã•ã‚ŒãŸã‚¢ãƒ—リケーションãŒã‚ã‚Šã¾ã›ã‚“"
msgid "You don't have any deployments right now."
-msgstr ""
+msgstr "ç¾åœ¨ãƒ‡ãƒ—ロイãŒã‚ã‚Šã¾ã›ã‚“。"
msgid "You don't have any open merge requests"
msgstr ""
@@ -23559,25 +24071,28 @@ msgid "You don’t have access to Value Stream Analytics for this group"
msgstr ""
msgid "You have been granted %{access_level} access to the %{source_link} %{source_type}."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ %{source_link} %{source_type} ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ %{access_level} を与ãˆã‚‰ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "You have been granted %{access_level} access to the %{source_name} %{source_type}."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ %{source_name} %{source_type} ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©é™ %{access_level} を与ãˆã‚‰ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "You have been granted %{member_human_access} access to %{label}."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ %{label} ã¸ã® %{member_human_access} アクセス権é™ã‚’与ãˆã‚‰ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "You have been unsubscribed from this thread."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ã“ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã‹ã‚‰è„±é€€ã—ã¾ã—ãŸã€‚"
msgid "You have declined the invitation to join %{label}."
+msgstr "%{label} ã¸ã®å‚加ã®æ‹›å¾…を辞退ã—ã¾ã—ãŸã€‚"
+
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
msgstr ""
msgid "You have no permissions"
msgstr "権é™ãŒã‚ã‚Šã¾ã›ã‚“"
msgid "You have not added any approvers. Start by adding users or groups."
-msgstr ""
+msgstr "ã‚ãªãŸã¯æ‰¿èªè€…を追加ã—ã¦ã„ã¾ã›ã‚“。ユーザーã¾ãŸã¯ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰è¿½åŠ ã—ã¦ãã ã•ã„。"
msgid "You have reached your project limit"
msgstr "プロジェクト数ã®ä¸Šé™ã«é”ã—ã¦ã„ã¾ã™"
@@ -23595,7 +24110,7 @@ msgid "You left the \"%{membershipable_human_name}\" %{source_type}."
msgstr ""
msgid "You may also add variables that are made available to the running application by prepending the variable key with <code>K8S_SECRET_</code>."
-msgstr ""
+msgstr "変数åã®å‰ã« <code>K8S_SECRET_</code>を指定ã™ã‚‹ã“ã¨ã§ã€å®Ÿè¡Œä¸­ã®ã‚¢ãƒ—リケーションã§ä½¿ç”¨ã™ã‚‹å¤‰æ•°ã‚’追加ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚"
msgid "You may close the milestone now."
msgstr ""
@@ -23613,7 +24128,7 @@ msgid "You must have permission to create a project in a namespace before forkin
msgstr "フォークã™ã‚‹å‰ã«ã€åå‰ç©ºé–“ã«ãƒ—ロジェクトを作æˆã™ã‚‹æ¨©é™ãŒå¿…è¦ã§ã™ã€‚"
msgid "You must provide a valid current password"
-msgstr ""
+msgstr "ç¾åœ¨ã®æ­£ã—ã„パスワードを入力ã—ã¦ãã ã•ã„"
msgid "You must provide your current password in order to change it."
msgstr "パスワードを変更ã™ã‚‹ã«ã¯ã€ç¾åœ¨ã®ãƒ‘スワードを入力ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
@@ -23631,31 +24146,34 @@ msgid "You need a different license to enable FileLocks feature"
msgstr "ファイルロック機能を有効ã«ã™ã‚‹ã«ã¯åˆ¥ã®ãƒ©ã‚¤ã‚»ãƒ³ã‚¹ãŒå¿…è¦ã§ã™"
msgid "You need git-lfs version %{min_git_lfs_version} (or greater) to continue. Please visit https://git-lfs.github.com"
-msgstr ""
+msgstr "続行ã™ã‚‹ã«ã¯ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %{min_git_lfs_version} (ã¾ãŸã¯ãれ以é™ã®ï¼‰ã® git-lfs ãŒå¿…è¦ã§ã™ã€‚ https://git-lfs.github.com ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ãã ã•ã„。"
msgid "You need permission."
msgstr "権é™ãŒå¿…è¦ã§ã™"
msgid "You need to be logged in."
-msgstr ""
+msgstr "ログインã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
msgid "You need to register a two-factor authentication app before you can set up a U2F device."
-msgstr ""
+msgstr "U2Fデãƒã‚¤ã‚¹ã‚’設定ã™ã‚‹å‰ã«ã€ã‚ãªãŸã¯2è¦ç´ èªè¨¼ã‚¢ãƒ—リを登録ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "You need to set terms to be enforced"
msgstr ""
msgid "You need to specify both an Access Token and a Host URL."
-msgstr ""
+msgstr "アクセストークンã¨ãƒ›ã‚¹ãƒˆURLã®ä¸¡æ–¹ã‚’指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
msgid "You need to upload a GitLab project export archive (ending in .gz)."
-msgstr ""
+msgstr "GitLab プロジェクトã®ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã‚¢ãƒ¼ã‚«ã‚¤ãƒ–(.gz ã§çµ‚ã‚る)をアップロードã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "You need to upload a Google Takeout archive."
+msgstr "Google テイクアウトアーカイブをアップロードã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
+
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
msgstr ""
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
-msgstr ""
+msgstr "%{link_to_the_project} ã®ãƒ•ã‚©ãƒ¼ã‚¯ã¯ã€æ¬¡ã®ç†ç”±ã§å¤±æ•—ã—ã¾ã—ãŸã€‚:"
msgid "You will be removed from existing projects/groups"
msgstr ""
@@ -23664,10 +24182,10 @@ msgid "You will first need to set up Jira Integration to use this feature."
msgstr ""
msgid "You will lose all changes you've made to this file. This action cannot be undone."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ã€ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«è¡Œã£ãŸå¤‰æ›´ã‚’ã™ã¹ã¦å¤±ã£ã¦ã—ã¾ã„ã¾ã™ã€‚ã“ã®æ“作ã¯å…ƒã«æˆ»ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
msgid "You will lose all uncommitted changes you've made in this project. This action cannot be undone."
-msgstr ""
+msgstr "ã‚ãªãŸã¯ã€ã“ã®ãƒ—ロジェクトã§è¡Œã£ãŸã€ã‚³ãƒŸãƒƒãƒˆã—ã¦ã„ãªã„変更をã™ã¹ã¦å¤±ã£ã¦ã—ã¾ã„ã¾ã™ã€‚ã“ã®æ“作ã¯å…ƒã«æˆ»ã™ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
msgid "You will need to update your local repositories to point to the new location."
msgstr "ローカルリãƒã‚¸ãƒˆãƒªãŒæ–°ã—ã„場所を示ã™ã‚ˆã†ã«æ›´æ–°ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
@@ -23700,7 +24218,7 @@ msgid "You'll need to use different branch names to get a valid comparison."
msgstr "有効ãªæ¯”較を行ã†ãŸã‚ã«ã¯ã€ç•°ãªã‚‹ãƒ–ランãƒåを使用ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "You're about to reduce the visibility of the project %{strong_start}%{project_name}%{strong_end} in %{strong_start}%{group_name}%{strong_end}."
-msgstr ""
+msgstr "%{strong_start}%{group_name}%{strong_end} 内ã®%{strong_start}%{project_name}%{strong_end} プロジェクトã®å…¬é–‹ç¯„囲を低下ã•ã›ã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚"
msgid "You're about to reduce the visibility of the project %{strong_start}%{project_name}%{strong_end}."
msgstr ""
@@ -23709,13 +24227,13 @@ msgid "You're not allowed to %{tag_start}edit%{tag_end} files in this project di
msgstr ""
msgid "You're not allowed to make changes to this project directly. A fork of this project has been created that you can make changes in, so you can submit a merge request."
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトを直接変更ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。変更を加ãˆã‚‹ã“ã¨ãŒã§ãるプロジェクトã®ãƒ•ã‚©ãƒ¼ã‚¯ãŒä½œæˆã•ã‚ŒãŸã®ã§ã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "You're not allowed to make changes to this project directly. A fork of this project is being created that you can make changes in, so you can submit a merge request."
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトを直接変更ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。変更を加ãˆã‚‹ã“ã¨ãŒã§ãるプロジェクトã®ãƒ•ã‚©ãƒ¼ã‚¯ãŒä½œæˆã•ã‚Œã¦ã„ã‚‹ã®ã§ã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’é€ä¿¡ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "You're only seeing %{startTag}other activity%{endTag} in the feed. To add a comment, switch to one of the following options."
-msgstr ""
+msgstr "フィードã«ã¯%{startTag}ã»ã‹ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ“ティ%{endTag}ã®ã¿ãŒè¡¨ç¤ºã•ã‚Œã¦ã„ã¾ã™ã€‚コメントを追加ã™ã‚‹ã«ã¯æ¬¡ã®ã„ãšã‚Œã‹ã®ã‚ªãƒ—ションã«åˆ‡ã‚Šæ›¿ãˆã¾ã™ã€‚"
msgid "You're receiving this email because of your account on %{host}."
msgstr "ã“ã®ãƒ¡ãƒ¼ãƒ«ã¯ %{host} ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆå®›ã«é€ä¿¡ã•ã‚Œã¾ã—ãŸã€‚"
@@ -23738,9 +24256,21 @@ msgstr ""
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23751,10 +24281,10 @@ msgid "Your DevOps Score gives an overview of how you are using GitLab from a fe
msgstr ""
msgid "Your GPG keys (%{count})"
-msgstr ""
+msgstr "GPG éµ (%{count})"
msgid "Your GitLab group"
-msgstr ""
+msgstr "ã‚ãªãŸã® GitLab ã®ã‚°ãƒ«ãƒ¼ãƒ—"
msgid "Your Gitlab Gold trial will last 30 days after which point you can keep your free Gitlab account forever. We just need some additional information to activate your trial."
msgstr ""
@@ -23781,22 +24311,22 @@ msgid "Your Public Email will be displayed on your public profile."
msgstr ""
msgid "Your SSH keys (%{count})"
-msgstr ""
+msgstr "SSH éµ (%{count})"
msgid "Your To-Do List"
msgstr ""
msgid "Your U2F device did not send a valid JSON response."
-msgstr ""
+msgstr "ã‚ãªãŸã®U2Fデãƒã‚¤ã‚¹ã¯ã€æœ‰åŠ¹ãªJSON応答をé€ä¿¡ã—ã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "Your U2F device needs to be set up. Plug it in (if not already) and click the button on the left."
-msgstr ""
+msgstr "U2Fデãƒã‚¤ã‚¹ã‚’セットアップã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚(ã¾ã æŽ¥ç¶šã—ã¦ã„ãªã„å ´åˆã¯) å·®ã—込んã§æŽ¥ç¶šã—ã€å·¦ã®ãƒœã‚¿ãƒ³ã‚’クリックã—ã¾ã™ã€‚"
msgid "Your U2F device was registered!"
-msgstr ""
+msgstr "ã‚ãªãŸã® U2F デãƒã‚¤ã‚¹ãŒç™»éŒ²ã•ã‚Œã¾ã—ãŸã€‚"
msgid "Your access request to the %{source_type} has been withdrawn."
-msgstr ""
+msgstr "%{source_type} ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹è¦æ±‚ã¯å–り消ã•ã‚Œã¾ã—ãŸã€‚"
msgid "Your account has been deactivated by your administrator. Please log back in to reactivate your account."
msgstr ""
@@ -23805,7 +24335,7 @@ msgid "Your account is locked."
msgstr ""
msgid "Your account uses dedicated credentials for the \"%{group_name}\" group and can only be updated through SSO."
-msgstr ""
+msgstr "ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ \"%{group_name}\"グループã«å°‚用ã®èªè¨¼æƒ…報を使用ã—ã¦ãŠã‚Šã€SSOを通ã˜ã¦ã®ã¿æ›´æ–°ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "Your applications (%{size})"
msgstr "アプリケーション(%{size})"
@@ -23837,6 +24367,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23874,40 +24407,49 @@ msgid "Your new SCIM token"
msgstr ""
msgid "Your new personal access token has been created."
+msgstr "æ–°ã—ã„パーソナルアクセストークンãŒä½œæˆã•ã‚Œã¾ã—ãŸã€‚"
+
+msgid "Your new project access token has been created."
msgstr ""
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
msgid "Your password reset token has expired."
-msgstr ""
+msgstr "パスワードリセットトークンã¯æœ‰åŠ¹æœŸé™åˆ‡ã‚Œã§ã™ã€‚"
msgid "Your profile"
msgstr ""
msgid "Your project limit is %{limit} projects! Please contact your administrator to increase it"
-msgstr ""
+msgstr "ã‚ãªãŸã®ãƒ—ロジェクト数㯠%{limit} 以下ã«åˆ¶é™ã•ã‚Œã¦ã„ã¾ã™ã€‚ã“ã®ä¸Šé™ã‚’増やã™ã«ã¯ã‚ãªãŸã®ç®¡ç†è€…ã«é€£çµ¡ã—ã¦ãã ã•ã„"
msgid "Your projects"
msgstr "ã‚ãªãŸã®ãƒ—ロジェクト"
msgid "Your request for access has been queued for review."
+msgstr "アクセスã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯å¯©æŸ»å¾…ã¡ã§ã™ã€‚"
+
+msgid "Your search didn't match any commits."
msgstr ""
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
+msgstr "サブスクリプションã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã‚’完了ã—ã¾ã—ãŸã€‚"
+
+msgid "Your subscription will automatically renew in %{remaining_days}"
msgstr ""
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
msgid "Zoom meeting added"
-msgstr ""
+msgstr "Zoom ミーティングを追加ã—ã¾ã—ãŸ"
msgid "Zoom meeting removed"
-msgstr ""
+msgstr "Zoom ミーティングを削除ã—ã¾ã—ãŸ"
msgid "[No reason]"
msgstr ""
@@ -23935,31 +24477,31 @@ msgid "ago"
msgstr "å‰"
msgid "allowed to fail"
-msgstr ""
+msgstr "失敗å¯èƒ½"
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
msgstr ""
msgid "already shared with this group"
-msgstr ""
+msgstr "ã™ã§ã«ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¨å…±æœ‰ã—ã¦ã„ã¾ã™"
msgid "among other things"
msgstr "ãã®ä»–ã®ã‚‚ã®"
msgid "any-approver for the merge request already exists"
-msgstr ""
+msgstr "マージリクエストã®æ‰¿èªè€…ã¯ã™ã§ã«å­˜åœ¨ã—ã¾ã™"
msgid "any-approver for the project already exists"
-msgstr ""
+msgstr "プロジェクトã®æ‰¿èªè€…ã¯ã™ã§ã«å­˜åœ¨ã—ã¾ã™"
msgid "archived"
-msgstr ""
+msgstr "アーカイブ済ã¿"
msgid "assign yourself"
-msgstr ""
+msgstr "自分ã«å‰²ã‚Šå½“ã¦"
msgid "at risk"
msgstr ""
@@ -23983,25 +24525,25 @@ msgid "by %{user}"
msgstr ""
msgid "cannot be changed if a personal project has container registry tags."
-msgstr ""
+msgstr "個人用プロジェクトã«ã‚³ãƒ³ãƒ†ãƒŠãƒ¬ã‚¸ã‚¹ãƒˆãƒªã‚¿ã‚°ãŒã‚ã‚‹å ´åˆã€å¤‰æ›´ã§ãã¾ã›ã‚“。"
msgid "cannot be enabled unless all domains have TLS certificates"
-msgstr ""
+msgstr "ã™ã¹ã¦ã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã« TLS 証明書ãŒãªã„ã¨æœ‰åŠ¹ã«ã§ãã¾ã›ã‚“"
msgid "cannot be modified"
-msgstr ""
+msgstr "変更ã§ãã¾ã›ã‚“"
msgid "cannot block others"
-msgstr ""
+msgstr "他をブロックã§ãã¾ã›ã‚“"
msgid "cannot include leading slash or directory traversal."
-msgstr ""
+msgstr "先頭ã®ã‚¹ãƒ©ãƒƒã‚·ãƒ¥ã‚’å«ã‚られã¾ã›ã‚“。ã¾ãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãƒˆãƒ©ãƒãƒ¼ã‚µãƒ«ã¯ã§ãã¾ã›ã‚“。"
msgid "cannot itself be blocked"
-msgstr ""
+msgstr "ãれ自体をブロックã§ãã¾ã›ã‚“"
msgid "cannot merge"
-msgstr ""
+msgstr "マージã§ãã¾ã›ã‚“"
msgid "ciReport|%{linkStartTag}Learn more about Container Scanning %{linkEndTag}"
msgstr "%{linkStartTag}コンテナスキャンã®è©³ç´°%{linkEndTag}"
@@ -24015,6 +24557,9 @@ msgstr "%{linkStartTag}ä¾å­˜æ€§ã‚¹ã‚­ãƒ£ãƒ³ã®è©³ç´°%{linkEndTag}"
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr "%{linkStartTag}SAST ã®è©³ç´°%{linkEndTag}"
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24069,7 +24614,7 @@ msgid "ciReport|%{reportType} is loading"
msgstr ""
msgid "ciReport|%{reportType}: Loading resulted in an error"
-msgstr ""
+msgstr "%{reportType}:読ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
msgid "ciReport|(errors when loading results)"
msgstr ""
@@ -24081,16 +24626,16 @@ msgid "ciReport|(is loading, errors when loading results)"
msgstr ""
msgid "ciReport|All projects"
-msgstr ""
+msgstr "ã™ã¹ã¦ã®ãƒ—ロジェクト"
msgid "ciReport|All report types"
-msgstr ""
+msgstr "ã™ã¹ã¦ã®ãƒ¬ãƒãƒ¼ãƒˆã‚¿ã‚¤ãƒ—"
msgid "ciReport|All severities"
-msgstr ""
+msgstr "ã™ã¹ã¦ã®é‡è¦åº¦"
msgid "ciReport|Automatically apply the patch in a new branch"
-msgstr ""
+msgstr "自動的ã«æ–°ã—ã„ブランãƒã«ã“ã®ãƒ‘ッãƒã‚’é©ç”¨ã™ã‚‹"
msgid "ciReport|Base pipeline codequality artifact not found"
msgstr ""
@@ -24099,25 +24644,25 @@ msgid "ciReport|Code quality"
msgstr "コードã®å“質"
msgid "ciReport|Container Scanning"
-msgstr ""
+msgstr "コンテナースキャン"
msgid "ciReport|Container scanning"
-msgstr ""
+msgstr "コンテナースキャン"
msgid "ciReport|Container scanning detects known vulnerabilities in your docker images."
msgstr "コンテナスキャンã¯ã€Docker イメージã«å­˜åœ¨ã™ã‚‹æ—¢çŸ¥ã®è„†å¼±æ€§ã‚’検出ã—ã¾ã™ã€‚"
msgid "ciReport|Create a merge request to implement this solution, or download and apply the patch manually."
-msgstr ""
+msgstr "マージリクエストを作æˆã—ã¦ã“ã®ã‚½ãƒªãƒ¥ãƒ¼ã‚·ãƒ§ãƒ³ã‚’実装ã™ã‚‹ã€ã¾ãŸã¯æ‰‹å‹•ã§ãƒ‘ッãƒã‚’ダウンロードã—ã¦é©ç”¨ã—ã¾ã™ã€‚"
msgid "ciReport|Create issue"
-msgstr ""
+msgstr "課題を作æˆã™ã‚‹"
msgid "ciReport|DAST"
msgstr "DAST"
msgid "ciReport|Dependency Scanning"
-msgstr ""
+msgstr "ä¾å­˜é–¢ä¿‚ã®ã‚¹ã‚­ãƒ£ãƒ³"
msgid "ciReport|Dependency Scanning detects known vulnerabilities in your source code's dependencies."
msgstr "ä¾å­˜é–¢ä¿‚スキャンã¯ã€ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã®ä¾å­˜é–¢ä¿‚ã®ä¸­ã®ã€æ—¢çŸ¥ã®è„†å¼±æ€§ã‚’検出ã—ã¾ã™ã€‚"
@@ -24126,10 +24671,10 @@ msgid "ciReport|Dependency scanning"
msgstr "ä¾å­˜é–¢ä¿‚スキャン"
msgid "ciReport|Download patch to resolve"
-msgstr ""
+msgstr "解決ã™ã‚‹ãŸã‚ã®ãƒ‘ッãƒã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰"
msgid "ciReport|Download the patch to apply it manually"
-msgstr ""
+msgstr "パッãƒã‚’ダウンロードã—ã¦æ‰‹å‹•ã§é©ç”¨ã™ã‚‹"
msgid "ciReport|Dynamic Application Security Testing (DAST) detects known vulnerabilities in your web application."
msgstr "動的アプリケーションセキュリティテスト (DAST) ã¯ã€ã‚¦ã‚§ãƒ–アプリケーションã®æ—¢çŸ¥ã®è„†å¼±æ€§ã‚’検出ã—ã¾ã™ã€‚"
@@ -24144,16 +24689,16 @@ msgid "ciReport|Found %{issuesWithCount}"
msgstr ""
msgid "ciReport|Investigate this vulnerability by creating an issue"
-msgstr ""
+msgstr "課題を作æˆã—ã¦ã€ã“ã®è„†å¼±æ€§ã‚’調査・検証ã—ã¦ãã ã•ã„"
msgid "ciReport|Learn more about interacting with security reports"
-msgstr ""
+msgstr "セキュリティレãƒãƒ¼ãƒˆã¨ã®ç›¸äº’作用ã®è©³ç´°ã‚’ã”覧ãã ã•ã„。"
msgid "ciReport|Loading %{reportName} report"
msgstr "%{reportName} レãƒãƒ¼ãƒˆã‚’読ã¿è¾¼ã‚“ã§ã„ã¾ã™"
msgid "ciReport|Manage licenses"
-msgstr ""
+msgstr "ライセンスã®ç®¡ç†"
msgid "ciReport|No changes to code quality"
msgstr "コードå“質ã«å¤‰æ›´ã¯ã‚ã‚Šã¾ã›ã‚“"
@@ -24162,17 +24707,23 @@ msgid "ciReport|No changes to performance metrics"
msgstr "パーフォーマンスメトリクスã«å¤‰æ›´ã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "ciReport|No code quality issues found"
-msgstr ""
+msgstr "コードå“質ã®èª²é¡Œã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ"
msgid "ciReport|Performance metrics"
msgstr "パフォーマンスメトリクス"
msgid "ciReport|Resolve with merge request"
-msgstr ""
+msgstr "マージリクエストã§è§£æ±º"
msgid "ciReport|SAST"
msgstr "SAST"
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr "セキュリティスキャン"
@@ -24180,7 +24731,7 @@ msgid "ciReport|Security scanning failed loading any results"
msgstr "セキュリティスキャンã¯çµæžœã®èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ"
msgid "ciReport|Solution"
-msgstr ""
+msgstr "ソリューション"
msgid "ciReport|Static Application Security Testing (SAST) detects known vulnerabilities in your source code."
msgstr "é™çš„アプリケーションセキュリティテスト(SAST)ã¯ã€ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ä¸­ã®æ—¢çŸ¥ã®è„†å¼±æ€§ã‚’検出ã—ã¾ã™ã€‚"
@@ -24189,7 +24740,7 @@ msgid "ciReport|There was an error creating the issue. Please try again."
msgstr "課題を作æˆä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "ciReport|There was an error creating the merge request. Please try again."
-msgstr ""
+msgstr "マージリクエストã®ä½œæˆä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "ciReport|There was an error dismissing the vulnerability. Please try again."
msgstr "脆弱性を無視ã™ã‚‹éš›ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
@@ -24208,13 +24759,13 @@ msgid "ciReport|View full report"
msgstr "レãƒãƒ¼ãƒˆå…¨ä½“を見る"
msgid "comment"
-msgstr ""
+msgstr "コメント"
msgid "commented on %{link_to_project}"
-msgstr ""
+msgstr "%{link_to_project} ã«ã¤ã„ã¦ã‚³ãƒ¡ãƒ³ãƒˆã—ã¾ã—ãŸ"
msgid "commit %{commit_id}"
-msgstr ""
+msgstr "コミット %{commit_id}"
msgid "confidentiality|You are going to turn off the confidentiality. This means <strong>everyone</strong> will be able to see and leave a comment on this issue."
msgstr "ã‚ãªãŸã¯å…¬é–‹è¨­å®šã«å¤‰æ›´ã—よã†ã¨ã—ã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯<strong>ã™ã¹ã¦ã®äºº</strong> ãŒé–²è¦§å¯èƒ½ã«ãªã‚Šã€èª²é¡Œã«å¯¾ã—ã¦ã‚³ãƒ¡ãƒ³ãƒˆã‚’残ã™ã“ã¨ãŒã§ãるよã†ã«ãªã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚"
@@ -24226,13 +24777,13 @@ msgid "connecting"
msgstr "接続中"
msgid "container_name cannot be larger than %{max_length} chars"
-msgstr ""
+msgstr "container_name ã« %{max_length} 以上ã®æ–‡å­—列を付与ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
msgid "could not read private key, is the passphrase correct?"
msgstr "秘密éµã‚’読ã¿å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚パスフレーズã¯æ­£ã—ã„ã§ã™ã‹ï¼Ÿ"
msgid "created"
-msgstr ""
+msgstr "作æˆæ¸ˆã¿"
msgid "created %{timeAgo}"
msgstr ""
@@ -24241,20 +24792,20 @@ msgid "customize"
msgstr "カスタマイズ"
msgid "date must not be after 9999-12-31"
-msgstr ""
+msgstr "日付㯠9999-12-31 よりå‰ã‚’指定ã—ã¦ä¸‹ã•ã„"
msgid "day"
msgid_plural "days"
msgstr[0] "æ—¥"
msgid "default branch"
-msgstr ""
+msgstr "デフォルトブランãƒ"
msgid "deleted"
-msgstr ""
+msgstr "削除完了"
msgid "deploy"
-msgstr ""
+msgstr "デプロイ"
msgid "design"
msgstr ""
@@ -24276,16 +24827,16 @@ msgstr "完了"
msgid "draft"
msgid_plural "drafts"
-msgstr[0] ""
+msgstr[0] "ドラフト"
msgid "e.g. %{token}"
msgstr ""
msgid "element is not a hierarchy"
-msgstr ""
+msgstr "è¦ç´ ã¯éšŽå±¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "email '%{email}' does not match the allowed domain of '%{email_domain}'"
-msgstr ""
+msgstr "メールアドレス %{email} 㯠許å¯ãƒ‰ãƒ¡ã‚¤ãƒ³ã® %{email_domain} ã¨ä¸€è‡´ã—ã¾ã›ã‚“"
msgid "enabled"
msgstr "有効"
@@ -24294,13 +24845,13 @@ msgid "encrypted: needs to be a :required, :optional or :migrating!"
msgstr ""
msgid "entries cannot be larger than 255 characters"
-msgstr ""
+msgstr "エントリーã¯255文字を超ãˆã‚‰ã‚Œã¾ã›ã‚“。"
msgid "entries cannot be nil"
-msgstr ""
+msgstr "エントリをnilã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“"
msgid "entries cannot contain HTML tags"
-msgstr ""
+msgstr "エントリã«HTMLã‚¿ã‚°ã‚’å«ã‚られã¾ã›ã‚“。"
msgid "error"
msgstr "エラー"
@@ -24318,16 +24869,16 @@ msgid "exceeds the limit of %{bytes} bytes for directory name \"%{dirname}\""
msgstr ""
msgid "expired on %{milestone_due_date}"
-msgstr ""
+msgstr "%{milestone_due_date} ã«æœŸé™åˆ‡ã‚Œ"
msgid "expires on %{milestone_due_date}"
-msgstr ""
+msgstr "%{milestone_due_date} ã«æœŸé™åˆ‡ã‚Œ"
msgid "external_url"
msgstr ""
msgid "failed"
-msgstr ""
+msgstr "失敗ã—ã¾ã—ãŸ"
msgid "failed to dismiss associated finding(id=%{finding_id}): %{message}"
msgstr ""
@@ -24340,7 +24891,7 @@ msgid "finding is not found or is already attached to a vulnerability"
msgstr ""
msgid "for %{link_to_merge_request} with %{link_to_merge_request_source_branch}"
-msgstr ""
+msgstr "%{link_to_merge_request} ã¨%{link_to_merge_request_source_branch} ã®å ´åˆ"
msgid "for %{link_to_merge_request} with %{link_to_merge_request_source_branch} into %{link_to_merge_request_target_branch}"
msgstr ""
@@ -24355,17 +24906,20 @@ msgid "for this project"
msgstr "ã“ã®ãƒ—ロジェクトã§ã¯"
msgid "fork this project"
-msgstr ""
+msgstr "ã“ã®ãƒ—ロジェクトをフォーク"
msgid "from"
msgstr ""
msgid "geo_node_name"
-msgstr ""
+msgstr "geo_node_name"
msgid "group"
msgstr "グループ"
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24373,7 +24927,7 @@ msgid "has already been taken"
msgstr ""
msgid "help"
-msgstr ""
+msgstr "ヘルプ"
msgid "here"
msgstr "ã“ã“"
@@ -24394,7 +24948,7 @@ msgid "in group %{link_to_group}"
msgstr ""
msgid "in project %{link_to_project}"
-msgstr ""
+msgstr "プロジェクト %{link_to_project}"
msgid "index"
msgstr "インデックス"
@@ -24404,7 +24958,7 @@ msgid_plural "instances completed"
msgstr[0] "インスタンスãŒå®Œäº†ã—ã¾ã—ãŸ"
msgid "invalid milestone state `%{state}`"
-msgstr ""
+msgstr "無効ãªãƒžã‚¤ãƒ«ã‚¹ãƒˆãƒ¼ãƒ³çŠ¶æ…‹ `%{state}`"
msgid "is"
msgstr ""
@@ -24419,19 +24973,19 @@ msgid "is blocked by"
msgstr ""
msgid "is enabled."
-msgstr ""
+msgstr "有効ã«ãªã‚Šã¾ã—ãŸ"
msgid "is invalid because there is downstream lock"
-msgstr ""
+msgstr "ã¯ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã‚¹ãƒˆãƒªãƒ¼ãƒ ãŒãƒ­ãƒƒã‚¯ã•ã‚Œã¦ã„ã‚‹ãŸã‚無効ã§ã™"
msgid "is invalid because there is upstream lock"
-msgstr ""
+msgstr "ã¯ã‚¢ãƒƒãƒ—ストリームãŒãƒ­ãƒƒã‚¯ã•ã‚Œã¦ã„ã‚‹ãŸã‚無効ã§ã™"
msgid "is not"
msgstr ""
msgid "is not a descendant of the Group owning the template"
-msgstr ""
+msgstr "ã¯ãƒ†ãƒ³ãƒ—レートを利用ã§ãるグループã«æ‰€å±žã—ã¦ã„ã¾ã›ã‚“。"
msgid "is not a valid X509 certificate."
msgstr "ã¯æœ‰åŠ¹ãª X509 証明書ã§ã¯ã‚ã‚Šã¾ã›ã‚“。"
@@ -24440,19 +24994,19 @@ msgid "is not allowed. Try again with a different email address, or contact your
msgstr ""
msgid "is not an email you own"
-msgstr ""
+msgstr "ã‚ãªãŸãŒæ‰€æœ‰ã™ã‚‹ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "is not in the group enforcing Group Managed Account"
msgstr ""
msgid "is too long (%{current_value}). The maximum size is %{max_size}."
-msgstr ""
+msgstr "é•·ã™ãŽã¾ã™(%{current_value})。最大サイズ㯠%{max_size} ã§ã™ã€‚"
msgid "is too long (maximum is 100 entries)"
-msgstr ""
+msgstr "ãŒé•·ã™ãŽã¾ã™ (最大100エントリ)"
msgid "is too long (maximum is 1000 entries)"
-msgstr ""
+msgstr "ãŒé•·ã™ãŽã¾ã™ï¼ˆæœ€å¤§1000エントリ)"
msgid "issue"
msgstr "課題"
@@ -24467,16 +25021,16 @@ msgid "issues on track"
msgstr ""
msgid "it is stored externally"
-msgstr ""
+msgstr "外部ã«ä¿å­˜ã•ã‚Œã¦ã„ã¾ã™"
msgid "it is stored in LFS"
-msgstr ""
+msgstr "LFS ã«ä¿ç®¡ã—ã¦ã„ã‚‹"
msgid "it is too large"
-msgstr ""
+msgstr "大ãã™ãŽã§ã™"
msgid "jigsaw is not defined"
-msgstr ""
+msgstr "jigsaw ãŒæœªå®šç¾©ã§ã™"
msgid "jira.issue.description.content"
msgstr ""
@@ -24494,7 +25048,7 @@ msgid "latest version"
msgstr "最新ãƒãƒ¼ã‚¸ãƒ§ãƒ³"
msgid "leave %{group_name}"
-msgstr ""
+msgstr "%{group_name} を離れる"
msgid "less than a minute"
msgstr ""
@@ -24503,22 +25057,22 @@ msgid "level: %{level}"
msgstr ""
msgid "limit of %{project_limit} reached"
-msgstr ""
+msgstr "%{project_limit} ã®åˆ¶é™ã«é”ã—ã¾ã—ãŸ"
msgid "locked by %{path_lock_user_name} %{created_at}"
msgstr "%{path_lock_user_name} ã«ã‚ˆã£ã¦ %{created_at} ã«ãƒ­ãƒƒã‚¯ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "log in"
-msgstr ""
+msgstr "ログイン"
msgid "manual"
msgstr "マニュアル"
msgid "math|The math in this entry is taking too long to render and may not be displayed as expected. For performance reasons, math blocks are also limited to %{maxChars} characters. Consider splitting up large formulae, splitting math blocks among multiple entries, or using an image instead."
-msgstr ""
+msgstr "ã“ã®ã‚¨ãƒ³ãƒˆãƒªã® math ã¯ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ã«æ™‚é–“ãŒã‹ã‹ã‚Šã™ãŽã¦ã€æœŸå¾…ã©ãŠã‚Šã«è¡¨ç¤ºã•ã‚Œãªã„å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ パフォーマンス上ã®ç†ç”±ã‹ã‚‰ã€math ブロックも%{maxChars} 文字ã«åˆ¶é™ã•ã‚Œã¦ã„ã¾ã™ã€‚ 大ããªæ•°å¼ã‚’分割ã™ã‚‹ã€è¤‡æ•°ã®ã‚¨ãƒ³ãƒˆãƒªé–“ã§æ•°å­¦ãƒ–ロックを分割ã™ã‚‹ã€ã¾ãŸã¯ä»£ã‚ã‚Šã«ç”»åƒã‚’使用ã™ã‚‹ã“ã¨ã‚’検討ã—ã¦ãã ã•ã„。"
msgid "math|There was an error rendering this math block"
-msgstr ""
+msgstr "ã“ã® math ブロックã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ"
msgid "merge request"
msgid_plural "merge requests"
@@ -24527,38 +25081,35 @@ msgstr[0] "マージリクエスト"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
-msgstr ""
+msgstr "見ã¤ã‹ã‚Šã¾ã›ã‚“"
msgid "most recent deployment"
msgstr ""
msgid "mrWidgetCommitsAdded|%{commitCount} and %{mergeCommitCount} will be added to %{targetBranch}."
-msgstr ""
+msgstr "%{commitCount} 㨠%{mergeCommitCount} ã‚’ %{targetBranch} ã«è¿½åŠ ã™ã‚‹ã€‚"
msgid "mrWidgetCommitsAdded|%{commitCount} will be added to %{targetBranch}."
-msgstr ""
+msgstr "%{commitCount} ã‚’ %{targetBranch} ã«è¿½åŠ ã™ã‚‹ã€‚"
msgid "mrWidgetCommitsAdded|1 merge commit"
-msgstr ""
+msgstr "1マージコミット"
msgid "mrWidgetNothingToMerge|Currently there are no changes in this merge request's source branch. Please push new commits or use a different branch."
-msgstr ""
+msgstr "ç¾åœ¨ã€ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ã‚½ãƒ¼ã‚¹ãƒ–ランãƒã«å¤‰æ›´ã¯ã‚ã‚Šã¾ã›ã‚“。新ã—ãコミットをプッシュã™ã‚‹ã‹ã€åˆ¥ã®ãƒ–ランãƒã‚’使用ã—ã¦ãã ã•ã„。"
msgid "mrWidgetNothingToMerge|Interested parties can even contribute by pushing commits if they want to."
-msgstr ""
+msgstr "貢献をã—ãŸã„関係者ã¯ã€ã‚³ãƒŸãƒƒãƒˆã‚’プッシュã—ã¦è²¢çŒ®ã§ãã¾ã™ã€‚"
msgid "mrWidgetNothingToMerge|Merge requests are a place to propose changes you have made to a project and discuss those changes with others."
-msgstr ""
+msgstr "マージリクエストã¯ã€ãƒ—ロジェクトã«åŠ ãˆãŸã‚ãªãŸã®å¤‰æ›´ã‚’æ案ã—ã€ã¾ãŸãã®å¤‰æ›´ã‚’ä»–ã®ãƒ¡ãƒ³ãƒãƒ¼ã¨è©±ã—åˆã†ãŸã‚ã®å ´æ‰€ã§ã™ã€‚"
msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch"
msgstr "ブランãƒã‚’復元ã™ã‚‹ã‹ã€åˆ¥ã® %{missingBranchName} ブランãƒã‚’使用ã—ã¦ãã ã•ã„"
msgid "mrWidget|%{link_start}Learn more about resolving conflicts%{link_end}"
-msgstr ""
+msgstr "%{link_start}競åˆã®è§£æ±ºã®è©³ç´°%{link_end}"
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB"
msgstr "%{metricsLinkStart} メモリ %{metricsLinkEnd} 使用率㌠%{memoryFrom} MBã‹ã‚‰ %{memoryTo} MB㸠%{emphasisStart} 減少 %{emphasisEnd}"
@@ -24573,7 +25124,7 @@ msgid "mrWidget|%{prefixToLinkStart}No pipeline%{prefixToLinkEnd} %{addPipelineL
msgstr ""
msgid "mrWidget|Added to the merge train by"
-msgstr ""
+msgstr "次ã®ãƒ¦ãƒ¼ã‚¶ã«ã‚ˆã£ã¦ãƒžãƒ¼ã‚¸ãƒˆãƒ¬ã‚¤ãƒ³ã«è¿½åŠ ã•ã‚Œã¾ã—ãŸï¼š"
msgid "mrWidget|Allows commits from members who can merge to the target branch"
msgstr "ターゲットブランãƒã«ãƒžãƒ¼ã‚¸ã§ãるメンãƒãƒ¼ã‹ã‚‰ã®ã‚³ãƒŸãƒƒãƒˆã‚’許å¯ã™ã‚‹"
@@ -24594,7 +25145,7 @@ msgid "mrWidget|Approve"
msgstr "承èª"
msgid "mrWidget|Approve additionally"
-msgstr ""
+msgstr "追加ã§æ‰¿èªã™ã‚‹"
msgid "mrWidget|Approved by"
msgstr "承èªè€…"
@@ -24651,7 +25202,7 @@ msgid "mrWidget|Fast-forward merge is not possible. To merge this request, first
msgstr "æ—©é€ã‚Šãƒžãƒ¼ã‚¸ã¯ã§ãã¾ã›ã‚“。ã“ã®è¦æ±‚をマージã™ã‚‹ã«ã¯ã€ã¾ãšãƒ­ãƒ¼ã‚«ãƒ«ã‚’ rebase ã—ã¾ã™ã€‚"
msgid "mrWidget|Fork merge requests do not create merge request pipelines which validate a post merge result"
-msgstr ""
+msgstr "フォークマージリクエストã¯ãƒã‚¹ãƒˆãƒžãƒ¼ã‚¸çµæžœã‚’検証ã™ã‚‹ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆãƒ‘イプラインを作æˆã—ã¾ã›ã‚“"
msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the"
msgstr "%{branch} ブランãƒãŒãƒ­ãƒ¼ã‚«ãƒ«ãƒªãƒã‚¸ãƒˆãƒªã«å­˜åœ¨ã™ã‚‹å ´åˆã¯ã€ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’手動ã§ãƒžãƒ¼ã‚¸ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
@@ -24675,22 +25226,22 @@ msgid "mrWidget|Merge failed."
msgstr "マージã«å¤±æ•—ã—ã¾ã—ãŸã€‚"
msgid "mrWidget|Merge failed: %{mergeError}. Please try again."
-msgstr ""
+msgstr "マージã«å¤±æ•—ã—ã¾ã—ãŸ: %{mergeError}ã€ã‚‚ã†ä¸€åº¦ã‚„ã‚Šç›´ã—ã¦ãã ã•ã„。"
msgid "mrWidget|Merge locally"
msgstr "ローカルã§ãƒžãƒ¼ã‚¸"
msgid "mrWidget|Merge request approved."
-msgstr ""
+msgstr "マージリクエストãŒæ‰¿èªã•ã‚Œã¾ã—ãŸ."
msgid "mrWidget|Merged by"
msgstr "マージ作業者"
msgid "mrWidget|More information"
-msgstr ""
+msgstr "詳ã—ã„情報"
msgid "mrWidget|No approval required"
-msgstr ""
+msgstr "承èªã¯ä¸è¦"
msgid "mrWidget|No approval required; you can still approve"
msgstr "承èªã¯ä¸è¦ã§ã™ãŒã€æ‰¿èªã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™"
@@ -24717,13 +25268,13 @@ msgid "mrWidget|Refreshing now"
msgstr "更新中"
msgid "mrWidget|Remove from merge train"
-msgstr ""
+msgstr "マージトレインã‹ã‚‰å‰Šé™¤"
msgid "mrWidget|Request to merge"
msgstr "マージをリクエスト"
msgid "mrWidget|Resolve WIP status"
-msgstr ""
+msgstr "作業中状態を解決ã™ã‚‹"
msgid "mrWidget|Resolve conflicts"
msgstr "競åˆã‚’解決ã™ã‚‹"
@@ -24762,7 +25313,7 @@ msgid "mrWidget|The source branch has been deleted"
msgstr "ã“ã®ã‚½ãƒ¼ã‚¹ãƒ–ランãƒã¯å‰Šé™¤ã•ã‚Œã¾ã—ãŸ"
msgid "mrWidget|The source branch is %{commitsBehindLinkStart}%{commitsBehind}%{commitsBehindLinkEnd} the target branch"
-msgstr ""
+msgstr "ソースブランãƒã¯ %{commitsBehindLinkStart}%{commitsBehind}%{commitsBehindLinkEnd} ターゲットブランãƒã§ã™"
msgid "mrWidget|The source branch is being deleted"
msgstr "ã“ã®ã‚½ãƒ¼ã‚¹ãƒ–ランãƒã¯å‰Šé™¤ã•ã‚Œã‚ˆã†ã¨ã—ã¦ã„ã¾ã™"
@@ -24777,10 +25328,10 @@ msgid "mrWidget|There are merge conflicts"
msgstr "マージã®ç«¶åˆãŒã‚ã‚Šã¾ã™"
msgid "mrWidget|There are unresolved threads. Please resolve these threads"
-msgstr ""
+msgstr "未解決ã®ã‚¹ãƒ¬ãƒƒãƒ‰ãŒã‚ã‚Šã¾ã™ã€‚ã“れらã®ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’解決ã—ã¦ãã ã•ã„。"
msgid "mrWidget|This feature merges changes from the target branch to the source branch. You cannot use this feature since the source branch is protected."
-msgstr ""
+msgstr "ã“ã®æ©Ÿèƒ½ã¯ã€ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ–ランãƒã‹ã‚‰ã‚½ãƒ¼ã‚¹ãƒ–ランãƒã¸ã®å¤‰æ›´ã‚’マージã—ã¾ã™ã€‚ã“ã®ã‚½ãƒ¼ã‚¹ãƒ–ランãƒã¯ä¿è­·ã•ã‚Œã¦ã„ã‚‹ãŸã‚ã€ã‚ãªãŸã¯ã“ã®æ©Ÿèƒ½ã‚’使用ã§ãã¾ã›ã‚“。"
msgid "mrWidget|This merge request failed to be merged automatically"
msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯è‡ªå‹•çš„ã«ãƒžãƒ¼ã‚¸ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ"
@@ -24789,19 +25340,19 @@ msgid "mrWidget|This merge request is in the process of being merged"
msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ãƒžãƒ¼ã‚¸å®Ÿè¡Œä¸­ã§ã™"
msgid "mrWidget|This merge request will be added to the merge train when pipeline %{linkStart}#%{pipelineId}%{linkEnd} succeeds."
-msgstr ""
+msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’ã€ãƒ‘イプライン %{linkStart}#%{pipelineId}%{linkEnd} ãŒæˆåŠŸã—ãŸã¨ãã«ãƒžãƒ¼ã‚¸ãƒˆãƒ¬ã‚¤ãƒ³ã¸è¿½åŠ ã—ã¾ã™ã€‚"
msgid "mrWidget|This merge request will start a merge train when pipeline %{linkStart}#%{pipelineId}%{linkEnd} succeeds."
-msgstr ""
+msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã€ãƒ‘イプライン %{linkStart}#%{pipelineId}%{linkEnd} ãŒæˆåŠŸã—ãŸã¨ãã«ãƒžãƒ¼ã‚¸ãƒˆãƒ¬ã‚¤ãƒ³ã‚’開始ã—ã¾ã™ã€‚"
msgid "mrWidget|This project is archived, write access has been disabled"
msgstr "ã“ã®ãƒ—ロジェクトã¯ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã•ã‚Œã¦ã„ã‚‹ãŸã‚ã€æ›¸ãè¾¼ã¿ã¯ç„¡åŠ¹ã§ã™ã€‚"
msgid "mrWidget|To approve this merge request, please enter your password. This project requires all approvals to be authenticated."
-msgstr ""
+msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’承èªã™ã‚‹ã«ã¯ã€ãƒ‘スワードを入力ã—ã¦ãã ã•ã„。ã“ã®ãƒ—ロジェクトã§ã¯ã€ã™ã¹ã¦ã®æ‰¿èªãŒèªè¨¼ã•ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。"
msgid "mrWidget|When this merge request is ready, remove the WIP: prefix from the title to allow it to be merged"
-msgstr ""
+msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã«æº–å‚™ãŒã§ããŸã‚‰ã€ã‚¿ã‚¤ãƒˆãƒ«ã®å…ˆé ­ã‹ã‚‰ WIP: を削除ã—ã¦ãƒžãƒ¼ã‚¸ã§ãるよã†ã«ã—ã¾ã™"
msgid "mrWidget|You are not allowed to edit this project directly. Please fork to make changes."
msgstr "ã“ã®ãƒ—ロジェクトを直接編集ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。変更ã™ã‚‹ã«ã¯ãƒ•ã‚©ãƒ¼ã‚¯ã—ã¦ãã ã•ã„。"
@@ -24813,10 +25364,10 @@ msgid "mrWidget|You can merge this merge request manually using the"
msgstr "ã“ã®ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’手動ã§ãƒžãƒ¼ã‚¸ã§ãã¾ã™"
msgid "mrWidget|Your password"
-msgstr ""
+msgstr "パスワード"
msgid "mrWidget|a quick guide that'll show you how to create"
-msgstr ""
+msgstr "作æˆã™ã‚‹æ–¹æ³•ã®ã‚¯ã‚¤ãƒƒã‚¯ã‚¬ã‚¤ãƒ‰"
msgid "mrWidget|branch does not exist."
msgstr "ブランãƒãŒå­˜åœ¨ã—ã¾ã›ã‚“。"
@@ -24831,25 +25382,25 @@ msgid "mrWidget|one. Make your code more secure and more"
msgstr ""
msgid "mrWidget|robust in just a minute."
-msgstr ""
+msgstr "ãŸã£ãŸ1分ã§å …牢ã«ã€‚"
msgid "mrWidget|that continuously tests your code. We created"
msgstr ""
msgid "mrWidget|to be added to the merge train when the pipeline succeeds"
-msgstr ""
+msgstr "パイプラインãŒæˆåŠŸã—ãŸã¨ãã«ãƒžãƒ¼ã‚¸ãƒˆãƒ¬ã‚¤ãƒ³ã«è¿½åŠ ã•ã‚Œã‚‹"
msgid "mrWidget|to be merged automatically when the pipeline succeeds"
msgstr "パイプラインãŒæˆåŠŸã—ãŸã¨ãã¯è‡ªå‹•çš„ã«ãƒžãƒ¼ã‚¸ã•ã‚Œã¾ã™"
msgid "mrWidget|to start a merge train when the pipeline succeeds"
-msgstr ""
+msgstr "パイプラインãŒæˆåŠŸã—ãŸã¨ãã«ãƒžãƒ¼ã‚¸ãƒˆãƒ¬ã‚¤ãƒ³ã‚’開始ã™ã‚‹"
msgid "must be greater than start date"
-msgstr ""
+msgstr "開始日より後ã«ã—ã¦ãã ã•ã„。"
msgid "n/a"
-msgstr ""
+msgstr "利用ä¸å¯"
msgid "need attention"
msgstr ""
@@ -24866,14 +25417,17 @@ msgstr "æ–°è¦ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆ"
msgid "no contributions"
msgstr "貢献ãªã—"
-msgid "no one can merge"
+msgid "no expiration"
msgstr ""
+msgid "no one can merge"
+msgstr "誰もマージã§ãã¾ã›ã‚“"
+
msgid "none"
msgstr "ãªã—"
msgid "not found"
-msgstr ""
+msgstr "見ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ"
msgid "notification emails"
msgstr "メール通知"
@@ -24891,7 +25445,7 @@ msgid "on track"
msgstr ""
msgid "opened %{timeAgoString} by %{user}"
-msgstr ""
+msgstr "%{user} ㌠%{timeAgoString} を開始ã—ã¾ã—ãŸã€‚"
msgid "opened %{timeAgo}"
msgstr ""
@@ -24901,7 +25455,7 @@ msgstr ""
msgid "out of %d total test"
msgid_plural "out of %d total tests"
-msgstr[0] ""
+msgstr[0] "テスト全件数 %d ã®ã†ã¡"
msgid "parent"
msgid_plural "parents"
@@ -24911,20 +25465,23 @@ msgid "password"
msgstr "パスワード"
msgid "pending comment"
-msgstr ""
+msgstr "ä¿ç•™ä¸­ã®ã‚³ãƒ¡ãƒ³ãƒˆ 件"
msgid "pending removal"
msgstr ""
-msgid "pipeline"
+msgid "per day"
msgstr ""
+msgid "pipeline"
+msgstr "パイプライン"
+
msgid "pod_name cannot be larger than %{max_length} chars"
-msgstr ""
+msgstr "pod_name ã« %{max_length} 以上ã®æ–‡å­—列を付与ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
msgid "point"
msgid_plural "points"
-msgstr[0] ""
+msgstr[0] "ãƒã‚¤ãƒ³ãƒˆ"
msgid "private"
msgstr "プライベート"
@@ -24933,13 +25490,19 @@ msgid "private key does not match certificate."
msgstr "秘密éµãŒè¨¼æ˜Žæ›¸ã¨ä¸€è‡´ã—ã¾ã›ã‚“。"
msgid "processing"
-msgstr ""
+msgstr "処ç†ä¸­"
msgid "project"
msgid_plural "projects"
msgstr[0] "プロジェクト"
msgid "project avatar"
+msgstr "プロジェクトアãƒã‚¿ãƒ¼"
+
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
msgstr ""
msgid "quick actions"
@@ -24952,7 +25515,7 @@ msgid "relates to"
msgstr ""
msgid "released %{time}"
-msgstr ""
+msgstr "%{time} ã«ãƒªãƒªãƒ¼ã‚¹"
msgid "remaining"
msgstr "残り"
@@ -24967,7 +25530,7 @@ msgid "remove weight"
msgstr "ウェイトを削除"
msgid "removed a Zoom call from this issue"
-msgstr ""
+msgstr "ã“ã® issue ã‹ã‚‰ã‚ºãƒ¼ãƒ ã‚³ãƒ¼ãƒ«ã‚’削除ã—ã¾ã—ãŸã€‚"
msgid "rendered diff"
msgstr "差分を表示"
@@ -24977,7 +25540,7 @@ msgid_plural "replies"
msgstr[0] "返信"
msgid "reset it."
-msgstr ""
+msgstr "リセットã—ã¾ã™ã€‚"
msgid "resolved the corresponding error and closed the issue."
msgstr ""
@@ -24992,28 +25555,28 @@ msgid "settings saved, but not activated"
msgstr ""
msgid "severity|Critical"
-msgstr ""
+msgstr "致命的"
msgid "severity|High"
-msgstr ""
+msgstr "高"
msgid "severity|Info"
-msgstr ""
+msgstr "情報"
msgid "severity|Low"
-msgstr ""
+msgstr "低"
msgid "severity|Medium"
-msgstr ""
+msgstr "中"
msgid "severity|None"
msgstr ""
msgid "severity|Unknown"
-msgstr ""
+msgstr "ä¸æ˜Ž"
msgid "should be greater than or equal to %{access} inherited membership from group %{group_name}"
-msgstr ""
+msgstr "%{group_name} グループã‹ã‚‰ç¶™æ‰¿ã•ã‚ŒãŸãƒ¡ãƒ³ãƒãƒ¼ã‚·ãƒƒãƒ—㯠%{access} ã¨åŒç­‰ã¾ãŸã¯ãれ以上ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™"
msgid "show %{count} more"
msgstr ""
@@ -25028,7 +25591,7 @@ msgid "sign in"
msgstr "サインイン"
msgid "sort:"
-msgstr ""
+msgstr "並ã¹æ›¿ãˆ:"
msgid "source"
msgstr "ソース"
@@ -25037,7 +25600,7 @@ msgid "source diff"
msgstr "ソース差分"
msgid "specified top is not part of the tree"
-msgstr ""
+msgstr "指定ã•ã‚ŒãŸãƒˆãƒƒãƒ—ã¯ã€ãƒ„リーã®ä¸€éƒ¨ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "spendCommand|%{slash_command} will update the sum of the time spent."
msgstr "%{slash_command} ã¯ç´¯è¨ˆçµŒéŽæ™‚é–“ã‚’æ›´æ–°ã—ã¾ã™"
@@ -25046,19 +25609,19 @@ msgid "started"
msgstr "開始"
msgid "started a discussion on %{design_link}"
-msgstr ""
+msgstr "%{design_link} ã§ãƒ‡ã‚£ã‚¹ã‚«ãƒƒã‚·ãƒ§ãƒ³ã‚’始ã‚ã¾ã—ãŸ"
msgid "started on %{milestone_start_date}"
-msgstr ""
+msgstr "%{milestone_start_date} ã«é–‹å§‹ã—ã¾ã—ãŸ"
msgid "starts on %{milestone_start_date}"
-msgstr ""
+msgstr "%{milestone_start_date} ã«é–‹å§‹"
msgid "stuck"
msgstr "スタック"
msgid "success"
-msgstr ""
+msgstr "æˆåŠŸ"
msgid "suggestPipeline|1/2: Choose a template"
msgstr ""
@@ -25073,10 +25636,10 @@ msgid "suggestPipeline|We recommend the %{boldStart}Code Quality%{boldEnd} templ
msgstr ""
msgid "syntax is correct"
-msgstr ""
+msgstr "構文ã¯æ­£ã—ã„ã§ã™"
msgid "syntax is incorrect"
-msgstr ""
+msgstr "構文ãŒé–“é•ã£ã¦ã„ã¾ã™ã€‚"
msgid "tag name"
msgstr ""
@@ -25087,10 +25650,6 @@ msgstr ""
msgid "this document"
msgstr "ã“ã®ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆ"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-
msgid "to help your contributors communicate effectively!"
msgstr "コントリビュータã®ã‚³ãƒŸãƒ¥ãƒ‹ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚’効率化ã™ã‚‹ï¼"
@@ -25110,13 +25669,13 @@ msgid "unicode domains should use IDNA encoding"
msgstr ""
msgid "updated"
-msgstr ""
+msgstr "æ›´æ–°ã•ã‚ŒãŸ"
msgid "updated %{timeAgo}"
msgstr ""
msgid "updated %{time_ago}"
-msgstr ""
+msgstr "%{time_ago} ã«æ›´æ–°"
msgid "user avatar"
msgstr ""
@@ -25134,37 +25693,40 @@ msgid "version %{versionIndex}"
msgstr ""
msgid "via %{closed_via}"
-msgstr ""
+msgstr "%{closed_via} ã«ã‚ˆã‚Š"
msgid "via merge request %{link}"
-msgstr ""
+msgstr "マージリクエスト %{link} ã«ã‚ˆã‚Š"
msgid "view it on GitLab"
msgstr "GitLab ã§è¦‹ã‚‹"
msgid "view the blob"
+msgstr "blobを表示"
+
+msgid "vulnerability|Add a comment"
msgstr ""
msgid "vulnerability|Add a comment or reason for dismissal"
-msgstr ""
+msgstr "å´ä¸‹ã®ã‚³ãƒ¡ãƒ³ãƒˆã¾ãŸã¯ç†ç”±ã‚’記入"
msgid "vulnerability|Add comment"
msgstr ""
msgid "vulnerability|Add comment & dismiss"
-msgstr ""
+msgstr "コメントを追加ã—ã¦å´ä¸‹"
msgid "vulnerability|Dismiss vulnerability"
-msgstr ""
+msgstr "脆弱性報告をå´ä¸‹ã™ã‚‹"
msgid "vulnerability|Save comment"
-msgstr ""
+msgstr "コメントをä¿å­˜"
msgid "vulnerability|Undo dismiss"
-msgstr ""
+msgstr "å´ä¸‹ã‚’å–り消ã™"
msgid "vulnerability|dismissed"
-msgstr ""
+msgstr "å´ä¸‹ã•ã‚Œã¾ã—ãŸ"
msgid "wiki page"
msgstr ""
diff --git a/locale/ka_GE/gitlab.po b/locale/ka_GE/gitlab.po
index 6f095f70bca..09b11bfb9e9 100644
--- a/locale/ka_GE/gitlab.po
+++ b/locale/ka_GE/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: ka\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:32\n"
+"PO-Revision-Date: 2020-05-05 21:12\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/ko/gitlab.po b/locale/ko/gitlab.po
index 04eb87189d0..1bc537934f5 100644
--- a/locale/ko/gitlab.po
+++ b/locale/ko/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: ko\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:25\n"
+"PO-Revision-Date: 2020-05-05 21:11\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -182,6 +182,10 @@ msgid "%d tag"
msgid_plural "%d tags"
msgstr[0] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -335,6 +339,9 @@ msgstr "%{mergeLength}/%{usersLength} 머지 가능"
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText}, ì´ ì´ìŠˆëŠ” ìžë™ìœ¼ë¡œ í´ë¡œì¦ˆ ë©ë‹ˆë‹¤."
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} í¬í•¨ë¨ %{resultsString}"
@@ -347,6 +354,10 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "%{name} ì˜ ì•„ë°”íƒ€"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{default_branch} 로부터 %{number_commits_behind} commits behind, %{number_commits_ahead} commits ahead"
@@ -464,6 +475,9 @@ msgstr[0] "%{text} %{files} 파ì¼"
msgid "%{text} is available"
msgstr "%{text} 사용 가능"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -720,12 +734,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm... @ example.com\"</code> ì€
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> ì€ ì›ëž˜ johnsmith@example.comì´ ìƒì„±í•œ 모든 ì´ìŠˆì™€ 주ì„ì— \"By <a href=\"#\">johnsmith@example.com</a>\"ì„ ì¶”ê°€í•©ë‹ˆë‹¤. 기본ì ìœ¼ë¡œ ì´ë©”ì¼ ì£¼ì†Œ ë˜ëŠ” ì‚¬ìš©ìž ì´ë¦„ì€ ê°€ë ¤ì ¸ 있어서 사용ìžì˜ ê°œì¸ì •ë³´ë¥¼ 보호합니다. ì „ì²´ ì „ìž ë©”ì¼ ì£¼ì†Œë¥¼ 표시하려면 ì´ ì˜µì…˜ì„ ì‚¬ìš©í•˜ì‹­ì‹œì˜¤."
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "<strong>%{group_name}</strong> 그룹 멤버"
@@ -759,6 +779,9 @@ msgstr "ì´ë©”ì¼ ì£¼ì†Œë¥¼ ì‚¬ìš©í•˜ì—¬ì´ GitLab ì„¤ì¹˜ì— ëŒ€í•´ Let 's Encry
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "빈 프로ì íŠ¸ì—서는 기본 브랜치를 ì„ íƒí•  수 없습니다."
@@ -975,6 +998,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr "재설정"
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -984,6 +1013,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "계정"
@@ -1225,6 +1257,9 @@ msgstr ""
msgid "Added at"
msgstr "ì— ì¶”ê°€ë¨"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1595,6 +1630,72 @@ msgid "Alert"
msgid_plural "Alerts"
msgstr[0] "알림"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1664,6 +1765,9 @@ msgstr "모든 프로ì íŠ¸"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "모든 사용ìž"
@@ -1682,6 +1786,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1790,6 +1897,9 @@ msgstr "새로운 ê·œì¹™ì— ëŒ€í•œ 승ì¸ìž 목ë¡ì„ 가져오는 ë„중 오ë¥
msgid "An error occurred fetching the dropdown data."
msgstr "드롭다운 ë°ì´í„°ë¥¼ 가져오는 ë„중 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤."
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "BLOB 미리보기 ì¤‘ì— ì˜¤ë¥˜ê°€ ë°œìƒí–ˆìŠµë‹ˆë‹¤."
@@ -1871,6 +1981,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr "사ì´ë“œë°” ë°ì´í„°ë¥¼ 가져오는 중 문제가 ë°œìƒí–ˆìŠµë‹ˆë‹¤."
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2108,6 +2221,9 @@ msgstr "안티 스팸 ê²€ì¦"
msgid "Any"
msgstr "Any"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "모든 ë¼ë²¨"
@@ -2319,10 +2435,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2352,6 +2468,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "ì •ë§ë¡œ ì´ ë¹Œë“œë¥¼ 지우시겠습니까?"
@@ -2527,6 +2646,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2564,6 +2686,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "8ì›”"
@@ -2846,9 +2989,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr "모든 보류 ì¤‘ì— ìžˆëŠ” 커맨트 ì‚­ì œ"
@@ -2978,6 +3118,9 @@ msgstr ""
msgid "Boards"
msgstr "보드"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3197,6 +3340,9 @@ msgstr "EE 구입"
msgid "Buy GitLab Enterprise Edition"
msgstr "GitLab Enterprise Edition 구입"
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr "%{user_name} ì˜í•´ì„œ"
@@ -3317,6 +3463,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3485,6 +3634,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3521,9 +3673,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3539,9 +3688,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr "다시 확ì¸"
@@ -3992,9 +4138,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "아래 프로ì íŠ¸ 목ë¡ì—ì„œ <strong>프로ì íŠ¸ ì´ë¦„</strong>ì„ ëˆŒëŸ¬ 프로ì íŠ¸ 마ì¼ìŠ¤í†¤ì„ 봅니다."
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "<strong>다운로드</strong> ë²„íŠ¼ì„ í´ë¦­í•˜ê³  다운로드가 완료 ë  ë•Œê¹Œì§€ 기다려 주세요."
@@ -4382,6 +4525,12 @@ msgstr "프로ì íŠ¸ 가져오기"
msgid "ClusterIntegration|Fetching zones"
msgstr "ì˜ì—­ 가져오기"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "GitLab 통합"
@@ -4688,6 +4837,15 @@ msgstr "설치 시작 요청 실패"
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "변경 ì‚¬í•­ì„ ì €ìž¥"
@@ -4784,6 +4942,12 @@ msgstr "ClusterIntegration|지역 ì„ íƒ"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5211,18 +5375,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5370,9 +5549,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5385,6 +5570,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5394,18 +5582,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5427,9 +5609,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5445,12 +5624,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "저장소 제거"
@@ -5464,22 +5655,22 @@ msgstr[0] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5488,16 +5679,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr "태그"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5518,16 +5718,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5782,7 +5982,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr "채팅 닉네임 %{chat_name}(ì„)를 삭제할 수 없습니다."
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5797,6 +5997,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5854,6 +6057,9 @@ msgstr ""
msgid "Create a new branch"
msgstr "새 브랜치 ìƒì„±"
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -5959,6 +6165,9 @@ msgstr "새로운 프로ì íŠ¸ ë¼ë²¨"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -5980,6 +6189,9 @@ msgstr "ê°œì¸ ì•¡ì„¸ìŠ¤ í† í° ë§Œë“¤ê¸°"
msgid "Created"
msgstr "ìƒì„±ë¨"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr "ìƒì„± 위치"
@@ -6335,6 +6547,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6695,6 +6910,9 @@ msgstr "ë°°í¬ í‚¤"
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6848,6 +7066,9 @@ msgstr "ë°°í¬ë¨"
msgid "Deploying to"
msgstr "다ìŒì— ë°°í¬ì¤‘: "
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7365,9 +7586,6 @@ msgstr ""
msgid "Edit environment"
msgstr "환경 편집"
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr "íŒŒì¼ ìˆ˜ì •"
@@ -7989,9 +8207,6 @@ msgstr ""
msgid "Epics"
msgstr "ì—픽"
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr "ì—픽 로드맵"
@@ -8001,6 +8216,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8052,6 +8270,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8106,6 +8327,9 @@ msgstr "ë¼ë²¨ì„ 가져 오는 중 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤."
msgid "Error fetching network graph."
msgstr "ë„¤íŠ¸ì›Œí¬ ê·¸ëž˜í”„ ë°˜ì˜ ì¤‘ 오류"
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8115,9 +8339,6 @@ msgstr "refs ë°˜ì˜ ì¤‘ 오류"
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr "사용 í•‘ ë°ì´í„° ë°˜ì˜ ì¤‘ 오류"
-
msgid "Error loading branch data. Please try again."
msgstr "브랜치 ë°ì´í„°ë¥¼ 로드하는 중 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. 다시 ì‹œë„하십시오."
@@ -8259,6 +8480,9 @@ msgstr ""
msgid "Errors"
msgstr "오류"
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr "예ìƒ"
@@ -8463,12 +8687,18 @@ msgstr "공개 그룹 íƒìƒ‰"
msgid "Export as CSV"
msgstr "CSV로 내보내기"
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr "ì´ìŠˆ 내보내기"
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8538,9 +8768,6 @@ msgstr "실패"
msgid "Failed Jobs"
msgstr "작업 실패"
-msgid "Failed create wiki"
-msgstr "wiki를 만들지 못했습니다."
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8580,6 +8807,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8589,7 +8819,7 @@ msgstr "ì— ë°°í¬í•˜ì§€ 못했습니다."
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8613,6 +8843,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -8988,7 +9224,10 @@ msgstr "커밋 메시지로 필터"
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9000,12 +9239,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9294,10 +9539,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr "ì²´í¬ì„¬ë¨"
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9339,6 +9584,9 @@ msgstr "커서로 ì²˜ë¦¬ëœ ë§ˆì§€ë§‰ ì´ë²¤íŠ¸ ID"
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr "노드 불러오는 중"
@@ -9354,6 +9602,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr "노드가 성공ì ìœ¼ë¡œ ì‚­ì œë˜ì—ˆìŠµë‹ˆë‹¤."
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr "ì²´í¬ì„¬ ë˜ì§€ ì•ŠìŒ"
@@ -9384,7 +9635,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9411,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr "미확ì¸"
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9450,16 +9707,16 @@ msgstr ""
msgid "Geo|All"
msgstr "Geo| ì „ì²´"
+msgid "Geo|All %{replicable_type}"
+msgstr ""
+
msgid "Geo|All projects"
msgstr "모든 프로ì íŠ¸"
-msgid "Geo|All projects are being scheduled for re-sync"
-msgstr ""
-
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9471,9 +9728,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr "실패"
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9498,9 +9761,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9537,7 +9797,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9546,7 +9806,7 @@ msgstr "ìž¬ì‹œë„ íšŸìˆ˜"
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9888,9 +10148,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10335,6 +10592,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10413,6 +10673,9 @@ msgstr "그룹들"
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10676,15 +10939,12 @@ msgstr "ID"
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
-msgstr "CodeSandbox client side evaluation를 사용하여 Web IDEì—ì„œ JavaScript 프로ì íŠ¸ì˜ 실시간 미리보기를 허용합니다."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
+msgstr ""
msgid "IDE|Back"
msgstr "뒤로"
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr "커밋"
@@ -10748,6 +11008,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10787,6 +11050,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10898,6 +11164,9 @@ msgstr "GitHub으로 부터 저장소 가져오기"
msgid "Import repository"
msgstr "저장소 가져 오기"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -10964,6 +11233,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11310,15 +11582,15 @@ msgstr ""
msgid "Issues"
msgstr "ì´ìŠˆ"
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr "ì´ìŠˆëŠ” 버그, ìž‘ì—… í˜¹ì€ ë…¼ì˜í•  ì•„ì´ë””ì–´ì¼ ìˆ˜ 있습니다. 그리고, ì´ìŠˆëŠ” 검색 ë° í•„í„°ë§ ê°€ëŠ¥í•©ë‹ˆë‹¤."
@@ -11340,10 +11612,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11397,6 +11669,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11785,6 +12060,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11797,6 +12075,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr "ë” ì•Œì•„ë³´ê¸°"
@@ -12123,9 +12404,6 @@ msgstr "Bitbucket Server 저장소 목ë¡"
msgid "Live preview"
msgstr "실시간 미리보기"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12276,9 +12554,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr "웹 IDE 기능 관리"
@@ -12309,6 +12584,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr "Manifest"
@@ -12573,6 +12851,9 @@ msgstr "머지 리퀘스트(MR) ìƒì„±ë¨"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12726,6 +13007,12 @@ msgstr "머지ë¨"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12832,12 +13119,15 @@ msgid "Metrics|Edit metric"
msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
-msgid "Metrics|Environment"
-msgstr "환경"
+msgid "Metrics|Expand panel"
+msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12868,9 +13158,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -12949,6 +13236,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13392,10 +13682,10 @@ msgstr ""
msgid "Next"
msgstr "다ìŒ"
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13455,6 +13745,9 @@ msgstr "변경 사항 ì—†ìŒ"
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr "Gitaly Serverì— ì—°ê²°í•  수 없습니다. 로그를 확ì¸í•˜ì‹­ì‹œì˜¤!"
@@ -13593,15 +13886,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13725,6 +14009,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "알림 ì´ë²¤íŠ¸"
@@ -13896,6 +14183,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -13996,9 +14286,6 @@ msgstr ""
msgid "Open sidebar"
msgstr "사ì´ë“œë°” 열기"
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14101,6 +14388,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "개요"
@@ -14152,6 +14442,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14173,6 +14466,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14206,6 +14502,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14215,6 +14517,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14233,12 +14538,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14275,6 +14586,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14290,6 +14604,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr "패키지"
@@ -14383,6 +14700,9 @@ msgstr "비밀번호가 성공ì ìœ¼ë¡œ ì—…ë°ì´íŠ¸ë˜ì—ˆìŠµë‹ˆë‹¤. 새 비밀ë
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14398,9 +14718,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr "경로:"
@@ -14431,8 +14748,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "경로 변경, 그룹 전송 ë˜ëŠ” 제거와 ê°™ì€ ê³ ê¸‰ ì˜µì…˜ì„ ìˆ˜í–‰í•©ë‹ˆë‹¤."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr ""
@@ -14512,9 +14829,6 @@ msgstr "파ì´í”„ë¼ì¸ 스케쥴"
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr "파ì´í”„ë¼ì¸ 할당량"
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14524,6 +14838,9 @@ msgstr "파ì´í”„ë¼ì¸ 트리거"
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "실패 :"
@@ -14602,15 +14919,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14632,12 +14940,15 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr "파ì´í”„ ë¼ì¸ìœ¼ë¡œ 시작하기"
-msgid "Pipelines|Loading Pipelines"
-msgstr "파ì´í”„ë¼ì¸ 로딩중"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
+msgid "Pipelines|Loading Pipelines"
+msgstr "파ì´í”„ë¼ì¸ 로딩중"
+
msgid "Pipelines|Project cache successfully reset."
msgstr "프로ì íŠ¸ ìºì‹œê°€ 성공ì ìœ¼ë¡œ 재설정ë˜ì—ˆìŠµë‹ˆë‹¤."
@@ -14866,6 +15177,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -14911,6 +15225,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr "저장소를 가져오는 ë™ì•ˆ 기다려주십시오. 완료ë˜ë©´ ìžë™ìœ¼ë¡œ 페ì´ì§€ë¥¼ 새로고침 합니다."
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15028,7 +15345,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15049,10 +15366,10 @@ msgstr "페ì´ë¡œë“œ 미리보기"
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15085,6 +15402,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr "비공개 프로ì íŠ¸ëŠ” ê°œì¸ ë„¤ìž„ìŠ¤íŽ˜ì´ìŠ¤ì—ì„œ 만들어집니다:"
@@ -15913,6 +16233,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -15976,6 +16299,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16195,15 +16521,15 @@ msgstr "Prometheus API 기반 URL, 예를 들면 http://prometheus.example.com/"
msgid "PrometheusService|Prometheus is being automatically managed on your clusters"
msgstr "ë‹¹ì‹ ì˜ í´ëŸ¬ìŠ¤í„°ì—ì„œ Prometheusê°€ ìžë™ìœ¼ë¡œ 관리ë˜ê³  있습니다."
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
+msgstr ""
+
msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment"
msgstr ""
msgid "PrometheusService|Time-series monitoring service"
msgstr "시간 계열 ëª¨ë‹ˆí„°ë§ ì„œë¹„ìŠ¤"
-msgid "PrometheusService|To enable manual configuration, uninstall Prometheus from your clusters"
-msgstr "ìˆ˜ë™ ì„¤ì •ì„ í™œì„±í™” 하려면, í´ëŸ¬ìŠ¤í„°ì—ì„œ Prometheus를 제거하십시오."
-
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
msgstr "í´ëŸ¬ìŠ¤í„°ì— Prometheus를 설치하려면, 아래 ìˆ˜ë™ ì„¤ì •ì„ ë¹„í™œì„±í™” 하십시오."
@@ -16387,6 +16713,9 @@ msgstr ""
msgid "Protip:"
msgstr "Protip:"
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr "공급ìž"
@@ -16411,6 +16740,9 @@ msgstr ""
msgid "Public pipelines"
msgstr "공용 파ì´í”„ ë¼ì¸"
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr "Pull"
@@ -16610,6 +16942,9 @@ msgid "Refreshing in a second to show the updated status..."
msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -16986,9 +17321,28 @@ msgstr "ë³´ê³ "
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr "ìž‘ì—…"
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr "í´ëž˜ìŠ¤"
@@ -17094,7 +17448,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17276,6 +17630,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17343,6 +17700,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17391,6 +17751,9 @@ msgstr ""
msgid "Runner token"
msgstr "Runner 토í°"
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17445,6 +17808,9 @@ msgstr "SAML SSO"
msgid "SAML SSO for %{group_name}"
msgstr "%{group_name}ì˜ SAML SSO"
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17529,12 +17895,18 @@ msgstr "새로운 파ì´í”„ë¼ì¸ 스케줄 잡기"
msgid "Scheduled"
msgstr "예정ë¨"
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr "ì¼ì •"
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17592,6 +17964,9 @@ msgstr "브랜치 검색"
msgid "Search branches and tags"
msgstr "브랜치 ë° íƒœê·¸ 검색"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr "íŒŒì¼ ê²€ìƒ‰"
@@ -17729,10 +18104,6 @@ msgid "SearchResults|snippet"
msgid_plural "SearchResults|snippets"
msgstr[0] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17741,6 +18112,9 @@ msgid "SearchResults|wiki result"
msgid_plural "SearchResults|wiki results"
msgstr[0] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17768,184 +18142,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr "보안 대시보드"
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
-msgstr "ì´ìŠˆ ìƒì„±"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
-msgstr "ì·¨ì•½ì  ë¬´ì‹œ"
+msgid "SecurityConfiguration|Not yet configured"
+msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
-msgstr "ë” ë§Žì€ ì •ë³´"
+msgid "SecurityReports|Add a project to your dashboard"
+msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
-msgstr "ì´ìŠˆë¥¼ ìƒì„± í•˜ë˜ ì¤‘ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgstr ""
+
+msgid "SecurityReports|Project"
+msgstr ""
+
+msgid "SecurityReports|Projects added"
+msgstr ""
+
+msgid "SecurityReports|Remove project from dashboard"
+msgstr ""
+
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
-msgstr "코드 ì·¨ì•½ì  ëª¨ë‹ˆí„°ë§"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgstr ""
+
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error adding the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error creating the issue."
+msgstr ""
+
+msgid "SecurityReports|There was an error creating the merge request."
+msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Undo dismiss"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|Won't fix / Accept risk"
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -17957,6 +18379,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr "ì„ íƒ"
@@ -18362,9 +18787,6 @@ msgstr "CI/CD 설정"
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18449,6 +18871,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18762,6 +19187,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -18903,6 +19331,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19188,6 +19619,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19311,6 +19745,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19320,18 +19757,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19389,6 +19838,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19737,6 +20192,12 @@ msgstr "ì •ë³´ ë™ê¸°í™”"
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19890,6 +20351,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "템플릿"
@@ -20193,6 +20657,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20514,6 +20981,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr "ì‚¬ìš©ìž í™œë™ ìº˜ë¦°ë”를 로딩하는 ì¤‘ì— ì˜¤ë¥˜ê°€ ë°œìƒí•˜ì˜€ìŠµë‹ˆë‹¤."
@@ -20529,7 +20999,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20592,6 +21062,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr "%{link}를 사용하여 관리 할 수 ​​있습니다."
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr "타사 제공"
@@ -20628,6 +21101,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr "ì´ ì‘ìš© í”„ë¡œê·¸ëž¨ì€ ë‹¤ìŒì„ 수행 í•  수 있습니다."
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20769,6 +21245,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr "ì´ ì´ìŠˆëŠ” 비밀입니다."
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "ì´ ì´ìŠˆëŠ” lock ë˜ì—ˆìŠµë‹ˆë‹¤."
@@ -20967,7 +21449,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -20997,10 +21482,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21033,7 +21518,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21102,6 +21587,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr "ë‚¨ì€ ì‹œê°„"
@@ -21284,7 +21772,7 @@ msgstr "제목"
msgid "Title:"
msgstr "제목:"
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21491,7 +21979,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21653,6 +22141,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr "GitLabì´ ì œê³µí•˜ëŠ” 모든 ê¸°ëŠ¥ì„ 30ë™ì•ˆ 사용해 보세요."
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21746,6 +22237,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22687,6 +23181,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr "GitLabì—ì„œ 보기"
@@ -22864,6 +23361,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -22894,6 +23400,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -22927,7 +23436,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -22981,9 +23493,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr "ì •ë§ ë‹¹ì‹ ì´ ë§žëŠ”ì§€ 확ì¸í•˜ê³  싶습니다, ë‹¹ì‹ ì´ ë¡œë´‡ì´ ì•„ë‹ˆë¼ëŠ” ê²ƒì„ í™•ì¸í•´ì£¼ì‹­ì‹œì˜¤."
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23087,15 +23605,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23126,9 +23635,6 @@ msgstr ""
msgid "Wiki"
msgstr "위키"
-msgid "Wiki pages"
-msgstr "위키 페ì´ì§€"
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23312,6 +23818,9 @@ msgstr ""
msgid "Yes, add it"
msgstr "네, 추가합니다."
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr "네, Google code 사용ìžë¥¼ ì´ë¦„ì´ë‚˜ GitLab 사용ìžì— 연결하겠습니다."
@@ -23507,6 +24016,9 @@ msgstr "ì½ê¸° ì „ìš© GitLab ì¸ìŠ¤í„´ìŠ¤ì—는 쓰기가 불가능합니다."
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23573,6 +24085,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr "ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤."
@@ -23654,6 +24169,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23738,9 +24256,21 @@ msgstr ""
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23837,6 +24367,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23876,6 +24409,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -23894,12 +24430,18 @@ msgstr "ë‚´ 프로ì íŠ¸"
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -23937,7 +24479,7 @@ msgstr "ì „"
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24015,6 +24557,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24173,6 +24718,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr "SAST"
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24366,6 +24917,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24527,9 +25081,6 @@ msgstr[0] "머지 리퀘스트(MR)"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24866,6 +25417,9 @@ msgstr "새 머지 리퀘스트(MR)"
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -24916,6 +25470,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -24942,6 +25499,12 @@ msgstr[0] "프로ì íŠ¸"
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25087,10 +25650,6 @@ msgstr ""
msgid "this document"
msgstr "ì´ ë¬¸ì„œ"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25145,6 +25704,9 @@ msgstr "GitLabì—ì„œ 보기"
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/ku_TR/gitlab.po b/locale/ku_TR/gitlab.po
index 291c0499c73..22c00156333 100644
--- a/locale/ku_TR/gitlab.po
+++ b/locale/ku_TR/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: ku\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:25\n"
+"PO-Revision-Date: 2020-05-05 21:13\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/mn_MN/gitlab.po b/locale/mn_MN/gitlab.po
index d79ba180c2e..3a745563dcd 100644
--- a/locale/mn_MN/gitlab.po
+++ b/locale/mn_MN/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: mn\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:25\n"
+"PO-Revision-Date: 2020-05-05 21:11\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/nb_NO/gitlab.po b/locale/nb_NO/gitlab.po
index dbb95441d9f..ca5cac0c94e 100644
--- a/locale/nb_NO/gitlab.po
+++ b/locale/nb_NO/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: nb\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:26\n"
+"PO-Revision-Date: 2020-05-05 21:33\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/nl_NL/gitlab.po b/locale/nl_NL/gitlab.po
index ccf7d8dd411..97baedb5c41 100644
--- a/locale/nl_NL/gitlab.po
+++ b/locale/nl_NL/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: nl\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:31\n"
+"PO-Revision-Date: 2020-05-05 21:35\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "%{name};'s avatar"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind} commits achter %{default_branch}, %{number_commits_ahead} commits voor"
@@ -506,6 +519,9 @@ msgstr[1] "%{text}%{files} bestanden"
msgid "%{text} is available"
msgstr "%{text} is beschikbaar"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -654,8 +670,8 @@ msgstr[1] ""
msgid "1 closed issue"
msgid_plural "%{issues} closed issues"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "1 gesloten issue"
+msgstr[1] "%{issues} gesloten issues"
msgid "1 closed merge request"
msgid_plural "%{merge_requests} closed merge requests"
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Account"
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/pa_IN/gitlab.po b/locale/pa_IN/gitlab.po
index a1ee84e7fa0..1b1d8f9bd99 100644
--- a/locale/pa_IN/gitlab.po
+++ b/locale/pa_IN/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: pa-IN\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:26\n"
+"PO-Revision-Date: 2020-05-05 21:35\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/pl_PL/gitlab.po b/locale/pl_PL/gitlab.po
index 58fb761bfab..b63db54190f 100644
--- a/locale/pl_PL/gitlab.po
+++ b/locale/pl_PL/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: pl\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:26\n"
+"PO-Revision-Date: 2020-05-05 21:35\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -272,6 +272,13 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -443,6 +450,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -455,6 +465,13 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -590,6 +607,9 @@ msgstr[3] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -903,12 +923,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -942,6 +968,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1158,6 +1187,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1167,6 +1202,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1411,6 +1449,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1784,6 +1825,72 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1853,6 +1960,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1871,6 +1981,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1979,6 +2092,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -2060,6 +2176,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2297,6 +2416,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2520,10 +2642,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2553,6 +2675,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "Czy na pewno chcesz usunąć tę kompilację?"
@@ -2731,6 +2856,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2771,6 +2899,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -3053,9 +3202,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3185,6 +3331,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3404,6 +3553,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3524,6 +3676,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3692,6 +3847,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3728,9 +3886,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3746,9 +3901,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4199,9 +4351,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4589,6 +4738,12 @@ msgstr "Pobieranie projektów"
msgid "ClusterIntegration|Fetching zones"
msgstr "Pobieranie stref"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4895,6 +5050,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4991,6 +5155,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5421,18 +5591,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5580,9 +5765,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5595,6 +5786,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5604,18 +5798,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5637,9 +5825,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5655,12 +5840,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5677,22 +5874,22 @@ msgstr[3] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5701,16 +5898,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5731,16 +5937,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5995,7 +6201,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -6010,6 +6216,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -6067,6 +6276,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6172,6 +6384,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6193,6 +6408,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6551,6 +6769,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6929,6 +7150,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7082,6 +7306,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7602,9 +7829,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8226,9 +8450,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8238,6 +8459,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8289,6 +8513,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8343,6 +8570,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8352,9 +8582,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8496,6 +8723,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8700,12 +8930,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8775,9 +9011,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8817,6 +9050,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8826,7 +9062,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8850,6 +9086,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9225,7 +9467,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9237,12 +9482,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9531,10 +9782,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9576,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9591,6 +9845,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9621,7 +9878,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9648,6 +9908,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9687,16 +9950,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9708,9 +9971,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9735,9 +10004,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9774,7 +10040,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9783,7 +10049,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10125,9 +10391,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10572,6 +10835,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10650,6 +10916,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10919,15 +11188,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10991,6 +11257,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -11030,6 +11299,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11141,6 +11413,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11207,6 +11482,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11556,15 +11834,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11586,10 +11864,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11643,6 +11921,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -12034,6 +12315,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -12046,6 +12330,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12387,9 +12674,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12540,9 +12824,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12573,6 +12854,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12837,6 +13121,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12990,6 +13277,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13099,12 +13392,15 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13135,9 +13431,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13216,6 +13509,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13665,10 +13961,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13728,6 +14024,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13866,15 +14165,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13998,6 +14288,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14169,6 +14462,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14272,9 +14568,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14377,6 +14670,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14428,6 +14724,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14449,6 +14748,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14482,6 +14784,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14491,6 +14799,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14509,12 +14820,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14551,6 +14868,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14566,6 +14886,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14659,6 +14982,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14674,9 +15000,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14707,7 +15030,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14788,9 +15111,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14800,6 +15120,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14878,15 +15201,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14908,10 +15222,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15142,6 +15459,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15187,6 +15507,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15304,7 +15627,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15325,10 +15648,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15361,6 +15684,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16189,6 +16515,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16252,6 +16581,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16471,13 +16803,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16663,6 +16995,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16687,6 +17022,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16889,6 +17227,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17268,9 +17609,31 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17376,7 +17739,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17564,6 +17927,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17634,6 +18000,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17682,6 +18051,9 @@ msgstr "Runner uruchamia zadania z przypisanych projektów"
msgid "Runner token"
msgstr "Token robotnika"
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17736,6 +18108,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17820,12 +18195,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17883,6 +18264,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -18044,13 +18428,6 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -18065,6 +18442,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -18092,184 +18472,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18281,6 +18709,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18686,9 +19117,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18773,6 +19201,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -19089,6 +19520,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19230,6 +19664,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr "Coś poszło nie tak, nie można dodać %{project} do pulpitu nawigacyjnego"
@@ -19515,6 +19952,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr "Oznacz etykietę gwiazdką, by nadać jej status priorytetowy. Zorganizuj etykiety priorytetowe celem zmiany ich względnej ważności, poprzez przeciągnięcie."
@@ -19638,6 +20078,9 @@ msgstr "Określ swoją wiadomość, aby aktywować"
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19647,18 +20090,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19716,6 +20171,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -20064,6 +20525,12 @@ msgstr "Synchronizuj informacje"
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20217,6 +20684,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20529,6 +20999,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20850,6 +21323,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20865,7 +21341,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20928,6 +21404,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20964,6 +21443,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -21105,6 +21587,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21303,7 +21791,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21333,10 +21824,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21369,7 +21860,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21438,6 +21929,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21626,7 +22120,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21833,7 +22327,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21995,6 +22489,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -22088,6 +22585,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -23035,6 +23535,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23212,6 +23715,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23242,6 +23754,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23275,7 +23790,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23329,9 +23847,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23438,15 +23962,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23477,9 +23992,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23663,6 +24175,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23858,6 +24373,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23924,6 +24442,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -24005,6 +24526,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -24089,9 +24613,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24188,6 +24724,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24227,6 +24766,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24245,12 +24787,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24291,7 +24839,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24369,6 +24917,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24542,6 +25093,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24747,6 +25304,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24914,9 +25474,6 @@ msgstr[3] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25253,6 +25810,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25309,6 +25869,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25341,6 +25904,12 @@ msgstr[3] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25489,13 +26058,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25550,6 +26112,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/pt_BR/gitlab.po b/locale/pt_BR/gitlab.po
index 9565027da4d..156cac9c516 100644
--- a/locale/pt_BR/gitlab.po
+++ b/locale/pt_BR/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: pt-BR\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:26\n"
+"PO-Revision-Date: 2020-05-05 21:33\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText}, essa issue foi fechada automaticamente."
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} continha %{resultsString}"
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "Avatar de %{name}"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
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"
@@ -506,6 +519,9 @@ msgstr[1] "%{text} %{files} arquivos"
msgid "%{text} is available"
msgstr "%{text} está disponível"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -781,12 +797,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> adicio
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> adicionará \"Por <a href=\"#\">johnsmith@example.com</a>\" a todas as issues e comentários originalmente criados por johnsmith@example.com. Por padrão, o endereço de e-mail ou nome de usuário é mascarado para garantir a privacidade do usuário. Use esta opção se você quiser mostrar o endereço de e-mail completo."
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<nenhum nome definido>"
msgid "<no scopes selected>"
msgstr "<nenhum escopo selecionado>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "Membros do grupo <strong>%{group_name}</strong>"
@@ -820,6 +842,9 @@ msgstr "Uma conta Let's Encrypt será configurada para esta instalação do GitL
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "Um branch padrão não pode ser escolhido para um projeto vazio."
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr "redefini-lo"
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Conta"
@@ -1287,6 +1321,9 @@ msgstr "Adicionado um issue a um épico."
msgid "Added at"
msgstr "Adicionado em"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr "Adicionado nesta versão"
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] "Alerta"
msgstr[1] "Alertas"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr "Todos os projetos"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "Todos os usuários"
@@ -1745,6 +1851,9 @@ msgstr "Permitir que proprietários de grupos gerenciem configurações relacion
msgid "Allow only the selected protocols to be used for Git access."
msgstr "Permitir que apenas os protocolos selecionados sejam usados para acesso ao Git."
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr "Ocorreu um erro ao buscar os aprovadores da nova regra."
msgid "An error occurred fetching the dropdown data."
msgstr "Erro ao buscar os dados do dropdown."
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "Erro ao pré-visualizar o blob"
@@ -1934,6 +2046,9 @@ msgstr "Ocorreu um erro ao buscar o autocomplemento de projetos."
msgid "An error occurred while fetching sidebar data"
msgstr "Erro ao recuperar informações da barra lateral"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr "Um erro ocorreu ao consultar o endereço da Central de Serviços."
@@ -2171,6 +2286,9 @@ msgstr "Verificação anti-spam"
msgid "Any"
msgstr "Qualquer um"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "Qualquer etiqueta"
@@ -2386,12 +2504,12 @@ msgstr "Tem certeza que deseja arquivar este projeto?"
msgid "Are you sure that you want to unarchive this project?"
msgstr "Tem certeza que deseja desarquivar este projeto?"
-msgid "Are you sure you want to cancel creating this comment?"
-msgstr "Tem certeza de que deseja cancelar a criação deste comentário?"
-
msgid "Are you sure you want to cancel editing this comment?"
msgstr "Tem certeza de que deseja cancelar a edição deste comentário?"
+msgid "Are you sure you want to close this blocked issue?"
+msgstr ""
+
msgid "Are you sure you want to delete %{name}?"
msgstr ""
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "Tem certeza de que deseja limpar este build?"
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr "Pelo menos uma aprovação de um proprietário do código é necessária para alterar arquivos que coincidem com as respectivas regras CODEOWNER."
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "Ago"
@@ -2915,9 +3060,6 @@ msgstr "URL raiz de bambu como https://bamboo.exemplo.com"
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr "Você precisa configurar etiquetas de revisão automáticas e um gatilho de repositório no Bamboo."
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr "Excluir todos os comentários pendentes"
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr "Painéis"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr "Recolher"
@@ -3266,6 +3411,9 @@ msgstr "Comprar EE"
msgid "Buy GitLab Enterprise Edition"
msgstr "Comprar GitLab Edição Enterprise"
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr "Por %{user_name}"
@@ -3386,6 +3534,9 @@ msgstr "Não é possível remover membros do grupo sem uma conta gerenciada do g
msgid "Can't scan the code?"
msgstr "Não consegue escanear o código?"
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr "Verifique Novamente"
@@ -4061,9 +4209,6 @@ msgstr "Limpa o peso."
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "Clique em qualquer <strong>nome de projeto</strong> na lista a seguir para navegar para o marco do projeto."
-msgid "Click here"
-msgstr "Clique aqui"
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "Clique no botão <strong>Baixar</strong> e aguarde a conclusão do download."
@@ -4451,6 +4596,12 @@ msgstr "Recuperando projetos"
msgid "ClusterIntegration|Fetching zones"
msgstr "Recuperando zonas"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "Integração GitLab"
@@ -4757,6 +4908,15 @@ msgstr "Solicitação para início de instalação falhou"
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr "Solicitação para início de desinstalação falhou"
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "Salvar alterações"
@@ -4853,6 +5013,12 @@ msgstr "Selecione a zona"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "Selecione a zone para escolher o tipo de máquina"
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr "Token de serviço"
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr "Início rápido"
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "Apagar repositório"
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr "Tag"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr "Não foi possível excluir o apelido de bate-papo %{chat_name}."
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr "Criar uma nova branch"
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr "Criar etiqueta de projeto"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr "criar um token de acesso pessoal"
msgid "Created"
msgstr "Feito"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr "Criado em"
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6773,6 +6990,9 @@ msgstr "Chaves para deploy"
msgid "Deploy key was successfully updated."
msgstr "A chave de deploy foi atualizada com sucesso."
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr "Deploy para"
msgid "Deploying to"
msgstr "Fazer deploy para"
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr "Editar ambiente"
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr "Editar arquivo"
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr "Epics"
-msgid "Epics (Ultimate / Gold license only)"
-msgstr "Épicos (apenas licenças Ultimate / Gold)"
-
msgid "Epics Roadmap"
msgstr "Roadmap de epics"
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr "Epics permitem gerenciar seu portfólio de projetos de forma mais eficiente e com menos esforço"
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr "Adicionar um épico"
@@ -8131,6 +8351,9 @@ msgstr "Algo deu errado ao buscar épicos filhos."
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr "Erro ao carregar etiquetas."
msgid "Error fetching network graph."
msgstr "Erro ao recuperar gráfico de rede."
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr "Erro ao obter projetos"
@@ -8194,9 +8420,6 @@ msgstr "Erro ao recuperar refs"
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr "Erro ao recupera dados de ping."
-
msgid "Error loading branch data. Please try again."
msgstr "Erro ao carregar dados de branch. Por favor, tente novamente."
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr "Erros"
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr "Estimativa"
@@ -8542,12 +8768,18 @@ msgstr "Explorar grupos públicos"
msgid "Export as CSV"
msgstr "Exportar como CSV"
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr "Exportar issues"
msgid "Export project"
msgstr "Exportar projeto"
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr "Exporte este projeto com todos os dados relacionados para mover seu projeto para uma nova instância do GitLab. Quando a exportação estiver concluída, você poderá importar o arquivo da página \"Novo projeto\"."
@@ -8617,9 +8849,6 @@ msgstr "Falha"
msgid "Failed Jobs"
msgstr "Tarefas com falha"
-msgid "Failed create wiki"
-msgstr "Falha ao criar wiki"
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr "Falha ao criar recursos"
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr "Falha ao fazer deploy para"
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr "Falha ao carregar branches relacionados"
@@ -9067,7 +9305,10 @@ msgstr "Filtrar por mensagem de commit"
msgid "Filter by milestone name"
msgstr "Filtrar por nome de marco"
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr "Filtrar resultados por grupo"
msgid "Filter results by project"
msgstr "Filtrar resultados por projeto"
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr "Filtre seus projetos por nome"
@@ -9373,11 +9620,11 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr "Checksum verificado"
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
-msgstr "Os dados estão desatualizados de %{timeago}"
+msgid "GeoNodes|Container repositories"
+msgstr ""
msgid "GeoNodes|Data replication lag"
msgstr "Atraso de replicação de dados"
@@ -9418,6 +9665,9 @@ msgstr "O ID do último evento processado por cursor"
msgid "GeoNodes|Last event ID seen from primary"
msgstr "O ID do último evento visto do primário"
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr "Carregando nós"
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr "O nó foi removido com sucesso."
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr "Soma de verificação não conferida"
@@ -9463,8 +9716,11 @@ msgstr "Progresso de soma de verificação de repositório"
msgid "GeoNodes|Repository verification progress"
msgstr "Progresso de verificação de repositório"
-msgid "GeoNodes|Selective"
-msgstr "Seletivo"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
+msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
msgstr "Alguma coisa deu errada ao mudar o status do nó"
@@ -9490,6 +9746,9 @@ msgstr "Slots não usados"
msgid "GeoNodes|Unverified"
msgstr "Não verificado"
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr "Slots usados"
@@ -9529,17 +9788,17 @@ msgstr ""
msgid "Geo|All"
msgstr "Todos"
+msgid "Geo|All %{replicable_type}"
+msgstr ""
+
msgid "Geo|All projects"
msgstr "Todos os projetos"
-msgid "Geo|All projects are being scheduled for re-sync"
-msgstr "Todos os projetos estão sendo agendados para re-sincronização"
-
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
-msgstr "Operações em lote"
+msgid "Geo|All projects are being scheduled for reverify"
+msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
msgstr "Não foi possível remover o registro de rastreamento de um projeto existente."
@@ -9550,9 +9809,15 @@ msgstr "Não foi possível remover a entrada de rastreamento para um envio exist
msgid "Geo|Failed"
msgstr "Falha"
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr "Geo Status"
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr "Em sincronia"
@@ -9577,9 +9842,6 @@ msgstr "Próxima sincronização programada às"
msgid "Geo|Not synced yet"
msgstr "Ainda não sincronizado"
-msgid "Geo|Pending"
-msgstr "Pendente"
-
msgid "Geo|Pending synchronization"
msgstr "Sincronização pendente"
@@ -9616,8 +9878,8 @@ msgstr ""
msgid "Geo|Resync"
msgstr "Ressincronizar"
-msgid "Geo|Resync all projects"
-msgstr "Sincronizar novamente todos os projetos"
+msgid "Geo|Resync all"
+msgstr ""
msgid "Geo|Retry count"
msgstr "Contagem de retentativas"
@@ -9625,7 +9887,7 @@ msgstr "Contagem de retentativas"
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr "Ir para ambientes"
msgid "Go to file"
msgstr "Ir para arquivo"
-msgid "Go to file (MRs only)"
-msgstr "Ir para arquivo (apenas MRs)"
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr "Grupos"
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr "Grupos também podem ser aninhados criando %{subgroup_docs_link_start}subgrupos%{subgroup_docs_link_end}."
@@ -10757,15 +11022,12 @@ msgstr "ID"
msgid "ID:"
msgstr "ID:"
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
-msgstr "Permitir visualizações ao vivo de projetos JavaScript no Web IDE usando a avaliação do lado do cliente CodeSandbox."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
+msgstr ""
msgid "IDE|Back"
msgstr "Voltar"
-msgid "IDE|Client side evaluation"
-msgstr "Avaliação do lado do cliente"
-
msgid "IDE|Commit"
msgstr "Commit"
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr "Importar repositórios do GitHub"
msgid "Import repository"
msgstr "Importar repositório"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr "Na próxima etapa, você poderá selecionar os projetos que deseja importar."
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr "Issues"
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr "Issues podem ser bugs, tarefas ou ideias a serem discutidas. Além disso, issues são pesquisáveis e filtráveis."
@@ -11422,11 +11696,11 @@ msgstr "Depois que você começa a criar issues para seus projetos, podemos come
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
-msgstr "Issues criadas por mês"
+msgid "IssuesAnalytics|Issues opened per month"
+msgstr ""
msgid "IssuesAnalytics|Last 12 months"
msgstr "Últimos 12 meses"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr "Eventos para %{noteable_model_name} estão desabilitados."
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr "Aprenda GitLab"
@@ -11880,6 +12160,9 @@ msgstr "Aprenda como %{link_start}contribuir para os modelos embutidos%{link_end
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr "Saiba como %{no_packages_link_start}publicar e compartilhar seus pacotes%{no_packages_link_end} com o GitLab."
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr "Saiba mais"
@@ -12211,9 +12494,6 @@ msgstr "Liste seus repositórios do servidor Bitbucket"
msgid "Live preview"
msgstr "Pré-visualização ao vivo"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr "Gerenciar"
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr "Gerencie repositórios Git com controles de acesso refinados que mantêm seu código seguro. Realize revisões de código e aprimore a colaboração com merge requests. Cada projeto também pode ter um rastreador de issue e um wiki."
-
msgid "Manage Web IDE features"
msgstr "Gerenciar recursos do Web IDE"
@@ -12397,6 +12674,9 @@ msgstr "Gerenciar a autenticação de dois fatores"
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr "Manifesto"
@@ -12661,6 +12941,9 @@ msgstr "Merge Requests criadas"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr "Mensagem do commit de merge"
@@ -12814,6 +13097,12 @@ msgstr "Merge realizado"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr "Branches com merge realizado estão sendo excluídas. Isso pode levar algum tempo dependendo do número de branches. Por favor, atualize a página para ver as alterações."
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
-msgstr "Ambiente"
+msgid "Metrics|Expand panel"
+msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr "Para agrupar métricas similares"
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr "Documentação de consulta do Prometheus"
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr "Next"
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr "Sem alterarções"
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr "Nenhuma conexão pode ser feita para um servidor Gitaly, por favor check os logs!"
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr "Nada para pré-visualizar."
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "Eventos de notificação"
@@ -13987,6 +14276,9 @@ msgstr "Uma vez importados, os repositórios podem ser espelhados por SSH. Leia
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr "Uma vez removido, o relacionamento do fork não pode ser restaurando e você não poderá mais enviar merge requests para o repositório original."
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr "Quando o arquivo exportado estiver pronto, você receberá um e-mail de notificação com um link para download ou poderá fazer o download a partir desta página."
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr "Abrir barra lateral"
-msgid "Open source software to collaborate on code"
-msgstr "Software de código aberto para colaborar no código"
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "Visão geral"
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr "Pacotes"
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr "Atrasado"
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr "Caminho, transferir, remover"
-
msgid "Path:"
msgstr "Caminho:"
@@ -14523,8 +14842,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "Execute opções avançadas, como alterar o caminho, transferir ou remover o grupo."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr ""
@@ -14604,9 +14923,6 @@ msgstr "Agendamentos da Pipeline"
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr "Cota de pipeline"
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr "Gatilho de pipeline"
msgid "Pipeline: %{status}"
msgstr "Pipeline: %{status}"
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "Falhou:"
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr "API"
@@ -14724,12 +15034,15 @@ msgstr "A integração contínua pode ajudar a capturar bugs, executando seus te
msgid "Pipelines|Get started with Pipelines"
msgstr "Saiba como funcionam as pipelines"
-msgid "Pipelines|Loading Pipelines"
-msgstr "Carregando Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
+msgid "Pipelines|Loading Pipelines"
+msgstr "Carregando Pipelines"
+
msgid "Pipelines|Project cache successfully reset."
msgstr "Cache do projeto redefinido com sucesso."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr "Por favor, aguarde enquanto conectamos ao seu repositório. Atualize à
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr "Por favor, aguarde enquanto importamos o repositório para você. Atualize à vontade."
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr "Pré-visualização de carga"
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr "Grupo(s) privado(s)"
msgid "Private profile"
msgstr "Perfil privado"
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr "Projetos privados podem ser criados em seu namespace pessoal com:"
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ".NET Core"
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr "Spring"
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr "iOS (Swift)"
@@ -16287,15 +16615,15 @@ msgstr "URL da API base do Prometheus. como http://prometheus.example.com/"
msgid "PrometheusService|Prometheus is being automatically managed on your clusters"
msgstr "Prometheus está sendo automaticamente gerenciado nos seus clusters"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
+msgstr ""
+
msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment"
msgstr "Essas métricas serão monitoradas após sua primeira implantação para um ambiente"
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 "Para ativar a configuração manual, desinstale o Prometheus dos seus clusters"
-
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
msgstr "Para ativar a instalação do Prometheus nos seus clusters, desative a configuração manual abaixo"
@@ -16479,6 +16807,9 @@ msgstr "Seu ambiente foi desprotegido"
msgid "Protip:"
msgstr "Dicas:"
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr "Provedor"
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr "Pipelines públicos"
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr "Pull"
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] "Atualizando em um segundo para mostrar o status atualizado..."
msgstr[1] "Atualizando em %d segundos para mostrar o status atualizado..."
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr "Reportando"
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr "Ações"
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr "Classe"
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr "Solicitado %{time_ago}"
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr "O runner executa tarefas de projetos atribuídos"
msgid "Runner token"
msgstr "Token de runner"
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr "SAML SSO"
msgid "SAML SSO for %{group_name}"
msgstr "SAML SSO para %{group_name}"
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr "Agendar nova pipeline"
msgid "Scheduled"
msgstr "Agendado"
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr "Agendamentos"
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr "Pesquisar branches"
msgid "Search branches and tags"
msgstr "Procurar branch e tags"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr "Procurar arquivos"
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr "Painel de segurança"
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
-msgstr "Erro ao recuperar contagens de vulnerabilidades. Por favor, verifique sua conexão de rede e tente novamente."
+msgid "Security configuration help link"
+msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
-msgstr "Erro ao recuperar lista de vulnerabilidades. Por favor, verifique sua conexão de rede e tente novamente."
+msgid "Security dashboard"
+msgstr ""
-msgid "Security Dashboard|Issue Created"
-msgstr "Issue criado"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
-msgstr "Criar issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
-msgstr "Ignorar vulnerabilidade"
+msgid "SecurityConfiguration|Not yet configured"
+msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
-msgstr "Mais informações"
+msgid "SecurityReports|Add a project to your dashboard"
+msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
-msgstr "Ocorreu um erro ao criar a issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
-msgstr "Ocorreu um erro ao ignorar a vulnerabilidade."
+msgid "SecurityReports|Dismiss vulnerability"
+msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
-msgstr "Ocorreu um erro ao reverter o descarte."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
-msgstr "Ocorreu um erro ao reverter este descarte."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
-msgstr "Monitorar vulnerabilidades no seu código"
+msgid "SecurityReports|Remove project from dashboard"
+msgstr ""
+
+msgid "SecurityReports|Report type"
+msgstr ""
+
+msgid "SecurityReports|Return to dashboard"
+msgstr ""
+
+msgid "SecurityReports|Security Dashboard"
+msgstr ""
+
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
+msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr "Ver métricas"
msgid "See the affected projects in the GitLab admin panel"
msgstr "Veja os projetos afetados no painel de administração do GitLab"
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr "Selecionar"
@@ -18470,9 +18897,6 @@ msgstr "Configurar CI/CD"
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr "Algo deu errado, incapaz de adicionar %{project} ao dashboard"
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr "Coloque uma estrela em uma etiqueta para dar prioridade. Altere a ordem das etiquetas priorizadas arrastando-as para alterar sua prioridade."
@@ -19420,6 +19856,9 @@ msgstr "Regitre sua mensagem para ativar"
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr "Informação de sincronização"
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr "Sistema"
@@ -19999,6 +20462,9 @@ msgstr "Domínio da equipe"
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "Modelo"
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr "Erro ao carregar calendário de atividades."
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr "Eles podem ser gerenciados usando o %{link}."
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr "Ofertas de terceiros"
@@ -20740,6 +21215,9 @@ msgstr "Esse aplicativo foi criado por %{link_to_owner}."
msgid "This application will be able to:"
msgstr "Esse aplicativo será capaz de:"
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr "Essa issue é confidencial"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "Essa issue está bloqueada."
@@ -21079,7 +21563,10 @@ msgstr "Esse usuário será o autor de todos os eventos no feed de atividades qu
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr "Esse usuário será o autor de todos os eventos no feed de atividades que são o resultado de uma atualização, como novos branches sendo criados ou novos commits sendo enviados para os branches existentes. Na criação ou na redistribuição, você só pode se atribuir para ser o usuário espelho."
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 "Tempo em segundos o GitLab aguardará uma resposta do serviço externo. Quando o serviço não responder a tempo, o acesso será negado."
+msgid "Time of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr "Tempo restante"
@@ -21398,7 +21888,7 @@ msgstr "Título"
msgid "Title:"
msgstr "Título:"
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,8 +22095,8 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
-msgstr "Tópicos"
+msgid "Topics (optional)"
+msgstr ""
msgid "Total"
msgstr "Total"
@@ -21767,6 +22257,9 @@ msgstr "Tentar novamente?"
msgid "Try all GitLab has to offer for 30 days."
msgstr "Use tudo que o GitLab tem para oferecer por 30 dias."
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr "Tente realizar o fork novamente"
@@ -21860,6 +22353,9 @@ msgstr "Não foi possível conectar ao servidor Prometheus"
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr "Ver no GitLab"
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr "Classe"
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr "Projeto"
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr "Queremos ter certeza de que é você, confirme que você não é um robô."
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr "Quando:"
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr "Wiki"
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr "Wiki foi atualizado com sucesso."
@@ -23429,6 +23937,9 @@ msgstr "Sim ou não"
msgid "Yes, add it"
msgstr "Sim, adicionar"
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr "Sim, deixe-me associar usuários do Google Code para nomes completos ou usuários do GitLab."
@@ -23624,6 +24135,9 @@ msgstr "Você não pode escrever nesta instância somente-leitura do GitLab."
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr "Você não tem permissão"
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr "Você tentou criar o fork %{link_to_the_project}, mas ocorreu uma falha pelo seguinte motivo:"
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr "Seu comentário não pôde ser enviado! Por favor, verifique sua conexã
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr "Seu comentário não pôde ser atualizado! Por favor, verifique sua conexão de rede e tente novamente."
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr "Seus projetos"
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr "atrás"
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr "%{linkStartTag}Saiba mais sobre a Verificação de Dependência %{linkEn
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr "%{linkStartTag}Saiba mais sobre o SAST %{linkEndTag}"
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr "SAST"
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr "Verificação de segurança"
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] "merge requests"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr "novo merge request"
msgid "no contributions"
msgstr "nenhuma contribuição"
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] "projetos"
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr "ações rápidas"
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr "este documento"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr "para ajudar seus contribuintes à se comunicar de maneira eficaz!"
@@ -25280,6 +25840,9 @@ msgstr "ver no GitLab"
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/pt_PT/gitlab.po b/locale/pt_PT/gitlab.po
index 3437d06c656..6d8adc88d26 100644
--- a/locale/pt_PT/gitlab.po
+++ b/locale/pt_PT/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: pt-PT\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:26\n"
+"PO-Revision-Date: 2020-05-05 21:35\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText}, este problema será encerrado automaticamente."
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} continha %{resultsString}"
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "Avatar de %{name}"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind} envios atrás %{default_branch}, %{number_commits_ahead} envios à frente"
@@ -506,6 +519,9 @@ msgstr[1] "%{text} %{files} ficheiros"
msgid "%{text} is available"
msgstr "%{text} está disponível"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -781,12 +797,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> adicio
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> adicionará \"Por <a href=\"#\">johnsmith@example.com</a>\" a todos os problemas e comentários, originalmente, criados por johnsmith@example.com. Por padrão, o endereço de email ou nome de utilizador é ocultado para garantir a privacidade do utilizador. Use esta opção se quiser mostrar o endereço de email completo."
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<nenhum nome definido>"
msgid "<no scopes selected>"
msgstr "<nenhum escopo selecionado>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "Membros do grupo <strong>%{group_name}</strong>"
@@ -820,6 +842,9 @@ msgstr "Uma conta Vamos Criptografar será configurada para esta instalação no
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "Um ramo padrão não pode ser escolhido para um projeto vazio."
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr "redefini-lo"
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Conta"
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr "Adicionado em"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] "Alerta"
msgstr[1] "Alertas"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr "Todos os projetos"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "Todos os utilizadores"
@@ -1745,6 +1851,9 @@ msgstr "Permitir que proprietários de grupos gerenciem as definições relacion
msgid "Allow only the selected protocols to be used for Git access."
msgstr "Permitir apenas, que os protocolos selecionados sejam usados para acessar o Git."
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr "Ocorreu um erro ao buscar os aprovadores para as novas regras."
msgid "An error occurred fetching the dropdown data."
msgstr "Ocorreu um erro ao buscar os dados suspensos."
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "Ocorreu um erro ao pré-visualizar o blob"
@@ -1934,6 +2046,9 @@ msgstr "Ocorreu um erro ao buscar projetos de conclusão automática."
msgid "An error occurred while fetching sidebar data"
msgstr "Ocorreu um erro ao buscar os dados da barra lateral"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr "Ocorreu um erro ao buscar o endereço da Central de Serviços."
@@ -2171,6 +2286,9 @@ msgstr "Verificação de anti-spam"
msgid "Any"
msgstr "Qualquer"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "Qualquer Rótulo"
@@ -2386,12 +2504,12 @@ msgstr "Tens a certeza de que desejas arquivar este projeto?"
msgid "Are you sure that you want to unarchive this project?"
msgstr "Tens a certeza de que desejas desarquivar este projeto?"
-msgid "Are you sure you want to cancel creating this comment?"
-msgstr "Tens a certeza de que desejas cancelar a criação deste comentário?"
-
msgid "Are you sure you want to cancel editing this comment?"
msgstr "Tens a certeza de que desejas cancelar a edição deste comentário?"
+msgid "Are you sure you want to close this blocked issue?"
+msgstr ""
+
msgid "Are you sure you want to delete %{name}?"
msgstr ""
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "Tens a certeza de que desejas apagar esta compilação?"
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr "Pelo menos uma aprovação de um código proprietário é necessário para alterar ficheiros que coincidem com as respetivas regras de CODEOWNER."
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "ago"
@@ -2915,9 +3060,6 @@ msgstr "URL raiz do Bamboo como https://bamboo.example.com"
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr "Deves configurar uma etiqueta de revisão automático e um disparador de repositório no Bamboo."
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr "Apagar todos os comentários pendentes"
@@ -3047,6 +3189,9 @@ msgstr "Ao começar com o conjunto de listas padrão, estarás no caminho certo
msgid "Boards"
msgstr "Painéis"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr "Colapsar"
@@ -3266,6 +3411,9 @@ msgstr "Comprar EE"
msgid "Buy GitLab Enterprise Edition"
msgstr "Comprar o GitLab Enterprise Edition"
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr "Por %{user_name}"
@@ -3386,6 +3534,9 @@ msgstr "Não é possível remover membros do grupo sem conta gerenciada do grupo
msgid "Can't scan the code?"
msgstr "Não consegues digitalizar o código?"
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr "Verifica Novamente"
@@ -4061,9 +4209,6 @@ msgstr "Limpa peso."
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "Clica em qualquer <strong>nome de projeto</strong> na lista a seguir para navegar para o objetivo do projeto."
-msgid "Click here"
-msgstr "Clica aqui"
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "Clica no botão <strong>Transferir</strong> e aguarda a finalização do mesmo."
@@ -4451,6 +4596,12 @@ msgstr "A buscar projetos"
msgid "ClusterIntegration|Fetching zones"
msgstr "A buscar zonas"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "Integração GitLab"
@@ -4757,6 +4908,15 @@ msgstr "Falha no pedido para iniciar a instalação"
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr "Falha no pedido para iniciar a desinstalação"
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "Guardar alterações"
@@ -4853,6 +5013,12 @@ msgstr "Selecionar zona"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "Seleciona a zona para escolher o tipo de máquina"
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr "Token de Serviço"
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr "Criar etiqueta do projeto"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr "Filtrar por nome de objetivo"
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr "Estado Geo"
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr "Grupos (%{count})"
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgstr ""
+
+msgid "SecurityReports|Project"
+msgstr ""
+
+msgid "SecurityReports|Projects added"
+msgstr ""
+
+msgid "SecurityReports|Remove project from dashboard"
+msgstr ""
+
+msgid "SecurityReports|Report type"
+msgstr ""
+
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|Undo dismiss"
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,8 +24599,8 @@ msgstr "atrás"
msgid "allowed to fail"
msgstr "permissão para falhar"
-msgid "already being used for another group or project milestone."
-msgstr "já está a ser usado por outro grupo ou objetivos do projeto."
+msgid "already being used for another group or project %{timebox_name}."
+msgstr ""
msgid "already has a \"created\" issue link"
msgstr ""
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr "Adiciona um comentário ou razão para dispensar"
diff --git a/locale/ro_RO/gitlab.po b/locale/ro_RO/gitlab.po
index d979547f361..1c75c655d1d 100644
--- a/locale/ro_RO/gitlab.po
+++ b/locale/ro_RO/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: ro\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:26\n"
+"PO-Revision-Date: 2020-05-05 21:10\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -242,6 +242,12 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -407,6 +413,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -419,6 +428,12 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -548,6 +563,9 @@ msgstr[2] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -842,12 +860,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -881,6 +905,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1097,6 +1124,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1106,6 +1139,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1349,6 +1385,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1721,6 +1760,72 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1790,6 +1895,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1808,6 +1916,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1916,6 +2027,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1997,6 +2111,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2234,6 +2351,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2453,10 +2573,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2486,6 +2606,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2663,6 +2786,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2702,6 +2828,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2984,9 +3131,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3116,6 +3260,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3335,6 +3482,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3455,6 +3605,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3623,6 +3776,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3659,9 +3815,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3677,9 +3830,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4130,9 +4280,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4520,6 +4667,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4826,6 +4979,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4922,6 +5084,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5351,18 +5519,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5510,9 +5693,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5525,6 +5714,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5534,18 +5726,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5567,9 +5753,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5585,12 +5768,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5606,22 +5801,22 @@ msgstr[2] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5630,16 +5825,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5660,16 +5864,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5924,7 +6128,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5939,6 +6143,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5996,6 +6203,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6101,6 +6311,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6122,6 +6335,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6479,6 +6695,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6851,6 +7070,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7004,6 +7226,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7523,9 +7748,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8147,9 +8369,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8159,6 +8378,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8210,6 +8432,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8264,6 +8489,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8273,9 +8501,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8417,6 +8642,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8621,12 +8849,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8696,9 +8930,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8738,6 +8969,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8747,7 +8981,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8771,6 +9005,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9146,7 +9386,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9158,12 +9401,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9452,10 +9701,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9497,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9512,6 +9764,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9542,7 +9797,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9569,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9608,16 +9869,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9629,9 +9890,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9656,9 +9923,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9695,7 +9959,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9704,7 +9968,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10046,9 +10310,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10493,6 +10754,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10571,6 +10835,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10838,15 +11105,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10910,6 +11174,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10949,6 +11216,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11060,6 +11330,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11126,6 +11399,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11474,15 +11750,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11504,10 +11780,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11561,6 +11837,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11951,6 +12230,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11963,6 +12245,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12299,9 +12584,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12452,9 +12734,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12485,6 +12764,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12749,6 +13031,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12902,6 +13187,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13010,12 +13301,15 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13046,9 +13340,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13127,6 +13418,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13574,10 +13868,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13637,6 +13931,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13775,15 +14072,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13907,6 +14195,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14078,6 +14369,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14180,9 +14474,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14285,6 +14576,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14336,6 +14630,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14357,6 +14654,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14390,6 +14690,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14399,6 +14705,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14417,12 +14726,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14459,6 +14774,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14474,6 +14792,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14567,6 +14888,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14582,9 +14906,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14615,7 +14936,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14696,9 +15017,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14708,6 +15026,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14786,15 +15107,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14816,10 +15128,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15050,6 +15365,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15095,6 +15413,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15212,7 +15533,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15233,10 +15554,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15269,6 +15590,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16097,6 +16421,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16160,6 +16487,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16379,13 +16709,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16571,6 +16901,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16595,6 +16928,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16796,6 +17132,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17174,9 +17513,30 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17282,7 +17642,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17468,6 +17828,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17537,6 +17900,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17585,6 +17951,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17639,6 +18008,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17723,12 +18095,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17786,6 +18164,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17939,12 +18320,6 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17957,6 +18332,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17984,184 +18362,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18173,6 +18599,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18578,9 +19007,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18665,6 +19091,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18980,6 +19409,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19121,6 +19553,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19406,6 +19841,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19529,6 +19967,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19538,18 +19979,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19607,6 +20060,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19955,6 +20414,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20108,6 +20573,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20417,6 +20885,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20738,6 +21209,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20753,7 +21227,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20816,6 +21290,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20852,6 +21329,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20993,6 +21473,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21191,7 +21677,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21221,10 +21710,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21257,7 +21746,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21326,6 +21815,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21512,7 +22004,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21719,7 +22211,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21881,6 +22373,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21974,6 +22469,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22919,6 +23417,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23096,6 +23597,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23126,6 +23636,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23159,7 +23672,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23213,9 +23729,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23321,15 +23843,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23360,9 +23873,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23546,6 +24056,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23741,6 +24254,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23807,6 +24323,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23888,6 +24407,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23972,9 +24494,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24071,6 +24605,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24110,6 +24647,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24128,12 +24668,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24173,7 +24719,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24251,6 +24797,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24419,6 +24968,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24620,6 +25175,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24785,9 +25343,6 @@ msgstr[2] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25124,6 +25679,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25178,6 +25736,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25208,6 +25769,12 @@ msgstr[2] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25355,12 +25922,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25415,6 +25976,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/ru/gitlab.po b/locale/ru/gitlab.po
index ccaba60a9ca..41ab1cab863 100644
--- a/locale/ru/gitlab.po
+++ b/locale/ru/gitlab.po
@@ -12,16 +12,16 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: ru\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:25\n"
+"PO-Revision-Date: 2020-05-05 22:46\n"
msgid " %{start} to %{end}"
-msgstr ""
+msgstr " %{start} по %{end}"
msgid " (from %{timeoutSource})"
msgstr " (из %{timeoutSource})"
msgid " Collected %{time}"
-msgstr ""
+msgstr " Получено %{time}"
msgid " Please sign in."
msgstr "ПожалуйÑта, войдите."
@@ -75,31 +75,31 @@ msgstr "\"%{path}\" не ÑущеÑтвует на \"%{ref}\""
msgid "%d URL scanned"
msgid_plural "%d URLs scanned"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d URL проÑканирован"
+msgstr[1] "%dURL проÑканировано"
+msgstr[2] "%d URL проÑканировано"
+msgstr[3] "%d URL проÑканировано"
msgid "%d changed file"
msgid_plural "%d changed files"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d измененный файл"
+msgstr[1] "%d измененных файла"
+msgstr[2] "%d измененных файлов"
+msgstr[3] "%d измененных файлов"
msgid "%d child epic"
msgid_plural "%d child epics"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d дочернÑÑ Ñ†ÐµÐ»ÑŒ"
+msgstr[1] "%d дочерние цели"
+msgstr[2] "%d дочерних целей"
+msgstr[3] "%d дочерних целей"
msgid "%d code quality issue"
msgid_plural "%d code quality issues"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d проблем качеÑтва кода"
+msgstr[1] "%d проблемы качеÑтва кода"
+msgstr[2] "%d проблем качеÑтва кода"
+msgstr[3] "%d проблем качеÑтва кода"
msgid "%d comment"
msgid_plural "%d comments"
@@ -141,10 +141,10 @@ msgstr[3] "%d вкладов"
msgid "%d error"
msgid_plural "%d errors"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d ошибка"
+msgstr[1] "%d ошибки"
+msgstr[2] "%d ошибок"
+msgstr[3] "%d ошибок"
msgid "%d exporter"
msgid_plural "%d exporters"
@@ -155,10 +155,10 @@ msgstr[3] "%d ÑкÑпортеров"
msgid "%d failed"
msgid_plural "%d failed"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d провален"
+msgstr[1] "%d провалено"
+msgstr[2] "%d провалено"
+msgstr[3] "%d провалено"
msgid "%d fixed test result"
msgid_plural "%d fixed test results"
@@ -169,10 +169,10 @@ msgstr[3] "%d иÑправленные результаты теÑта"
msgid "%d group selected"
msgid_plural "%d groups selected"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d группа выбрана"
+msgstr[1] "%d группы выбраны"
+msgstr[2] "%d групп выбрано"
+msgstr[3] "%d групп выбрано"
msgid "%d inaccessible merge request"
msgid_plural "%d inaccessible merge requests"
@@ -260,13 +260,20 @@ msgstr[3] "%d Ñекунд"
msgid "%d shard selected"
msgid_plural "%d shards selected"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d шард выбран"
+msgstr[1] "%d шарда выбрано"
+msgstr[2] "%d шардов выбрано"
+msgstr[3] "%d шардов выбрано"
msgid "%d tag"
msgid_plural "%d tags"
+msgstr[0] "%d тег"
+msgstr[1] "%d тега"
+msgstr[2] "%d тегов"
+msgstr[3] "%d тегов"
+
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
@@ -274,10 +281,10 @@ msgstr[3] ""
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+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."
@@ -290,13 +297,13 @@ msgid "%{actionText} & %{openOrClose} %{noteable}"
msgstr "%{actionText} & %{openOrClose} %{noteable}"
msgid "%{authorsName}'s thread"
-msgstr ""
+msgstr "тема %{authorsName}"
msgid "%{commit_author_link} authored %{commit_timeago}"
msgstr "%{commit_author_link} Ñоздал %{commit_timeago}"
msgid "%{completedWeight} of %{totalWeight} weight completed"
-msgstr ""
+msgstr "Завершено %{completedWeight} из %{totalWeight} приоритета"
msgid "%{cores} cores"
msgstr "%{cores} Ñдер"
@@ -354,10 +361,10 @@ msgid "%{count} related %{pluralized_subject}: %{links}"
msgstr "%{count} ÑвÑзанный %{pluralized_subject}: %{links}"
msgid "%{days} days until tags are automatically removed"
-msgstr ""
+msgstr "%{days} дней до автоматичеÑкого ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ‚ÐµÐ³Ð¾Ð²"
msgid "%{description}- Sentry event: %{errorUrl}- First seen: %{firstSeen}- Last seen: %{lastSeen} %{countLabel}: %{count}%{userCountLabel}: %{userCount}"
-msgstr ""
+msgstr "%{description}- Событие Sentry: %{errorUrl}- Первый проÑмотр: %{firstSeen}- ПоÑледний проÑмотр: %{lastSeen} %{countLabel}: %{count}%{userCountLabel}: %{userCount}"
msgid "%{duration}ms"
msgstr "%{duration}мÑ"
@@ -369,7 +376,7 @@ msgid "%{edit_in_new_fork_notice} Try to create a new directory again."
msgstr "%{edit_in_new_fork_notice} Попробуйте Ñоздать новый каталог еще раз."
msgid "%{edit_in_new_fork_notice} Try to revert this commit again."
-msgstr ""
+msgstr "%{edit_in_new_fork_notice} Попробуйте откатить Ñтот коммит ещё раз."
msgid "%{edit_in_new_fork_notice} Try to upload a file again."
msgstr "%{edit_in_new_fork_notice} Попробуйте загрузить файл еще раз."
@@ -384,7 +391,7 @@ msgid "%{firstLabel} +%{labelCount} more"
msgstr "%{firstLabel} + ещё %{labelCount}"
msgid "%{global_id} is not a valid id for %{expected_type}."
-msgstr ""
+msgstr "%{global_id} не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым ID Ð´Ð»Ñ %{expected_type}."
msgid "%{group_docs_link_start}Groups%{group_docs_link_end} allow you to manage and collaborate across multiple projects. Members of a group have access to all of its projects."
msgstr "%{group_docs_link_start}Группы%{group_docs_link_end} позволÑÑŽÑ‚ управлÑÑ‚ÑŒ неÑколькими проектами и Ñотрудничать Ñ Ð½Ð¸Ð¼Ð¸. Члены группы имеют доÑтуп ко вÑем ее проектам."
@@ -399,25 +406,25 @@ msgid "%{issuableType} will be removed! Are you sure?"
msgstr "%{issuableType} будет удален! Вы уверены?"
msgid "%{issuesSize} issues"
-msgstr ""
+msgstr "%{issuesSize} обÑуждений"
msgid "%{issuesSize} issues with a limit of %{maxIssueCount}"
-msgstr ""
+msgstr "%{issuesSize} обÑуждение Ñ Ð»Ð¸Ð¼Ð¸Ñ‚Ð¾Ð¼ в %{maxIssueCount}"
msgid "%{label_for_message} unavailable"
msgstr "%{label_for_message} недоÑтупно"
msgid "%{lets_encrypt_link_start}Let's Encrypt%{lets_encrypt_link_end} is a free, automated, and open certificate authority (CA), that give digital certificates in order to enable HTTPS (SSL/TLS) for websites."
-msgstr ""
+msgstr "%{lets_encrypt_link_start}Let's Encrypt%{lets_encrypt_link_end} - Ñто беÑплатный, автоматизированный и открытый центр Ñертификации (CA), который предоÑтавлÑет цифровые Ñертификаты Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ HTTPS (SSL/TLS) на веб-Ñайтах."
msgid "%{level_name} is not allowed in a %{group_level_name} group."
msgstr "%{level_name} не допуÑкаетÑÑ Ð² %{group_level_name} группе."
msgid "%{level_name} is not allowed since the fork source project has lower visibility."
-msgstr ""
+msgstr "%{level_name} запрещено, Ñ‚.к. проект-иÑточник Ð¾Ñ‚Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ более узкую облаÑÑ‚ÑŒ видимоÑти."
msgid "%{lineOneStart}Drag and drop to upload your designs%{lineOneEnd} or %{linkStart}click to upload%{linkEnd}."
-msgstr ""
+msgstr "%{lineOneStart}Перетащите, чтобы загрузить Ñвои дизайны%{lineOneEnd} или %{linkStart}нажмите, чтобы загрузить%{linkEnd}."
msgid "%{link_start}Learn more%{link_end} about what information is shared with GitLab Inc."
msgstr ""
@@ -441,20 +448,30 @@ msgid "%{mergeLength}/%{usersLength} can merge"
msgstr "%{mergeLength}/%{usersLength} можно объединить"
msgid "%{mrText}, this issue will be closed automatically."
+msgstr "%{mrText}, Ñто обÑуждение будет закрыто автоматичеÑки."
+
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
msgstr ""
msgid "%{name} contained %{resultsString}"
-msgstr ""
+msgstr "%{name} Ñодержал %{resultsString}"
msgid "%{name} found %{resultsString}"
-msgstr ""
+msgstr "%{name} нашел %{resultsString}"
msgid "%{name} is scheduled for %{action}"
-msgstr ""
+msgstr "%{name} запланирован на %{action}"
msgid "%{name}'s avatar"
msgstr "Ðватар Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %{name}"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "на %{number_commits_behind} коммитов позади %{default_branch}, на %{number_commits_ahead} коммитов впереди"
@@ -462,28 +479,28 @@ msgid "%{openOrClose} %{noteable}"
msgstr "%{openOrClose} %{noteable}"
msgid "%{openedEpics} open, %{closedEpics} closed"
-msgstr ""
+msgstr "%{openedEpics} открыто, %{closedEpics} закрыто"
msgid "%{openedIssues} open, %{closedIssues} closed"
-msgstr ""
+msgstr "%{openedIssues} открыто, %{closedIssues} закрыто"
msgid "%{percentage}%% weight completed"
-msgstr ""
+msgstr "%{percentage}%% приоритета завершено"
msgid "%{percent}%% complete"
msgstr "%{percent}%% выполнено"
msgid "%{percent}%{percentSymbol} complete"
-msgstr ""
+msgstr "%{percent}%{percentSymbol} выполнено"
msgid "%{placeholder} is not a valid color scheme"
-msgstr ""
+msgstr "%{placeholder} не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимой цветовой Ñхемой"
msgid "%{placeholder} is not a valid theme"
-msgstr ""
+msgstr "%{placeholder} не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимой темой"
msgid "%{primary} (%{secondary})"
-msgstr ""
+msgstr "%{primary} (%{secondary})"
msgid "%{releases} release"
msgid_plural "%{releases} releases"
@@ -499,7 +516,7 @@ msgid "%{screenreaderOnlyStart}Keyboard shorcuts%{screenreaderOnlyEnd} Enabled"
msgstr ""
msgid "%{service_title} %{message}."
-msgstr ""
+msgstr "%{service_title} %{message}."
msgid "%{size} GiB"
msgstr "%{size} ГиБ"
@@ -553,10 +570,10 @@ msgstr ""
msgid "%{strong_start}%{release_count}%{strong_end} Release"
msgid_plural "%{strong_start}%{release_count}%{strong_end} Releases"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%{strong_start}%{release_count}%{strong_end} релиз"
+msgstr[1] "%{strong_start}%{release_count}%{strong_end} релиза"
+msgstr[2] "%{strong_start}%{release_count}%{strong_end} релизов"
+msgstr[3] "%{strong_start}%{release_count}%{strong_end} релизов"
msgid "%{strong_start}%{tag_count}%{strong_end} Tag"
msgid_plural "%{strong_start}%{tag_count}%{strong_end} Tags"
@@ -569,13 +586,13 @@ msgid "%{tabname} changed"
msgstr "%{tabname} изменено"
msgid "%{tags} tag per image name"
-msgstr ""
+msgstr "%{tags} тег на Ð¸Ð¼Ñ Ð¾Ð±Ñ€Ð°Ð·Ð°"
msgid "%{tags} tags per image name"
-msgstr ""
+msgstr "%{tags} тегов на Ð¸Ð¼Ñ Ð¾Ð±Ñ€Ð°Ð·Ð°"
msgid "%{tag}-%{evidence}-%{filename}"
-msgstr ""
+msgstr "%{tag}-%{evidence}-%{filename}"
msgid "%{template_project_id} is unknown or invalid"
msgstr "%{template_project_id}' неизвеÑтен или недейÑтвителен"
@@ -583,13 +600,16 @@ msgstr "%{template_project_id}' неизвеÑтен или недейÑтвит
msgid "%{text} %{files}"
msgid_plural "%{text} %{files} files"
msgstr[0] "%{text} %{files}"
-msgstr[1] "%{text} %{files} файлах"
+msgstr[1] "%{text} %{files} файлов"
msgstr[2] "%{text} %{files} файлов"
-msgstr[3] "%{text} %{files} файлах"
+msgstr[3] "%{text} %{files} файлов"
msgid "%{text} is available"
msgstr "%{text} доÑтупен"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -597,13 +617,13 @@ msgid "%{title} changes"
msgstr "Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² %{title}"
msgid "%{token}..."
-msgstr ""
+msgstr "%{token}..."
msgid "%{totalWeight} total weight"
-msgstr ""
+msgstr "общий приоритет %{totalWeight}"
msgid "%{total} open issue weight"
-msgstr "%{total} Ð²ÐµÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ñ… задач"
+msgstr "приоритет открытого обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ %{total}"
msgid "%{total} open issues"
msgstr "%{total} открытых задач"
@@ -624,7 +644,7 @@ msgid "%{username}'s avatar"
msgstr "аватар %{username}"
msgid "%{value} s"
-msgstr ""
+msgstr "%{value} Ñ"
msgid "%{verb} %{time_spent_value} spent time."
msgstr ""
@@ -633,7 +653,7 @@ msgid "'%{level}' is not a valid visibility level"
msgstr ""
msgid "'%{name}' stage already exists"
-msgstr ""
+msgstr "Этап '%{name}' уже ÑущеÑтвует"
msgid "'%{source}' is not a import source"
msgstr ""
@@ -658,7 +678,7 @@ msgid "(Show all)"
msgstr "(Показать вÑе)"
msgid "(check progress)"
-msgstr ""
+msgstr "(прогреÑÑ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸)"
msgid "(external source)"
msgstr "(внешний иÑточник)"
@@ -667,10 +687,10 @@ msgid "(removed)"
msgstr "(удалено)"
msgid "(revoked)"
-msgstr ""
+msgstr "(отозван)"
msgid "*"
-msgstr ""
+msgstr "*"
msgid "+ %{amount} more"
msgstr "+%{amount} ещё"
@@ -686,16 +706,16 @@ msgstr "+ %{numberOfHiddenAssignees} больше"
msgid "+%d more"
msgid_plural "+%d more"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "+ещё %d"
+msgstr[1] "+ещё %d"
+msgstr[2] "+ещё %d"
+msgstr[3] "+ещё %d"
msgid "+%{approvers} more approvers"
-msgstr ""
+msgstr "+ещё %{approvers} утверждающих"
msgid "+%{tags} more"
-msgstr ""
+msgstr "+ещё %{tags}"
msgid ", or "
msgstr ", или "
@@ -721,7 +741,7 @@ msgstr[2] "- Пользователи"
msgstr[3] "- Пользователи"
msgid "- of - weight completed"
-msgstr ""
+msgstr "- из - приоритета завершено"
msgid "- show less"
msgstr "- Ñвернуть"
@@ -766,10 +786,10 @@ msgstr[3] "%{merge_requests} закрытых запроÑов на ÑлиÑни
msgid "1 day"
msgid_plural "%d days"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "1 день"
+msgstr[1] "%d днÑ"
+msgstr[2] "%d дней"
+msgstr[3] "%d дней"
msgid "1 group"
msgid_plural "%d groups"
@@ -780,10 +800,10 @@ msgstr[3] "%d групп"
msgid "1 hour"
msgid_plural "%d hours"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "1 чаÑ"
+msgstr[1] "%d чаÑа"
+msgstr[2] "%d чаÑов"
+msgstr[3] "%d чаÑов"
msgid "1 merged merge request"
msgid_plural "%{merge_requests} merged merge requests"
@@ -794,13 +814,13 @@ msgstr[3] "%{merge_requests} объединенные запроÑов на Ñл
msgid "1 minute"
msgid_plural "%d minutes"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "1 минута"
+msgstr[1] "%d минуты"
+msgstr[2] "%d минут"
+msgstr[3] "%d минут"
msgid "1 month"
-msgstr ""
+msgstr "1 меÑÑц"
msgid "1 open issue"
msgid_plural "%{issues} open issues"
@@ -841,7 +861,7 @@ msgid "1 week"
msgstr "1 неделÑ"
msgid "1-9 contributions"
-msgstr ""
+msgstr "1-9 ÑодейÑтвий"
msgid "10-19 contributions"
msgstr "10-19 ÑодейÑтвий"
@@ -850,7 +870,7 @@ msgid "1st contribution!"
msgstr "Первый вклад!"
msgid "20-29 contributions"
-msgstr ""
+msgstr "20-29 ÑодейÑтвий"
msgid "2FA"
msgstr "Ð”Ð²ÑƒÑ…Ñ„Ð°ÐºÑ‚Ð¾Ñ€Ð½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ"
@@ -868,7 +888,7 @@ msgid "30 minutes"
msgstr "30 минут"
msgid "30+ contributions"
-msgstr ""
+msgstr "30+ ÑодейÑтвий"
msgid "403|Please contact your GitLab administrator to get permission."
msgstr "ПожалуйÑта, обратитеÑÑŒ к вашему админиÑтратору GitLab Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ."
@@ -889,7 +909,7 @@ msgid "8 hours"
msgstr "8 чаÑов"
msgid "< 1 hour"
-msgstr ""
+msgstr "< 1 чаÑа"
msgid "<code>\"johnsmith@example.com\": \"@johnsmith\"</code> will add \"By <a href=\"#\">@johnsmith</a>\" to all issues and comments originally created by johnsmith@example.com, and will set <a href=\"#\">@johnsmith</a> as the assignee on all issues originally assigned to johnsmith@example.com."
msgstr "<code>\"johnsmith@example.com\": \"@johnsmith\"</code> добавил \"<a href=\"#\">@johnsmith</a>\" По вÑем вопроÑам и комментариÑм, изначально Ñозданным johnsmith@example.com, и уÑтановил <a href=\"#\">@johnsmith</a> в качеÑтве правопреемника по вÑем задачам первоначально назначен johnsmith@example.com."
@@ -903,12 +923,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<no name set>"
msgid "<no scopes selected>"
msgstr "<no scopes selected>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "<strong>%{group_name}</strong> учаÑтников группы"
@@ -937,11 +963,14 @@ msgid "A Let's Encrypt SSL certificate can not be obtained until your domain is
msgstr "SSL Ñертификат Let's Encrypt не может быть получен, пока ваш домен не будет проверен."
msgid "A Let's Encrypt account will be configured for this GitLab installation using your email address. You will receive emails to warn of expiring certificates."
-msgstr "Ð£Ñ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ Let's Encrypt будет наÑтроена Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ уÑтановки GitLab Ñ Ð¸Ñпользованием адреÑа вашей Ñлектронной почты. Ð’Ñ‹ получите Ñлектронное пиÑьмо Ñ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸ÐµÐ¼ об иÑтечении Ñрока дейÑÑ‚Ð²Ð¸Ñ Ñертификатов."
+msgstr "Ð£Ñ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ Let's Encrypt будет наÑтроена Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ уÑтановки GitLab Ñ Ð¸Ñпользованием адреÑа вашей Ñлектронной почты. Ð’Ñ‹ получите Ñлектронное пиÑьмо Ñ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸ÐµÐ¼ об иÑтечении Ñрока дейÑÑ‚Ð²Ð¸Ñ Ñертификатов."
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "Ð”Ð»Ñ Ð¿ÑƒÑтого проекта Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð±Ñ€Ð°Ñ‚ÑŒ ветку по умолчанию."
@@ -955,7 +984,7 @@ msgid "A fork is a copy of a project.<br />Forking a repository allows you to ma
msgstr "Ответвление - Ñто ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°.<br />Ответвление Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ñет вноÑить изменениÑ, не влиÑÑ Ð½Ð° иÑходный проект."
msgid "A group represents your organization in GitLab."
-msgstr ""
+msgstr "Группа предÑтавлÑет вашу организацию в GitLab."
msgid "A member of the abuse team will review your report as soon as possible."
msgstr ""
@@ -964,7 +993,7 @@ msgid "A merge request approval is required when a security report contains a ne
msgstr ""
msgid "A merge request approval is required when the license compliance report contains a blacklisted license."
-msgstr ""
+msgstr "Утверждение запроÑа на ÑлиÑние требуетÑÑ, когда отчёт о комплаенÑе лицензий отноÑитÑÑ Ðº лицензии, включённой в чёрный ÑпиÑок."
msgid "A new Auto DevOps pipeline has been created, go to %{pipelines_link_start}Pipelines page%{pipelines_link_end} for details"
msgstr "ÐÐ¾Ð²Ð°Ñ ÑÐ±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Auto DevOps Ñоздана, обратитеÑÑŒ к %{pipelines_link_start}Ñтранице, поÑвÑщенной Сборочным линиÑм%{pipelines_link_end} за подробноÑÑ‚Ñми"
@@ -1024,7 +1053,7 @@ msgid "API Token"
msgstr "API токен"
msgid "AWS Access Key"
-msgstr ""
+msgstr "Ключ доÑтупа AWS"
msgid "AWS Access Key. Only required if not using role instance credentials"
msgstr "Ключ доÑтупа AWS. ТребуетÑÑ, только еÑли Ð´Ð»Ñ Ð´Ð¾Ñтупа к инÑтанÑу не иÑпользуетÑÑ Ñ€Ð¾Ð»ÑŒ"
@@ -1063,7 +1092,7 @@ msgid "Accept terms"
msgstr "ПринÑÑ‚ÑŒ уÑловиÑ"
msgid "Acceptable for use in this project"
-msgstr ""
+msgstr "Разрешены к иÑпользованию в Ñтом проекте"
msgid "Accepted MR"
msgstr "ПринÑтый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние"
@@ -1123,7 +1152,7 @@ msgid "AccessTokens|It cannot be used to access any other data."
msgstr "Его Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать Ð´Ð»Ñ Ð´Ð¾Ñтупа к любым другим данным."
msgid "AccessTokens|Keep this token secret. Anyone who gets ahold of it can access repository static objects as if they were you. You should %{reset_link_start}reset it%{reset_link_end} if that ever happens."
-msgstr ""
+msgstr "Держите Ñтот токен в Ñекрете. Любой, кто получит его, может Ñоздать обÑуждениÑ, как будто бы Ñто были вы. ЕÑли Ñто когда-либо произойдет, то вам Ñледует %{reset_link_start} ÑброÑить его %{reset_link_end}."
msgid "AccessTokens|Keep this token secret. Anyone who gets ahold of it can create issues as if they were you. You should %{link_reset_it} if that ever happens."
msgstr "Держите Ñтот токен в Ñекрете. Любой, кто получит его, может Ñоздать обÑуждениÑ, как будто бы Ñто были вы. ЕÑли Ñто когда-либо произойдет, то вам Ñледует %{link_reset_it}."
@@ -1153,25 +1182,34 @@ msgid "AccessTokens|Your incoming email token is used to authenticate you when y
msgstr "Ваш токен входÑщей Ñлектронной почты иÑпользуетÑÑ Ð´Ñл аутентификации когда вы Ñоздаете новую задачу при помощи Ñлектронной почты и включен в ваши перÑональные Ñлектронные адреÑа, отноÑÑщиеÑÑ Ðº проекту."
msgid "AccessTokens|Your static object token is used to authenticate you when repository static objects (e.g. archives, blobs, ...) are being served from an external storage."
-msgstr ""
+msgstr "Ваш токен ÑтатичеÑких объектов иÑпользуетÑÑ Ð´Ð»Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ при обÑлуживании ÑтатичеÑких объектов (например, архивов, бинарных данных, ...) из внешнего хранилища."
msgid "AccessTokens|reset it"
msgstr "ÑброÑить"
-msgid "AccessibilityReport|Learn More"
+msgid "AccessibilityReport|Accessibility report artifact not found"
msgstr ""
-msgid "AccessibilityReport|Message: %{message}"
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
msgstr ""
+msgid "AccessibilityReport|Learn More"
+msgstr "Узнать больше"
+
+msgid "AccessibilityReport|Message: %{message}"
+msgstr "Сообщение: %{message}"
+
msgid "AccessibilityReport|New"
+msgstr "Ðовый"
+
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
msgstr ""
msgid "Account"
-msgstr "Ð£Ñ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ"
+msgstr "Ð£Ñ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ"
msgid "Account ID"
-msgstr ""
+msgstr "ID аккаунта"
msgid "Account and limit"
msgstr "Ðккаунт и ограничениÑ"
@@ -1198,7 +1236,7 @@ msgid "Active Sessions"
msgstr "Ðктивные ÑеÑÑии"
msgid "Active Users:"
-msgstr ""
+msgstr "Ðктивные пользователи:"
msgid "Activity"
msgstr "ÐктивноÑÑ‚ÑŒ"
@@ -1232,16 +1270,16 @@ msgid "Add Jaeger URL"
msgstr "Добавить URL-Ð°Ð´Ñ€ÐµÑ Jaeger"
msgid "Add Kubernetes cluster"
-msgstr "Добавить Kubernetes клаÑтер"
+msgstr "Добавить клаÑтер Kubernetes"
msgid "Add LICENSE"
-msgstr ""
+msgstr "Добавить LICENSE"
msgid "Add README"
msgstr "Добавить README"
msgid "Add Variable"
-msgstr ""
+msgstr "Добавить переменную"
msgid "Add Zoom meeting"
msgstr "ПриÑоединитьÑÑ Ðº вÑтрече в Zoom"
@@ -1250,7 +1288,7 @@ msgid "Add a %{type} token"
msgstr "Добавить токен %{type}"
msgid "Add a GPG key"
-msgstr "Добавить GPG ключ"
+msgstr "Добавить ключ GPG"
msgid "Add a Grafana button in the admin sidebar, monitoring section, to access a variety of statistics on the health and performance of GitLab."
msgstr "Добавьте кнопку Grafana на боковой панели админиÑтратора в разделе мониторинга, чтобы получить доÑтуп к различным ÑтатиÑтичеÑким данным о работоÑпоÑобноÑти и производительноÑти GitLab."
@@ -1295,7 +1333,7 @@ msgid "Add an issue"
msgstr "Добавить обÑуждение"
msgid "Add another link"
-msgstr ""
+msgstr "Добавить ещё ÑÑылку"
msgid "Add approval rule"
msgstr "Добавить правило утверждениÑ"
@@ -1310,13 +1348,13 @@ msgid "Add comment now"
msgstr "Добавить комментарий"
msgid "Add domain"
-msgstr ""
+msgstr "Добавить домен"
msgid "Add email address"
msgstr "Добавить Ð°Ð´Ñ€ÐµÑ Ñлектронной почты"
msgid "Add environment"
-msgstr ""
+msgstr "Добавить окружение"
msgid "Add header and footer to emails. Please note that color settings will only be applied within the application interface"
msgstr "Добавить заголовок и подвал в Ñлектронные пиÑьма. ПожалуйÑта, обратите внимание, что наÑтройки цвета будут применены только в интерфейÑе приложениÑ"
@@ -1352,7 +1390,7 @@ msgid "Add reaction"
msgstr "Добавить реакцию"
msgid "Add request manually"
-msgstr ""
+msgstr "Добавить Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ"
msgid "Add system hook"
msgstr "Добавить ÑиÑтемный обработчик"
@@ -1382,7 +1420,7 @@ msgid "Add users to group"
msgstr "Добавить пользователей в группу"
msgid "Add variable"
-msgstr ""
+msgstr "Добавить переменную"
msgid "Add webhook"
msgstr "Добавить веб-обработчик"
@@ -1411,6 +1449,9 @@ msgstr "К цели добавлена задача."
msgid "Added at"
msgstr "Добавлено"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr "Добавлено в Ñтой верÑии"
@@ -1424,7 +1465,7 @@ msgid "Additional text"
msgstr "Дополнительный текÑÑ‚"
msgid "Adds"
-msgstr ""
+msgstr "ДобавлÑет"
msgid "Adds %{epic_ref} as child epic."
msgstr "ДобавлÑет %{epic_ref} как дочерний Ñлемент."
@@ -1460,22 +1501,22 @@ msgid "Admin mode disabled"
msgstr "Режим админиÑтратора отключен"
msgid "Admin mode enabled"
-msgstr ""
+msgstr "Режим админиÑтратора включен"
msgid "Admin notes"
msgstr "Заметки админиÑтратора"
msgid "AdminArea|Active users"
-msgstr ""
+msgstr "Ðктивные пользователи"
msgid "AdminArea|Billable users"
-msgstr ""
+msgstr "Оплачиваемые пользователи"
msgid "AdminArea|Blocked users"
-msgstr ""
+msgstr "Заблокированные пользователи"
msgid "AdminArea|Bots"
-msgstr ""
+msgstr "Боты"
msgid "AdminArea|Developer"
msgstr ""
@@ -1484,7 +1525,7 @@ msgid "AdminArea|Guest"
msgstr ""
msgid "AdminArea|Included Free in license"
-msgstr ""
+msgstr "Включены в лицензию беÑплатно"
msgid "AdminArea|Maintainer"
msgstr ""
@@ -1508,16 +1549,16 @@ msgid "AdminArea|Stopping jobs failed"
msgstr "ОÑтановка заданий не удалаÑÑŒ"
msgid "AdminArea|Total users"
-msgstr ""
+msgstr "Ð’Ñего пользователей"
msgid "AdminArea|Users statistics"
-msgstr ""
+msgstr "СтатиÑтика пользователей"
msgid "AdminArea|Users with highest role"
-msgstr ""
+msgstr "Пользователи Ñ Ð½Ð°Ð¸Ð²Ñ‹Ñшей ролью"
msgid "AdminArea|Users without a Group and Project"
-msgstr ""
+msgstr "Пользователи без группы и проекта"
msgid "AdminArea|You’re about to stop all jobs.This will halt all current jobs that are running."
msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ оÑтановить вÑе заданиÑ. Это дейÑтвие оÑтановит вÑе текущие заданиÑ, находÑщиеÑÑ Ð² процеÑÑе выполнениÑ."
@@ -1541,13 +1582,13 @@ msgid "AdminProjects|Delete project"
msgstr "Удалить проект"
msgid "AdminSettings|Apply integration settings to all Projects"
-msgstr ""
+msgstr "Применить наÑтройки интеграции ко вÑем проектам"
msgid "AdminSettings|Auto DevOps domain"
msgstr "Домен Auto DevOps"
msgid "AdminSettings|Elasticsearch, PlantUML, Slack application, Third party offers, Snowplow, Amazon EKS have moved to Settings > General."
-msgstr ""
+msgstr "Elasticsearch, PlantUML, приложение Slack, Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¾Ñ‚ третьих лиц, Snowplow, Amazon EKS были перемещены в ÐаÑтройки > Общие"
msgid "AdminSettings|Enable shared runners for new projects"
msgstr "ИÑпользовать общие Runner'Ñ‹ в новых проектах"
@@ -1556,10 +1597,10 @@ msgid "AdminSettings|Environment variables are protected by default"
msgstr "Переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð·Ð°Ñ‰Ð¸Ñ‰ÐµÐ½Ñ‹ по умолчанию"
msgid "AdminSettings|Go to General Settings"
-msgstr ""
+msgstr "Перейти к общим наÑтройкам"
msgid "AdminSettings|Integrations configured here will automatically apply to all projects on this instance."
-msgstr ""
+msgstr "Интеграции, наÑтроенные здеÑÑŒ, будут автоматичеÑки применÑÑ‚ÑŒÑÑ ÐºÐ¾ вÑем проектам на Ñтом ÑкземплÑре."
msgid "AdminSettings|No required pipeline"
msgstr "Ðе требуетÑÑ ÑÐ±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ"
@@ -1580,7 +1621,7 @@ msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline co
msgstr "УÑтановить автоматичеÑкую включенную %{link_start}конфигурацию Ñборочной линии%{link_end} Ð´Ð»Ñ Ð²Ñего ÑкземплÑра. Эта ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñборочной линии будет запуÑкатьÑÑ Ð¿Ð¾Ñле ÑобÑтвенной конфигурации проекта."
msgid "AdminSettings|Some settings have moved"
-msgstr ""
+msgstr "Ðекоторые наÑтройки были перемещены"
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "Укажите домен, который будет иÑпользоватьÑÑ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ð²Ñех проектов в Auto Review приложениÑÑ… и ÑтадиÑÑ… Auto Deploy."
@@ -1610,7 +1651,7 @@ msgid "AdminStatistics|Notes"
msgstr "Заметки"
msgid "AdminStatistics|SSH Keys"
-msgstr "SSH ключи"
+msgstr "Ключи SSH"
msgid "AdminStatistics|Snippets"
msgstr "Сниппеты"
@@ -1679,7 +1720,7 @@ msgid "AdminUsers|External"
msgstr "Внешние"
msgid "AdminUsers|Is using seat"
-msgstr ""
+msgstr "ИÑпользует меÑто"
msgid "AdminUsers|It's you!"
msgstr "Это вы!"
@@ -1745,25 +1786,25 @@ msgid "AdminUsers|User will not be able to login"
msgstr "Пользователь не Ñможет войти"
msgid "AdminUsers|When the user logs back in, their account will reactivate as a fully active account"
-msgstr "Когда пользователь в Ñледующий раз войдёт в ÑиÑтему, его ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ Ñнова Ñтанет полноÑтью активной"
+msgstr "Когда пользователь в Ñледующий раз войдёт в ÑиÑтему, его ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ Ñнова Ñтанет полноÑтью активной"
msgid "AdminUsers|Without projects"
msgstr "Без проектов"
msgid "AdminUsers|You are about to permanently delete the user %{username}. Issues, merge requests, and groups linked to them will be transferred to a system-wide \"Ghost-user\". To avoid data loss, consider using the %{strong_start}block user%{strong_end} feature instead. Once you %{strong_start}Delete user%{strong_end}, it cannot be undone or recovered."
-msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ окончательно удалить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %{username}. ОбÑуждениÑ, запроÑÑ‹ ÑлиÑÐ½Ð¸Ñ Ð¸ ÑвÑзанные Ñ Ð½Ð¸Ð¼Ð¸ группы будут переданы общеÑиÑтемному «Ghost-user». Чтобы избежать потери данных, раÑÑмотрите возможноÑÑ‚ÑŒ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %{strong_start}блокировки пользователÑ%{strong_end}. ПоÑле %{strong_start}ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ%{strong_end}, Ð½ÐµÐ»ÑŒÐ·Ñ Ð±ÑƒÐ´ÐµÑ‚ его воÑÑтановить или отменить удаление."
+msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ окончательно удалить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %{username}. ОбÑуждениÑ, запроÑÑ‹ ÑлиÑÐ½Ð¸Ñ Ð¸ ÑвÑзанные Ñ Ð½Ð¸Ð¼Ð¸ группы будут переданы глобальному \"пользователю-призраку\". Чтобы избежать потери данных, раÑÑмотрите возможноÑÑ‚ÑŒ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %{strong_start}блокировки пользователÑ%{strong_end}. ПоÑле %{strong_start}ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ%{strong_end}, Ð½ÐµÐ»ÑŒÐ·Ñ Ð±ÑƒÐ´ÐµÑ‚ его воÑÑтановить или отменить удаление."
msgid "AdminUsers|You are about to permanently delete the user %{username}. This will delete all of the issues, merge requests, and groups linked to them. To avoid data loss, consider using the %{strong_start}block user%{strong_end} feature instead. Once you %{strong_start}Delete user%{strong_end}, it cannot be undone or recovered."
msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ окончательно удалить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %{username}. Это удалит вÑе его обÑуждениÑ, запроÑÑ‹ ÑлиÑÐ½Ð¸Ñ Ð¸ ÑвÑзанные Ñ Ð½Ð¸Ð¼Ð¸ группы. Чтобы избежать потери данных, раÑÑмотрите возможноÑÑ‚ÑŒ иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %{strong_start}блокировки пользователÑ%{strong_end}. ПоÑле %{strong_start}ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ%{strong_end}, Ð½ÐµÐ»ÑŒÐ·Ñ Ð±ÑƒÐ´ÐµÑ‚ его воÑÑтановить или отменить удаление."
msgid "Administration"
-msgstr ""
+msgstr "ÐдминиÑтрирование"
msgid "Advanced"
msgstr "РаÑширенные"
msgid "Advanced Settings"
-msgstr ""
+msgstr "Дополнительные наÑтройки"
msgid "Advanced permissions, Large File Storage and Two-Factor authentication settings."
msgstr "Дополнительные разрешениÑ, хранилище больших файлов и наÑтройки двухфакторной аутентификации."
@@ -1784,6 +1825,72 @@ msgstr[1] "Предупреждений"
msgstr[2] "Предупреждений"
msgstr[3] "Предупреждений"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr "%{linkStart}Узнайте подробнее%{linkEnd} о наÑтройке Ñтой конечной точки Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ð¹."
@@ -1806,7 +1913,7 @@ msgid "All %{replicableType} are being scheduled for %{action}"
msgstr ""
msgid "All (default)"
-msgstr ""
+msgstr "Ð’Ñе (по умолчанию)"
msgid "All Members"
msgstr "Ð’Ñе УчаÑтники"
@@ -1818,13 +1925,13 @@ msgid "All changes are committed"
msgstr "Ð’Ñе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð°Ñ„Ð¸ÐºÑированы"
msgid "All default stages are currently visible"
-msgstr ""
+msgstr "Ðа данный момент вÑе Ñтапы по умолчанию видны"
msgid "All email addresses will be used to identify your commits."
msgstr "Ð’Ñе адреÑа Ñлектронной почты будут иÑпользоватьÑÑ Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ ваших коммитов."
msgid "All environments"
-msgstr ""
+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 "Ð’Ñе функции ÑиÑтемы включаютÑÑ Ð´Ð»Ñ Ð¿ÑƒÑÑ‚Ñ‹Ñ… проектов, Ñозданных из шаблонов или импортированных, но вы можете отключить их впоÑледÑтвии в наÑтройках проекта."
@@ -1833,13 +1940,13 @@ msgid "All groups and projects"
msgstr "Ð’Ñе группы и проекты"
msgid "All issues for this milestone are closed."
-msgstr ""
+msgstr "Ð’Ñе обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñтому Ñтапу закрыты."
msgid "All issues for this milestone are closed. You may close this milestone now."
-msgstr ""
+msgstr "Ð’Ñе обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñтому Ñтапу закрыты. Теперь вы можете закрыть Ñтот Ñтап."
msgid "All merge conflicts were resolved. The merge request can now be merged."
-msgstr ""
+msgstr "Ð’Ñе конфликты ÑлиÑÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ разрешены. Теперь Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние может быть выполнен."
msgid "All merge request dependencies have been merged"
msgstr "Ð’Ñе завиÑимоÑти запроÑа на ÑлиÑние были объединены"
@@ -1853,6 +1960,9 @@ msgstr "Ð’Ñе проекты"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "Ð’Ñе пользователи"
@@ -1866,14 +1976,17 @@ msgid "Allow commits from members who can merge to the target branch."
msgstr "Разрешить коммиты от учаÑтников, которые могут выполнÑÑ‚ÑŒ ÑлиÑние Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ веткой."
msgid "Allow group owners to manage LDAP-related settings"
-msgstr ""
+msgstr "Разрешить владельцам групп управлÑÑ‚ÑŒ наÑтройками, ÑвÑзанными Ñ LDAP"
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
-msgid "Allow owners to manually add users outside of LDAP"
+msgid "Allow owners to manage default branch protection per group"
msgstr ""
+msgid "Allow owners to manually add users outside of LDAP"
+msgstr "Разрешить владельцам вручную добавлÑÑ‚ÑŒ пользователей вне LDAP"
+
msgid "Allow projects within this group to use Git LFS"
msgstr ""
@@ -1902,7 +2015,7 @@ msgid "Allow this secondary node to replicate content on Object Storage"
msgstr ""
msgid "Allow users to dismiss the broadcast message"
-msgstr ""
+msgstr "ПозволÑет пользователÑм отклонÑÑ‚ÑŒ раÑÑылаемое Ñообщение"
msgid "Allow users to register any application to use GitLab as an OAuth provider"
msgstr "Разрешить пользователÑм региÑтрировать любое приложение Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ GitLab как провайдера OAuth"
@@ -1923,7 +2036,7 @@ msgid "Almost there"
msgstr "Почти готово"
msgid "Also called \"Issuer\" or \"Relying party trust identifier\""
-msgstr ""
+msgstr "Также называетÑÑ \"Ñмитент\" или \"идентификатор Ð´Ð¾Ð²ÐµÑ€Ð¸Ñ Ñтороны\""
msgid "Also called \"Relying party service URL\" or \"Reply URL\""
msgstr ""
@@ -1932,7 +2045,7 @@ msgid "Alternate support URL for help page and help dropdown"
msgstr ""
msgid "Alternatively, you can convert your account to a managed account by the %{group_name} group."
-msgstr ""
+msgstr "Кроме того, вы можете преобразовать Ñвой аккаунт в аккаунт, управлÑемый группой %{group_name}."
msgid "Amazon EKS"
msgstr "Amazon EKS"
@@ -1941,7 +2054,7 @@ msgid "Amazon EKS integration allows you to provision EKS clusters from GitLab."
msgstr "Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ñ Amazon EKS позволÑет вам предоÑтавлÑÑ‚ÑŒ клаÑтеры EKS из GitLab."
msgid "Amazon Web Services"
-msgstr ""
+msgstr "Amazon Web Services"
msgid "Amazon authentication is not %{link_start}correctly configured%{link_end}. Ask your GitLab administrator if you want to use this service."
msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Amazon не %{link_start}наÑтроена%{link_end}. ОбратитеÑÑŒ к Ñвоему админиÑтратору GitLab, еÑли хотите иÑпользовать Ñту Ñлужбу."
@@ -1950,7 +2063,7 @@ msgid "Amount of time (in hours) that users are allowed to skip forced configura
msgstr "Ð’Ñ€ÐµÐ¼Ñ (в чаÑах), на которое пользователÑм позволено пропуÑкать принудительную наÑтройку двухфакторной аутентификации"
msgid "An alert has been triggered in %{project_path}."
-msgstr ""
+msgstr "Предупреждение было вызвано в %{project_path}."
msgid "An application called %{link_to_client} is requesting access to your GitLab account."
msgstr "Приложение под названием %{link_to_client} запрашивает доÑтуп к вашей учетной запиÑи GitLab."
@@ -1977,6 +2090,9 @@ msgid "An error occurred fetching the approvers for the new rule."
msgstr ""
msgid "An error occurred fetching the dropdown data."
+msgstr "Произошла ошибка при извлечении данных выпадающего ÑпиÑка."
+
+msgid "An error occurred fetching the project authors."
msgstr ""
msgid "An error occurred previewing the blob"
@@ -1986,16 +2102,16 @@ msgid "An error occurred when toggling the notification subscription"
msgstr "Произошла ошибка при переключении подпиÑки на оповещениÑ"
msgid "An error occurred when trying to resolve a comment. Please try again."
-msgstr ""
+msgstr "Произошла ошибка при попытке разрешить комментарий. ПожалуйÑта, попробуйте ещё раз."
msgid "An error occurred when trying to resolve a discussion. Please try again."
-msgstr ""
+msgstr "Произошла ошибка при попытке разрешить диÑкуÑÑию. ПожалуйÑта, попробуйте ещё раз."
msgid "An error occurred when updating the issue weight"
-msgstr "Произошла ошибка при обновлении веÑа обÑуждениÑ"
+msgstr "Произошла ошибка при обновлении приоритета обÑуждениÑ"
msgid "An error occurred while adding formatted title for epic"
-msgstr ""
+msgstr "Произошла ошибка при Ñоздании форматированного заголовка Ð´Ð»Ñ Ñ†ÐµÐ»Ð¸."
msgid "An error occurred while checking group path"
msgstr "Произошла ошибка при проверке пути группы"
@@ -2004,7 +2120,7 @@ msgid "An error occurred while committing your changes."
msgstr ""
msgid "An error occurred while decoding the file."
-msgstr ""
+msgstr "Произошла ошибка при декодировании файла."
msgid "An error occurred while deleting the approvers group"
msgstr "Произошла ошибка при удалении группы подтверждений"
@@ -2013,7 +2129,7 @@ msgid "An error occurred while deleting the comment"
msgstr "Во Ð²Ñ€ÐµÐ¼Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð¾ÑˆÐ»Ð° ошибка"
msgid "An error occurred while deleting the pipeline."
-msgstr ""
+msgstr "Произошла ошибка при удалении Ñборочной линии."
msgid "An error occurred while detecting host keys"
msgstr "Произошла ошибка при обнаружении ключей хоÑта"
@@ -2031,7 +2147,7 @@ msgid "An error occurred while enabling Service Desk."
msgstr "Произошла ошибка при включении Ñлужбы поддержки."
msgid "An error occurred while fetching coverage reports."
-msgstr ""
+msgstr "Произошла ошибка при извлечении отчетов о покрытии теÑтами."
msgid "An error occurred while fetching environments."
msgstr "Произошла ошибка при получении окружениÑ."
@@ -2060,6 +2176,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr "Произошла ошибка при получении денег данных Ð´Ð»Ñ Ð±Ð¾ÐºÐ¾Ð²Ð¾Ð¹ панели"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2073,55 +2192,55 @@ msgid "An error occurred while fetching the job log."
msgstr ""
msgid "An error occurred while fetching the job trace."
-msgstr ""
+msgstr "Произошла ошибка при извлечении траÑÑировки заданиÑ."
msgid "An error occurred while fetching the job."
-msgstr ""
+msgstr "Произошла ошибка при извлечении заданиÑ."
msgid "An error occurred while fetching the jobs."
-msgstr ""
+msgstr "Ошибка при извлечении заданий."
msgid "An error occurred while fetching the latest pipeline."
-msgstr ""
+msgstr "Произошла ошибка при извлечении поÑледней Ñборочной линии."
msgid "An error occurred while fetching the pipeline."
msgstr "Произошла ошибка при получении Ñборочной линии."
msgid "An error occurred while fetching the releases. Please try again."
-msgstr ""
+msgstr "Произошла ошибка при выборке релизов. ПожалуйÑта, попробуйте ещё раз."
msgid "An error occurred while fetching this tab."
msgstr "Произошла ошибка при получении Ñтой вкладки."
msgid "An error occurred while generating a username. Please try again."
-msgstr ""
+msgstr "Произошла ошибка при генерации имени пользователÑ. ПожалуйÑта, попробуйте ещё раз."
msgid "An error occurred while getting files for - %{branchId}"
-msgstr ""
+msgstr "Произошла ошибка во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² Ð´Ð»Ñ - %{branchId}"
msgid "An error occurred while getting projects"
msgstr "Произошла ошибка при получении ÑпиÑка проектов"
msgid "An error occurred while importing project: %{details}"
-msgstr ""
+msgstr "Ошибка при импорте проекта: %{details}"
msgid "An error occurred while initializing path locks"
msgstr ""
msgid "An error occurred while loading all the files."
-msgstr ""
+msgstr "Произошла ошибка при загрузке вÑех файлов."
msgid "An error occurred while loading chart data"
-msgstr ""
+msgstr "Произошла ошибка при загрузке данных диаграммы "
msgid "An error occurred while loading clusters"
-msgstr ""
+msgstr "Произошла ошибка при загрузке клаÑтеров"
msgid "An error occurred while loading commit signatures"
-msgstr ""
+msgstr "Произошла ошибка при загрузке подпиÑей коммита"
msgid "An error occurred while loading designs. Please try again."
-msgstr ""
+msgstr "Произошла ошибка при загрузке дизайнов. ПожалуйÑта, повторите попытку."
msgid "An error occurred while loading diff"
msgstr "Произошла ошибка при загрузке различий"
@@ -2130,16 +2249,16 @@ msgid "An error occurred while loading filenames"
msgstr "Произошла ошибка при загрузке ÑпиÑка файлов"
msgid "An error occurred while loading group members."
-msgstr ""
+msgstr "Произошла ошибка при загрузке членов группы."
msgid "An error occurred while loading issues"
msgstr "Произошла ошибка при загрузке обÑуждений"
msgid "An error occurred while loading merge requests."
-msgstr ""
+msgstr "Произошла ошибка при загрузке запроÑов на ÑлиÑние."
msgid "An error occurred while loading terraform report"
-msgstr ""
+msgstr "Произошла ошибка при загрузке отчёта Terraform"
msgid "An error occurred while loading the data. Please try again."
msgstr "Произошла ошибка при загрузке данных. ПожалуйÑта, повторите попытку."
@@ -2148,16 +2267,16 @@ msgid "An error occurred while loading the file"
msgstr "Произошла ошибка при загрузке файла"
msgid "An error occurred while loading the file content."
-msgstr ""
+msgstr "Произошла ошибка при загрузке Ñодержимого файла."
msgid "An error occurred while loading the file."
-msgstr ""
+msgstr "Произошла ошибка при загрузке файла."
msgid "An error occurred while loading the file. Please try again later."
-msgstr ""
+msgstr "Произошла ошибка при загрузке файла. ПожалуйÑта, попробуйте ещё раз позже."
msgid "An error occurred while loading the merge request changes."
-msgstr ""
+msgstr "Произошла ошибка при загрузке изменений запроÑа на ÑлиÑние."
msgid "An error occurred while loading the merge request version data."
msgstr ""
@@ -2181,13 +2300,13 @@ msgid "An error occurred while parsing recent searches"
msgstr ""
msgid "An error occurred while parsing the file."
-msgstr ""
+msgstr "Произошла ошибка при обработке файла."
msgid "An error occurred while removing epics."
msgstr "Произошла ошибка при удалении целей."
msgid "An error occurred while removing issues."
-msgstr ""
+msgstr "Произошла ошибка при удалении обÑуждений."
msgid "An error occurred while rendering preview broadcast message"
msgstr "Произошла ошибка при визуализации проÑмотра широковещательного ÑообщениÑ"
@@ -2202,7 +2321,7 @@ 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 "Произошла ошибка при Ñохранении ответÑтвенных"
@@ -2229,7 +2348,7 @@ msgid "An error occurred while updating approvers"
msgstr ""
msgid "An error occurred while updating the comment"
-msgstr ""
+msgstr "Произошла ошибка при обновлении комментариÑ"
msgid "An error occurred while validating group path"
msgstr "Произошла ошибка при валидации пути группы"
@@ -2247,25 +2366,25 @@ msgid "An example project for managing Kubernetes clusters integrated with GitLa
msgstr ""
msgid "An instance-level serverless domain already exists."
-msgstr ""
+msgstr "Домен Serverless ÑƒÑ€Ð¾Ð²Ð½Ñ ÑкземплÑра уже ÑущеÑтвует."
msgid "An issue can be a bug, a todo or a feature request that needs to be discussed in a project. Besides, issues are searchable and filterable."
msgstr "Ðа обÑуждение может выноÑитÑÑ Ð±Ð°Ð³, задача или Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° быть раÑÑмотрена в проекте. Кроме того, обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупны Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка и фильтрации."
msgid "An unexpected error occurred while checking the project environment."
-msgstr ""
+msgstr "Произошла Ð½ÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при проверке Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°."
msgid "An unexpected error occurred while checking the project runners."
msgstr "Произошла Ð½ÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при проверке runner'ов проекта."
msgid "An unexpected error occurred while communicating with the Web Terminal."
-msgstr ""
+msgstr "Произошла Ð½ÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при общении к Web Terminal."
msgid "An unexpected error occurred while starting the Web Terminal."
-msgstr ""
+msgstr "Произошла Ð½ÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при запуÑке Web Terminal."
msgid "An unexpected error occurred while stopping the Web Terminal."
-msgstr ""
+msgstr "Произошла Ð½ÐµÐ¿Ñ€ÐµÐ´Ð²Ð¸Ð´ÐµÐ½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при оÑтановке Web Terminal."
msgid "Analytics"
msgstr "Ðналитика"
@@ -2274,10 +2393,10 @@ msgid "Analyze a review version of your web application."
msgstr "Проанализировать рецензируемую верÑию вашего веб-приложениÑ."
msgid "Analyze your dependencies for known vulnerabilities."
-msgstr ""
+msgstr "Ðнализируйте ваши завиÑимоÑти на предмет извеÑтных уÑзвимоÑтей."
msgid "Analyze your source code for known vulnerabilities."
-msgstr ""
+msgstr "Ðнализируйте ваш иÑходный код на предмет извеÑтных уÑзвимоÑтей."
msgid "Ancestors"
msgstr ""
@@ -2286,7 +2405,7 @@ msgid "Anonymous"
msgstr "Ðноним"
msgid "Another action is currently in progress"
-msgstr ""
+msgstr "Другое дейÑтвие уже в процеÑÑе"
msgid "Another issue tracker is already in use. Only one issue tracker service can be active at a time"
msgstr ""
@@ -2297,6 +2416,9 @@ msgstr "Ðнти-Ñпам проверка"
msgid "Any"
msgstr "Любой"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "Ð›ÑŽÐ±Ð°Ñ ÐœÐµÑ‚ÐºÐ°"
@@ -2304,7 +2426,7 @@ msgid "Any Milestone"
msgstr "Любой Ñтап"
msgid "Any branch"
-msgstr ""
+msgstr "Ð›ÑŽÐ±Ð°Ñ Ð²ÐµÑ‚ÐºÐ°"
msgid "Any eligible user"
msgstr "Любой подходÑщий пользователь"
@@ -2322,13 +2444,13 @@ msgid "Any user"
msgstr "Любой пользователь"
msgid "App ID"
-msgstr ""
+msgstr "ID приложениÑ"
msgid "Appearance"
msgstr "Оформление"
msgid "Appearance was successfully created."
-msgstr ""
+msgstr "Внешний вид уÑпешно Ñоздан."
msgid "Appearance was successfully updated."
msgstr "Внешний вид уÑпешно изменен."
@@ -2346,16 +2468,16 @@ msgid "Application ID"
msgstr "Идентификатор приложениÑ"
msgid "Application settings saved successfully"
-msgstr ""
+msgstr "ÐаÑтройки Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑƒÑпешно Ñохранены"
msgid "Application settings update failed"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ обновить наÑтройки приложениÑ"
msgid "Application uninstalled but failed to destroy: %{error_message}"
msgstr ""
msgid "Application was successfully destroyed."
-msgstr ""
+msgstr "Приложение было уÑпешно удалено."
msgid "Application was successfully updated."
msgstr "Приложение было уÑпешно обновлено."
@@ -2403,7 +2525,7 @@ msgid "Applying suggestion"
msgstr "Применение предложениÑ"
msgid "Approval rules"
-msgstr ""
+msgstr "Правила утверждениÑ"
msgid "ApprovalRuleRemove|%d member"
msgid_plural "ApprovalRuleRemove|%d members"
@@ -2415,9 +2537,9 @@ msgstr[3] "%d учаÑтников"
msgid "ApprovalRuleRemove|Approvals from this member are not revoked."
msgid_plural "ApprovalRuleRemove|Approvals from these members are not revoked."
msgstr[0] "ÐžÐ´Ð¾Ð±Ñ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого учаÑтника не отменÑÑŽÑ‚ÑÑ."
-msgstr[1] "ÐžÐ´Ð¾Ð±Ñ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого учаÑтника не отменÑÑŽÑ‚ÑÑ."
-msgstr[2] "ÐžÐ´Ð¾Ð±Ñ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого учаÑтника не отменÑÑŽÑ‚ÑÑ."
-msgstr[3] "ÐžÐ´Ð¾Ð±Ñ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтого учаÑтника не отменÑÑŽÑ‚ÑÑ."
+msgstr[1] "ÐžÐ´Ð¾Ð±Ñ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтих учаÑтников не отменÑÑŽÑ‚ÑÑ."
+msgstr[2] "ÐžÐ´Ð¾Ð±Ñ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтих учаÑтников не отменÑÑŽÑ‚ÑÑ."
+msgstr[3] "ÐžÐ´Ð¾Ð±Ñ€ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñтих учаÑтников не отменÑÑŽÑ‚ÑÑ."
msgid "ApprovalRuleRemove|You are about to remove the %{name} approver group which has %{nMembers}."
msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ удалить группу %{name} утверждающих, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¸Ð¼ÐµÐµÑ‚ %{nMembers}."
@@ -2449,37 +2571,37 @@ msgid "ApprovalRule|Rule name"
msgstr "Ðазвание правила"
msgid "ApprovalRule|Target branch"
-msgstr ""
+msgstr "Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð²ÐµÑ‚ÐºÐ°"
msgid "ApprovalRule|e.g. QA, Security, etc."
-msgstr ""
+msgstr "например, QA, Security и т. д."
msgid "Approvals"
msgstr "СоглаÑованиÑ"
msgid "Approvals (you've approved)"
-msgstr ""
+msgstr "Ð£Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ (ваши)"
msgid "Approve"
msgstr "Одобрить"
msgid "Approve a merge request"
-msgstr ""
+msgstr "Утвердить Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние"
msgid "Approve the current merge request."
-msgstr ""
+msgstr "Утвердить текущий Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние."
msgid "Approved by: "
-msgstr ""
+msgstr "Утверждено: "
msgid "Approved the current merge request."
msgstr ""
msgid "Approver"
-msgstr ""
+msgstr "Утверждающий"
msgid "Approvers"
-msgstr ""
+msgstr "Утверждающие"
msgid "Apr"
msgstr "Ðпр."
@@ -2488,7 +2610,7 @@ msgid "April"
msgstr "Ðпрель"
msgid "Archive"
-msgstr ""
+msgstr "Ðрхив"
msgid "Archive jobs"
msgstr ""
@@ -2497,7 +2619,7 @@ msgid "Archive project"
msgstr "Ðрхивировать проект"
msgid "Archived"
-msgstr ""
+msgstr "Ðрхивные"
msgid "Archived project! Repository and other project resources are read only"
msgstr "Ðрхивный проект! Репозиторий и другие реÑурÑÑ‹ проекта доÑтупны только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
@@ -2512,7 +2634,7 @@ msgid "Archiving the project will make it entirely read only. It is hidden from
msgstr "Ðрхивирование Ñтого проекта Ñделает его полноÑтью недоÑтупным Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ. Он не будет отображатьÑÑ Ð² панели ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ в поиÑке.%{strong_start}Ð’ репозиторий проекта Ð½ÐµÐ»ÑŒÐ·Ñ Ð±ÑƒÐ´ÐµÑ‚ вноÑить коммиты, а также невозможно будет Ñоздавать обÑуждениÑ, комментарии и прочее.%{strong_end}"
msgid "Are you setting up GitLab for a company?"
-msgstr ""
+msgstr "УÑтанавливаете GitLab Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ð¸?"
msgid "Are you sure that you want to archive this project?"
msgstr "Ð’Ñ‹ уверены, что хотите архивировать Ñтот проект?"
@@ -2520,15 +2642,15 @@ msgstr "Ð’Ñ‹ уверены, что хотите архивировать Ñто
msgid "Are you sure that you want to unarchive this project?"
msgstr "Ð’Ñ‹ уверены, что хотите воÑÑтановить Ñтот проект?"
-msgid "Are you sure you want to cancel creating this comment?"
-msgstr "Ð’Ñ‹ уверены, что вы хотите отменить Ñоздание Ñтого комментариÑ?"
-
msgid "Are you sure you want to cancel editing this comment?"
msgstr "Ð’Ñ‹ уверены, что хотите отменить редактирование данного комментариÑ?"
-msgid "Are you sure you want to delete %{name}?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
+msgid "Are you sure you want to delete %{name}?"
+msgstr "Вы точно хотите удалить %{name}?"
+
msgid "Are you sure you want to delete these artifacts?"
msgstr "Ð’Ñ‹ уверены, что хотите удалить Ñти артефакты?"
@@ -2553,6 +2675,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "Ð’Ñ‹ уверены, что вы хотите удалить Ñту Ñборку?"
@@ -2611,10 +2736,10 @@ msgid "Are you sure?"
msgstr "Вы уверены?"
msgid "Are you sure? All commits that were signed with this GPG key will be unverified."
-msgstr "Ð’Ñ‹ уверены? Ð’Ñе коммиты, которые были подпиÑаны Ñ Ñтим GPG ключом, будут не подтверждены."
+msgstr "Ð’Ñ‹ уверены? Ð’Ñе коммиты, которые были подпиÑаны Ñ Ñтим ключом GPG, не будут подтверждены."
msgid "Are you sure? Removing this GPG key does not affect already signed commits."
-msgstr "Ð’Ñ‹ уверены? Удаление Ñтого GPG ключа не повлиÑет на уже подпиÑанные коммиты."
+msgstr "Ð’Ñ‹ уверены? Удаление Ñтого ключа GPG не повлиÑет на уже подпиÑанные коммиты."
msgid "Are you sure? The device will be signed out of GitLab."
msgstr ""
@@ -2731,6 +2856,9 @@ msgstr "Ðазначение %{assignee_users_sentence}."
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2738,7 +2866,7 @@ msgid "At risk"
msgstr ""
msgid "Attach a file"
-msgstr ""
+msgstr "Прикрепить файл"
msgid "Attach a file by drag &amp; drop or %{upload_link}"
msgstr "Приложить файл через drag &amp; drop или %{upload_link}"
@@ -2763,7 +2891,7 @@ msgid "AuditEvents|(removed)"
msgstr ""
msgid "AuditEvents|Action"
-msgstr ""
+msgstr "ДейÑтвие"
msgid "AuditEvents|At"
msgstr ""
@@ -2771,6 +2899,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "Ðвг."
@@ -2793,7 +2942,7 @@ msgid "Authentication Log"
msgstr "Журнал аутентификации"
msgid "Authentication failed: %{error_message}"
-msgstr ""
+msgstr "Ошибка аутентификации: %{error_message}"
msgid "Authentication log"
msgstr "Журнал аутентификации"
@@ -2829,7 +2978,7 @@ msgid "Authorize %{link_to_client} to use your account?"
msgstr "ÐвторизуйтеÑÑŒ %{link_to_client} Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð°ÑˆÐµÐ¹ учетной запиÑи?"
msgid "Authorized %{new_chat_name}"
-msgstr ""
+msgstr "Ðвторизован %{new_chat_name}"
msgid "Authorized At"
msgstr "Ðвторизован в"
@@ -2850,7 +2999,7 @@ msgid "Auto DevOps, runners and job artifacts"
msgstr "ÐвтоматичеÑкий DevOps, обработчики и артефакты заданий"
msgid "Auto License Compliance"
-msgstr "ÐвтоматичеÑкое Ñлужба ÑÐ¾Ð±Ð»ÑŽÐ´ÐµÐ½Ð¸Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ð¹"
+msgstr "ÐвтоматичеÑÐºÐ°Ñ Ñлужба комплаенÑа лицензий"
msgid "Auto stop successfully canceled."
msgstr ""
@@ -2865,7 +3014,7 @@ msgid "AutoDevOps|Auto DevOps"
msgstr "ÐвтоматичеÑкий DevOps"
msgid "AutoDevOps|Auto DevOps can automatically build, test, and deploy applications based on predefined continuous integration and delivery configuration. %{auto_devops_start}Learn more about Auto DevOps%{auto_devops_end} or use our %{quickstart_start}quick start guide%{quickstart_end} to get started right away."
-msgstr ""
+msgstr "ÐвтоматичеÑкий DevOps может автоматичеÑки Ñобирать, теÑтировать и развертывать приложениÑ, оÑновываÑÑÑŒ на предпопределенных наÑтройках непрерывной интеграции и развертываниÑ. %{auto_devops_start}Узнайте больше про автоматичеÑкий ÐвтоматичеÑкий DevOps%{auto_devops_end} или иÑпользуйте наше %{quickstart_start}рукодводÑтво по быÑтрому Ñтарту%{quickstart_end}, чтобы приÑтупить Ñразу же."
msgid "AutoDevOps|Auto DevOps documentation"
msgstr "Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ð¾ Auto DevOps"
@@ -2919,16 +3068,16 @@ msgid "Available group Runners: %{runners}"
msgstr "ДоÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° runner'ов: %{runners}"
msgid "Available shared Runners:"
-msgstr ""
+msgstr "ДоÑтупные общие Runner'Ñ‹:"
msgid "Available specific runners"
msgstr "ДоÑтупные ÑпецифичеÑкие runner'Ñ‹"
msgid "Avatar for %{assigneeName}"
-msgstr ""
+msgstr "Ðватар Ð´Ð»Ñ %{assigneeName}"
msgid "Avatar for %{name}"
-msgstr ""
+msgstr "Ðватар Ð´Ð»Ñ %{name}"
msgid "Avatar will be removed. Are you sure?"
msgstr "Ðватар будет удален. Ð’Ñ‹ уверены?"
@@ -2958,7 +3107,7 @@ msgid "Badges|Add badge"
msgstr "Добавить значок"
msgid "Badges|Adding the badge failed, please check the entered URLs and try again."
-msgstr "Добавление значка не удалоÑÑŒ, пожалуйÑта, проверьте введенный URL и попробуйте еще раз."
+msgstr "Добавление значка не удалоÑÑŒ, пожалуйÑта, проверьте введенный URL и попробуйте ещё раз."
msgid "Badges|Badge image URL"
msgstr "URL-Ð°Ð´Ñ€ÐµÑ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐºÐ°"
@@ -2982,7 +3131,7 @@ msgid "Badges|Link"
msgstr "СÑылка"
msgid "Badges|Name"
-msgstr ""
+msgstr "ИмÑ"
msgid "Badges|No badge image"
msgstr "Ðет Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐºÐ°"
@@ -3033,7 +3182,7 @@ msgid "Badge|New"
msgstr "Ðовый"
msgid "Balsamiq file could not be loaded."
-msgstr ""
+msgstr "Файл Balsamiq не может быть загружен."
msgid "BambooService|A continuous integration and build server"
msgstr "Сервер непрерывной интеграции и Ñборки"
@@ -3045,22 +3194,19 @@ msgid "BambooService|Atlassian Bamboo CI"
msgstr "Atlassian Bamboo CI"
msgid "BambooService|Bamboo build plan key like KEY"
-msgstr ""
+msgstr "Ключ плана Ñборки Bamboo, подобный KEY"
msgid "BambooService|Bamboo root URL like https://bamboo.example.com"
-msgstr ""
+msgstr "Корневой URL-Ð°Ð´Ñ€ÐµÑ Bamboo, подобный https://bamboo.example.com"
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
-msgstr ""
-
-msgid "Batch operations"
-msgstr ""
+msgstr "Ð’Ñ‹ должны наÑтроить автоматичеÑкое приÑвоение меток ревизиÑм и триггер Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð² ÑервиÑе Bamboo."
msgid "BatchComments|Delete all pending comments"
msgstr "Удалить вÑе находÑщиеÑÑ Ð½Ð° раÑÑмотрении комментарии"
msgid "BatchComments|Discard review?"
-msgstr ""
+msgstr "Закрыть отзыв без ÑохранениÑ?"
msgid "BatchComments|You're about to discard your review which will delete all of your pending comments. The deleted comments %{strong_start}cannot%{strong_end} be restored."
msgstr ""
@@ -3078,25 +3224,25 @@ msgid "Below are examples of regex for existing tools:"
msgstr "Ðиже приведены примеры регулÑрных выражений Ð´Ð»Ñ ÑущеÑтвующих инÑтрументов:"
msgid "Below are the fingerprints for the current instance SSH host keys."
-msgstr ""
+msgstr "Ðиже приведены отпечатки ключей SSH текущего ÑкземплÑра."
msgid "Below you will find all the groups that are public."
-msgstr "Ðиже вы найдете вÑе группы, которые ÑвлÑÑŽÑ‚ÑÑ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼Ð¸."
+msgstr "Ðиже показаны вÑе открытые группы."
msgid "Billing"
msgstr "Тарифы"
msgid "BillingPlans|%{group_name} is currently using the %{plan_name} plan."
-msgstr ""
+msgstr "%{group_name} ÑÐµÐ¹Ñ‡Ð°Ñ Ð¸Ñпользует тарифный план %{plan_name}."
msgid "BillingPlans|@%{user_name} you are currently using the %{plan_name} plan."
-msgstr ""
+msgstr "@%{user_name}, ÑÐµÐ¹Ñ‡Ð°Ñ Ð²Ñ‹ иÑпользуете тарифный план %{plan_name}."
msgid "BillingPlans|Congratulations, your new trial is activated"
msgstr ""
msgid "BillingPlans|If you would like to downgrade your plan please contact %{support_link_start}Customer Support%{support_link_end}."
-msgstr ""
+msgstr "ЕÑли вы хотите понизить уровень Ñвоего тарифного плана, пожалуйÑта, ÑвÑжитеÑÑŒ Ñо %{support_link_start}Ñлужбой поддержки пользователей%{support_link_end}."
msgid "BillingPlans|Learn more about each plan by reading our %{faq_link}, or start a free 30-day trial of GitLab.com Gold."
msgstr "Узнайте больше о каждом плане, прочитав %{faq_link}, или начните иÑпользовать беÑплатный 30-дневный пробный период GitLab.com Gold."
@@ -3111,7 +3257,7 @@ msgid "BillingPlans|Pricing page"
msgstr "Страница Ñ Ñ†ÐµÐ½Ð°Ð¼Ð¸"
msgid "BillingPlans|See all %{plan_name} features"
-msgstr ""
+msgstr "Ð’Ñе возможноÑти %{plan_name}"
msgid "BillingPlans|This group uses the plan associated with its parent group."
msgstr ""
@@ -3126,7 +3272,7 @@ msgid "BillingPlans|Your GitLab.com trial expired on %{expiration_date}. You can
msgstr ""
msgid "BillingPlans|billed annually at %{price_per_year}"
-msgstr ""
+msgstr "%{price_per_year} в год"
msgid "BillingPlans|frequently asked questions"
msgstr "чаÑто задаваемые вопроÑÑ‹"
@@ -3138,7 +3284,7 @@ msgid "BillingPlans|per user"
msgstr "на одного пользователÑ"
msgid "BillingPlan|Upgrade"
-msgstr "Обновление"
+msgstr "Улучшить"
msgid "Bitbucket Server Import"
msgstr "Импорт из Bitbucket Server"
@@ -3150,10 +3296,10 @@ msgid "Blocked"
msgstr ""
msgid "Blocked issue"
-msgstr ""
+msgstr "Заблокированное обÑуждение"
msgid "Blocks"
-msgstr ""
+msgstr "Блокирует"
msgid "Blog"
msgstr "Блог"
@@ -3185,17 +3331,20 @@ msgstr "ЗапуÑк Ñ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ ÑпиÑков по умолчанию п
msgid "Boards"
msgstr "ДоÑки"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr "Свернуть"
msgid "Boards|Edit board"
-msgstr ""
+msgstr "Редактировать доÑку"
msgid "Boards|Expand"
msgstr "Развернуть"
msgid "Boards|View scope"
-msgstr ""
+msgstr "ПроÑмотр облаÑти"
msgid "Branch"
msgstr "Ветвь"
@@ -3378,22 +3527,22 @@ msgid "BuildArtifacts|Loading artifacts"
msgstr "Загрузка артефактов"
msgid "Built-in"
-msgstr ""
+msgstr "Ð’Ñтроенный"
msgid "Bulk request concurrency"
-msgstr ""
+msgstr "РаÑпараллеливание маÑÑовых запроÑов"
msgid "Burndown chart"
msgstr "ÐиÑходÑщий график"
msgid "BurndownChartLabel|Open issue weight"
-msgstr "Открыть Ð²ÐµÑ Ð·Ð°Ð´Ð°Ñ‡Ð¸"
+msgstr "Открыть приоритет задачи"
msgid "BurndownChartLabel|Open issues"
msgstr "Открыть обÑуждениÑ"
msgid "Business"
-msgstr ""
+msgstr "БизнеÑ"
msgid "Business metrics (Custom)"
msgstr ""
@@ -3404,11 +3553,14 @@ msgstr "Купить EE"
msgid "Buy GitLab Enterprise Edition"
msgstr "Купить верÑию GitLab Enterprise"
-msgid "By %{user_name}"
+msgid "Buy more Pipeline minutes"
msgstr ""
+msgid "By %{user_name}"
+msgstr "От %{user_name}"
+
msgid "By default GitLab sends emails in HTML and plain text formats so mail clients can choose what format to use. Disable this option if you only want to send emails in plain text format."
-msgstr ""
+msgstr "По умолчанию GitLab отправлÑет пиÑьма в формате HTML и обычного текÑта, так чтобы почтовые клиенты могли выбрать, какой формат иÑпользовать. Отключите Ñту опцию, еÑли вы хотите отправлÑÑ‚ÑŒ пиÑьма только в текÑтовом формате."
msgid "By default, all projects and groups will use the global notifications setting."
msgstr "По умолчанию вÑе проекты и группы будут иÑпользовать глобальные наÑтройки уведомлений."
@@ -3423,7 +3575,7 @@ msgid "CI / CD"
msgstr "CI / CD"
msgid "CI / CD Charts"
-msgstr ""
+msgstr "Графики CI / CD"
msgid "CI / CD Settings"
msgstr "ÐаÑтройки CI / CD"
@@ -3465,7 +3617,7 @@ msgid "CICD|Default to Auto DevOps pipeline"
msgstr "По умолчанию Ð´Ð»Ñ Ñборочной линии Auto DevOps"
msgid "CICD|Default to Auto DevOps pipeline for all projects"
-msgstr ""
+msgstr "Параметры автоматичеÑкого DevOps по умолчанию Ð´Ð»Ñ Ð²Ñех проектов"
msgid "CICD|Deployment strategy"
msgstr "Ð¡Ñ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ"
@@ -3477,10 +3629,10 @@ msgid "CICD|The Auto DevOps pipeline will run if no alternative CI configuration
msgstr "Сборка Auto DevOps будет запущена, еÑли не будет найден иной файл конфигурации CI."
msgid "CICD|You must add a %{base_domain_link_start}base domain%{link_end} to your %{kubernetes_cluster_link_start}Kubernetes cluster%{link_end} in order for your deployment strategy to work."
-msgstr ""
+msgstr "Ð’Ñ‹ должны добавить %{base_domain_link_start}базовый домен%{link_end} в Ñвой %{kubernetes_cluster_link_start}Kubernetes клаÑтер%{link_end} Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы ваша ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð»Ð°."
msgid "CICD|You must add a %{kubernetes_cluster_link_start}Kubernetes cluster integration%{link_end} to this project with a domain in order for your deployment strategy to work correctly."
-msgstr ""
+msgstr "Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾ работала, необходимо добавить в Ñтот проект %{kubernetes_cluster_link_start}интеграцию клаÑтера Kubernetes%{link_end} Ñ Ð´Ð¾Ð¼ÐµÐ½Ð¾Ð¼."
msgid "CICD|group enabled"
msgstr "группа включена"
@@ -3516,7 +3668,7 @@ msgid "Can't find variable: ZiteReader"
msgstr ""
msgid "Can't load mermaid module: %{err}"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ загрузить Mermaid-модуль: %{err}"
msgid "Can't remove group members without group managed account"
msgstr ""
@@ -3524,11 +3676,14 @@ msgstr ""
msgid "Can't scan the code?"
msgstr "Ðе удаетÑÑ Ð¾Ñ‚Ñканировать QR-код?"
-msgid "Canary"
+msgid "Can't update snippet: %{err}"
msgstr ""
+msgid "Canary"
+msgstr "Canary"
+
msgid "Canary Deployments is a popular CI strategy, where a small portion of the fleet is updated to the new version of your application."
-msgstr ""
+msgstr "Ð Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Canary - популÑÑ€Ð½Ð°Ñ Ñтратегии CI, когда Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‡Ð°ÑÑ‚ÑŒ аудитории получает новую верÑию приложениÑ."
msgid "Cancel"
msgstr "Отмена"
@@ -3540,7 +3695,7 @@ msgid "Cancel this job"
msgstr "Отменить Ñто задание"
msgid "Canceled deployment to"
-msgstr ""
+msgstr "Отменено развёртывание в"
msgid "Cancelling Preview"
msgstr "Отмена предварительного проÑмотра"
@@ -3558,13 +3713,13 @@ msgid "Cannot have multiple Jira imports running at the same time"
msgstr ""
msgid "Cannot import because issues are not available in this project."
-msgstr ""
+msgstr "Ðе удаётÑÑ Ð¸Ð¼Ð¿Ð¾Ñ€Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ, потому что обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð½Ðµ доÑтупны в Ñтом проекте."
msgid "Cannot make epic confidential if it contains not-confidential issues"
-msgstr ""
+msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ñделать цель конфиденциальной, еÑли она Ñодержит неконфиденциальные обÑуждениÑ"
msgid "Cannot make epic confidential if it contains not-confidential sub-epics"
-msgstr ""
+msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ñделать цель конфиденциальной, еÑли она Ñодержит неконфиденциальные подцели"
msgid "Cannot merge"
msgstr "Ðе удаетÑÑ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ð¸Ñ‚ÑŒ"
@@ -3585,7 +3740,7 @@ msgid "Cannot refer to a group milestone by an internal id!"
msgstr ""
msgid "Cannot set confidential epic for not-confidential issue"
-msgstr ""
+msgstr "ÐÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ неконфиденциальое обÑуждение к конфиденциальной цели"
msgid "Cannot show preview. For previews on sketch files, they must have the file format introduced by Sketch version 43 and above."
msgstr ""
@@ -3603,7 +3758,7 @@ msgid "Certificate (PEM)"
msgstr "Сертификат (PEM)"
msgid "Certificate Issuer"
-msgstr ""
+msgstr "Эмитент Ñертификата"
msgid "Certificate Subject"
msgstr ""
@@ -3618,7 +3773,7 @@ msgid "Change assignee(s)."
msgstr ""
msgid "Change branches"
-msgstr ""
+msgstr "Сменить ветки"
msgid "Change label"
msgstr "Изменить метку"
@@ -3627,7 +3782,7 @@ msgid "Change milestone"
msgstr "Изменить Ñтап"
msgid "Change path"
-msgstr ""
+msgstr "Изменить путь"
msgid "Change permissions"
msgstr "Изменить разрешениÑ"
@@ -3692,6 +3847,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr "Изменение пути группы может иметь побочные Ñффекты."
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3699,7 +3857,7 @@ msgid "Chat"
msgstr "Чат"
msgid "ChatMessage|%{project_link}: Pipeline %{pipeline_link} of %{ref_type} %{ref_link} by %{user_combined_name} %{humanized_status} in %{duration}"
-msgstr ""
+msgstr "%{project_link}: Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ %{pipeline_link} из %{ref_type} %{ref_link} Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %{user_combined_name} %{humanized_status} за %{duration}"
msgid "ChatMessage|Branch"
msgstr "Ветка"
@@ -3708,10 +3866,10 @@ msgid "ChatMessage|Commit"
msgstr "Коммит"
msgid "ChatMessage|Failed job"
-msgstr ""
+msgstr "Задание не выполнено"
msgid "ChatMessage|Failed stage"
-msgstr ""
+msgstr "Этап не выполнен"
msgid "ChatMessage|Invalid CI config YAML file"
msgstr "Ðеверный YAML файл конфигурации CI"
@@ -3720,7 +3878,7 @@ msgid "ChatMessage|Pipeline #%{pipeline_id} %{humanized_status} in %{duration}"
msgstr ""
msgid "ChatMessage|Pipeline %{pipeline_link} of %{ref_type} %{ref_link} by %{user_combined_name} %{humanized_status}"
-msgstr ""
+msgstr "Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ %{pipeline_link} из %{ref_type} %{ref_link} Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %{user_combined_name} %{humanized_status}"
msgid "ChatMessage|Tag"
msgstr "Тег"
@@ -3728,9 +3886,6 @@ msgstr "Тег"
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3746,9 +3901,6 @@ msgstr "в %{duration}"
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr "Проверить Ñнова"
@@ -3762,13 +3914,13 @@ msgid "Check your .gitlab-ci.yml"
msgstr "Проверьте ваш .gitlab-ci.yml"
msgid "Check your Docker images for known vulnerabilities."
-msgstr ""
+msgstr "Проверьте ваши образы Docker на наличие извеÑтных уÑзвимоÑтей."
msgid "Checking %{text} availability…"
msgstr "Проверка доÑтупноÑти %{text} ..."
msgid "Checking approval status"
-msgstr ""
+msgstr "Проверка ÑтатуÑа утверждениÑ"
msgid "Checking branch availability..."
msgstr "Проверка доÑтупноÑти ветви..."
@@ -3780,7 +3932,7 @@ msgid "Checking username availability..."
msgstr "Проверка доÑтупноÑти имени пользователÑ..."
msgid "Checkout"
-msgstr ""
+msgstr "Оформление заказа"
msgid "Checkout|$%{selectedPlanPrice} per user per year"
msgstr ""
@@ -3792,7 +3944,7 @@ msgid "Checkout|%{name}'s GitLab subscription"
msgstr ""
msgid "Checkout|%{selectedPlanText} plan"
-msgstr ""
+msgstr "план %{selectedPlanText}"
msgid "Checkout|%{startDate} - %{endDate}"
msgstr ""
@@ -3810,7 +3962,7 @@ msgid "Checkout|3. Your GitLab group"
msgstr ""
msgid "Checkout|Billing address"
-msgstr ""
+msgstr "Платёжный адреÑ"
msgid "Checkout|Checkout"
msgstr ""
@@ -3825,7 +3977,7 @@ msgid "Checkout|Confirming..."
msgstr ""
msgid "Checkout|Continue to billing"
-msgstr ""
+msgstr "Перейти к оплате"
msgid "Checkout|Continue to payment"
msgstr ""
@@ -3864,13 +4016,13 @@ msgid "Checkout|Failed to register credit card. Please try again."
msgstr ""
msgid "Checkout|GitLab group"
-msgstr ""
+msgstr "Группа GitLab"
msgid "Checkout|GitLab plan"
-msgstr ""
+msgstr "План GitLab"
msgid "Checkout|Group"
-msgstr ""
+msgstr "Группа"
msgid "Checkout|Name of company or organization using GitLab"
msgstr ""
@@ -3879,49 +4031,49 @@ msgid "Checkout|Need more users? Purchase GitLab for your %{company}."
msgstr ""
msgid "Checkout|Number of users"
-msgstr ""
+msgstr "КоличеÑтво пользователей"
msgid "Checkout|Payment method"
-msgstr ""
+msgstr "СпоÑоб оплаты"
msgid "Checkout|Please select a country"
-msgstr ""
+msgstr "ПожалуйÑта, выберите Ñтрану"
msgid "Checkout|Please select a state"
-msgstr ""
+msgstr "ПожалуйÑта, выберите штат"
msgid "Checkout|Select"
-msgstr ""
+msgstr "Выбрать"
msgid "Checkout|State"
-msgstr ""
+msgstr "СоÑтоÑние"
msgid "Checkout|Street address"
-msgstr ""
+msgstr "ÐÐ´Ñ€ÐµÑ ÑƒÐ»Ð¸Ñ†Ñ‹"
msgid "Checkout|Submitting the credit card form failed with code %{errorCode}: %{errorMessage}"
msgstr ""
msgid "Checkout|Subscription details"
-msgstr ""
+msgstr "Детали подпиÑки"
msgid "Checkout|Subtotal"
-msgstr ""
+msgstr "Подытог"
msgid "Checkout|Tax"
-msgstr ""
+msgstr "Ðалоги"
msgid "Checkout|Total"
-msgstr ""
+msgstr "Итого"
msgid "Checkout|Users"
-msgstr ""
+msgstr "Пользователи"
msgid "Checkout|You'll create your new group after checkout"
msgstr ""
msgid "Checkout|Your organization"
-msgstr ""
+msgstr "Ваша организациÑ"
msgid "Checkout|Your subscription will be applied to this group"
msgstr ""
@@ -3930,7 +4082,7 @@ msgid "Checkout|Zip code"
msgstr ""
msgid "Checkout|company or team"
-msgstr ""
+msgstr "ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ команда"
msgid "Cherry-pick this commit"
msgstr "Подобрать в Ñтом коммите"
@@ -3981,7 +4133,7 @@ msgid "Choose between <code>clone</code> or <code>fetch</code> to get the recent
msgstr ""
msgid "Choose file…"
-msgstr ""
+msgstr "Выберите файл…"
msgid "Choose the top-level group for your repository imports."
msgstr ""
@@ -3993,7 +4145,7 @@ msgid "Choose what content you want to see on a group’s overview page"
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 ""
@@ -4002,7 +4154,7 @@ msgid "Choose which shards you wish to synchronize to this secondary node"
msgstr ""
msgid "Choose your framework"
-msgstr ""
+msgstr "Выберите фреймворк"
msgid "CiStatusLabel|canceled"
msgstr "отменено"
@@ -4011,7 +4163,7 @@ msgid "CiStatusLabel|created"
msgstr "Ñоздано"
msgid "CiStatusLabel|delayed"
-msgstr ""
+msgstr "отложено"
msgid "CiStatusLabel|failed"
msgstr "неудачно"
@@ -4035,13 +4187,13 @@ msgid "CiStatusLabel|skipped"
msgstr "пропущено"
msgid "CiStatusLabel|waiting for delayed job"
-msgstr ""
+msgstr "ожидание отложенного заданиÑ"
msgid "CiStatusLabel|waiting for manual action"
msgstr "ожидание ручных дейÑтвий"
msgid "CiStatusLabel|waiting for resource"
-msgstr ""
+msgstr "ожидание реÑурÑа"
msgid "CiStatusText|blocked"
msgstr "заблокировано"
@@ -4053,7 +4205,7 @@ msgid "CiStatusText|created"
msgstr "Ñоздано"
msgid "CiStatusText|delayed"
-msgstr ""
+msgstr "отложено"
msgid "CiStatusText|failed"
msgstr "неудачно"
@@ -4068,22 +4220,22 @@ msgid "CiStatusText|pending"
msgstr "в ожидании"
msgid "CiStatusText|preparing"
-msgstr ""
+msgstr "подготавливаетÑÑ"
msgid "CiStatusText|skipped"
msgstr "пропущено"
msgid "CiStatusText|waiting"
-msgstr ""
+msgstr "в ожидании"
msgid "CiStatus|running"
msgstr "выполнÑетÑÑ"
msgid "CiVariables|Cannot use Masked Variable with current value"
-msgstr ""
+msgstr "Ðевозможно иÑпользовать маÑкируемую переменную Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ значением"
msgid "CiVariables|Environments"
-msgstr ""
+msgstr "ОкружениÑ"
msgid "CiVariables|Input variable key"
msgstr "Ключ входной переменной"
@@ -4092,31 +4244,31 @@ msgid "CiVariables|Input variable value"
msgstr "Значение входной переменной"
msgid "CiVariables|Key"
-msgstr ""
+msgstr "Ключ"
msgid "CiVariables|Masked"
-msgstr ""
+msgstr "МаÑкируемаÑ"
msgid "CiVariables|Protected"
-msgstr ""
+msgstr "ЗащищеннаÑ"
msgid "CiVariables|Remove variable row"
msgstr "Удалить Ñтроку переменных"
msgid "CiVariables|Scope"
-msgstr ""
+msgstr "ОблаÑÑ‚ÑŒ видимоÑти"
msgid "CiVariables|Specify variable values to be used in this run. The values specified in %{linkStart}CI/CD settings%{linkEnd} will be used as default"
msgstr "Укажите Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…, которые будут иÑпользоватьÑÑ Ð² Ñтой Ñборочной линии. ЗначениÑ, указанные в %{linkStart} наÑтройках CI / CD %{linkEnd} будут иÑпользоватьÑÑ Ð¿Ð¾ умолчанию"
msgid "CiVariables|State"
-msgstr ""
+msgstr "СоÑтоÑние"
msgid "CiVariables|Type"
-msgstr ""
+msgstr "Тип"
msgid "CiVariables|Value"
-msgstr ""
+msgstr "Значение"
msgid "CiVariables|Variables"
msgstr "Переменные"
@@ -4128,22 +4280,22 @@ msgid "CiVariable|All environments"
msgstr "Ð’Ñе Ñреды"
msgid "CiVariable|Create wildcard"
-msgstr ""
+msgstr "Создать шаблон"
msgid "CiVariable|Error occurred while saving variables"
-msgstr ""
+msgstr "Ошибка при Ñохранении переменных"
msgid "CiVariable|Masked"
-msgstr ""
+msgstr "ЗамаÑкировано"
msgid "CiVariable|New environment"
-msgstr ""
+msgstr "Ðовое окружение"
msgid "CiVariable|Protected"
msgstr "Защищено"
msgid "CiVariable|Search environments"
-msgstr ""
+msgstr "ИÑкать окружениÑ"
msgid "CiVariable|Toggle masked"
msgstr ""
@@ -4155,13 +4307,13 @@ msgid "CiVariable|Validation failed"
msgstr "Проверка не удалаÑÑŒ"
msgid "Class"
-msgstr ""
+msgstr "КлаÑÑ"
msgid "Class:"
-msgstr ""
+msgstr "КлаÑÑ:"
msgid "Classification Label (optional)"
-msgstr ""
+msgstr "Метка клаÑÑификации (опционально)"
msgid "ClassificationLabelUnavailable|is unavailable: %{reason}"
msgstr ""
@@ -4188,20 +4340,17 @@ msgid "Clear templates search input"
msgstr "ОчиÑтить шаблоны ввода данных Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка"
msgid "Clear weight"
-msgstr ""
+msgstr "ОчиÑтить приоритет"
msgid "Cleared weight."
-msgstr ""
+msgstr "Приоритет очищен."
msgid "Clears weight."
-msgstr ""
+msgstr "Очищает приоритет."
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "Выберите из ÑпиÑка любой <strong>проект</strong>, чтобы перейти к Ñтапу проекта."
-msgid "Click here"
-msgstr "Ðажмите здеÑÑŒ"
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4215,7 +4364,7 @@ msgid "Click the button below to begin the install process by navigating to the
msgstr "Ðажмите кнопку ниже, чтобы начать процеÑÑ ÑƒÑтановки, Ð¿ÐµÑ€ÐµÐ¹Ð´Ñ Ð½Ð° Ñтраницу Kubernetes"
msgid "Click the image where you'd like to start a new discussion"
-msgstr ""
+msgstr "Ðажмите на тот образ, где вы хотите начать новую диÑкуÑÑию"
msgid "Click to expand it."
msgstr "Ðажмите, чтобы развернуть."
@@ -4311,7 +4460,7 @@ msgid "ClusterIntegration| can be used instead of a custom domain."
msgstr ""
msgid "ClusterIntegration| is the default environment scope for this cluster. This means that all jobs, regardless of their environment, will use this cluster. %{environment_scope_start}More information%{environment_scope_end}"
-msgstr ""
+msgstr "ÑвлÑетÑÑ Ð¾Ð±Ð»Ð°Ñтью Ñреды Ð´Ð»Ñ Ñтого клаÑтера по умолчанию. Это значит, что вÑе заданиÑ, незавиÑимо от Ñреды, будут иÑпользовать Ñтот клаÑтер. %{environment_scope_start}Подробнее%{environment_scope_end}"
msgid "ClusterIntegration|%{appList} was successfully installed on your Kubernetes cluster"
msgstr "%{appList} уÑпешно уÑтановлены на вашем клаÑтере Kubernetes"
@@ -4320,34 +4469,34 @@ msgid "ClusterIntegration|%{external_ip}.nip.io"
msgstr ""
msgid "ClusterIntegration|%{title} uninstalled successfully."
-msgstr ""
+msgstr "%{title} уÑпешно удалён."
msgid "ClusterIntegration|%{title} updated successfully."
msgstr "%{title} уÑпешно обновлен."
msgid "ClusterIntegration|A cluster management project can be used to run deployment jobs with Kubernetes <code>cluster-admin</code> privileges."
-msgstr ""
+msgstr "Проект ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°Ñтером можно иÑпользовать Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑка заданий Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ñ€Ð¸Ð²Ð¸Ð»ÐµÐ³Ð¸Ñми Kubernetes <code>cluster-admin</code>."
msgid "ClusterIntegration|A service token scoped to %{code}kube-system%{end_code} with %{code}cluster-admin%{end_code} privileges."
-msgstr ""
+msgstr "ОблаÑÑ‚ÑŒ доÑтупа токена Ñлужбы уÑтановлена на %{code}kube-system%{end_code} Ñ Ð¿Ñ€Ð¸Ð²Ð¸Ð»ÐµÐ³Ð¸Ñми %{code}cluster-admin%{end_code}."
msgid "ClusterIntegration|API URL"
msgstr "ÐÐ´Ñ€ÐµÑ API"
msgid "ClusterIntegration|API URL should be a valid http/https url."
-msgstr ""
+msgstr "URL API должен быть правильным адреÑом http/https."
msgid "ClusterIntegration|Add Kubernetes cluster"
msgstr "Добавить клаÑтер Kubernetes"
msgid "ClusterIntegration|Add a Kubernetes cluster integration"
-msgstr ""
+msgstr "Добавить интеграцию Ñ ÐºÐ»Ð°Ñтером Kubernetes"
msgid "ClusterIntegration|Adding a Kubernetes cluster to your group will automatically share the cluster across all your projects. Use review apps, deploy your applications, and easily run your pipelines for all projects using the same cluster."
msgstr ""
msgid "ClusterIntegration|Adding a Kubernetes cluster will automatically share the cluster across all projects. Use review apps, deploy your applications, and easily run your pipelines for all projects using the same cluster."
-msgstr ""
+msgstr "Добавление клаÑтера Kubernetes автоматичеÑки разделит клаÑтер между вÑеми проектами. ИÑпользуйте Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€ÐµÑ†ÐµÐ½Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, развертывайте Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ легко запуÑкайте Ñборочные линии Ð´Ð»Ñ Ð²Ñех проектов, иÑпользующих один и тот же клаÑтер."
msgid "ClusterIntegration|Adding an integration to your group will share the cluster across all your projects."
msgstr ""
@@ -4362,49 +4511,49 @@ msgid "ClusterIntegration|All data not committed to GitLab will be deleted and c
msgstr "Ð’Ñе данные, не переданные в GitLab, будут удалены и не могут быть воÑÑтановлены."
msgid "ClusterIntegration|All data will be deleted and cannot be restored."
-msgstr ""
+msgstr "Ð’Ñе данные будут удалены без возможноÑти воÑÑтановлениÑ."
msgid "ClusterIntegration|Allow GitLab to manage namespace and service accounts for this cluster."
-msgstr ""
+msgstr "Разрешить GitLab управлÑÑ‚ÑŒ проÑтранÑтвами имен и Ñлужебными аккаунтами Ñтого клаÑтера."
msgid "ClusterIntegration|Allow GitLab to manage namespace and service accounts for this cluster. %{startLink}More information%{endLink}"
msgstr "Разрешить GitLab управлÑÑ‚ÑŒ проÑтранÑтвом имен и учетными запиÑÑми Ñлужб Ð´Ð»Ñ Ñтого клаÑтера. %{startLink}Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ%{endLink}"
msgid "ClusterIntegration|Alternatively"
-msgstr ""
+msgstr "Как вариант"
msgid "ClusterIntegration|Amazon EKS"
msgstr "Amazon EKS"
msgid "ClusterIntegration|An error occurred when trying to contact the Google Cloud API. Please try again later."
-msgstr ""
+msgstr "Произошла ошибка при попытке ÑвÑзатьÑÑ Ñ Google Cloud API. ПожалуйÑта, попробуйте ещё раз позже."
msgid "ClusterIntegration|An error occurred while trying to fetch project zones: %{error}"
-msgstr ""
+msgstr "Произошла ошибка при попытке Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð±Ð»Ð°Ñтей проекта: %{error}"
msgid "ClusterIntegration|An error occurred while trying to fetch your projects: %{error}"
-msgstr ""
+msgstr "Произошла ошибка при попытке Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð²Ð°ÑˆÐ¸Ñ… проектов: %{error}"
msgid "ClusterIntegration|An error occurred while trying to fetch zone machine types: %{error}"
-msgstr ""
+msgstr "Произошла ошибка при попытке извлечь типы машин облаÑти: %{error}"
msgid "ClusterIntegration|Any running pipelines will be canceled."
msgstr ""
msgid "ClusterIntegration|Apply for credit"
-msgstr ""
+msgstr "Подать заÑвку на кредит"
msgid "ClusterIntegration|Authenticate with AWS"
-msgstr ""
+msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ AWS"
msgid "ClusterIntegration|Authenticate with Amazon Web Services"
-msgstr ""
+msgstr "ÐÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Amazon Web Services"
msgid "ClusterIntegration|Base domain"
-msgstr ""
+msgstr "Базовое доменное имÑ"
msgid "ClusterIntegration|Blocking mode"
-msgstr ""
+msgstr "Блокирующий режим"
msgid "ClusterIntegration|CA Certificate"
msgstr "Сертификат удоÑтоверÑющего центра"
@@ -4428,31 +4577,31 @@ msgid "ClusterIntegration|Choose the worker node %{startLink}instance type %{ext
msgstr ""
msgid "ClusterIntegration|Choose which applications to install on your Kubernetes cluster. Helm Tiller is required to install any of the following applications."
-msgstr ""
+msgstr "Выберите, какие Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾ уÑтановить на ваш клаÑтер Kubernetes. Ð”Ð»Ñ ÑƒÑтановки любого из Ñледующих приложений требуетÑÑ Helm Tiller.\n\n"
msgid "ClusterIntegration|Choose which of your environments will use this cluster."
-msgstr ""
+msgstr "Выберите, какие из ваших окружений будут иÑпользовать Ñтот клаÑтер."
msgid "ClusterIntegration|Clear cluster cache"
-msgstr ""
+msgstr "ОчиÑтить кÑш клаÑтера"
msgid "ClusterIntegration|Clear the local cache of namespace and service accounts. This is necessary if your integration has become out of sync. The cache is repopulated during the next CI job that requires namespace and service accounts."
msgstr ""
msgid "ClusterIntegration|Cloud Run"
-msgstr ""
+msgstr "Cloud Run"
msgid "ClusterIntegration|Cluster being created"
-msgstr ""
+msgstr "КлаÑтер ÑоздаетÑÑ"
msgid "ClusterIntegration|Cluster management project (alpha)"
-msgstr ""
+msgstr "Проект ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°Ñтером (alpha)"
msgid "ClusterIntegration|Cluster name is required."
-msgstr ""
+msgstr "ТребуетÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ клаÑтера."
msgid "ClusterIntegration|Clusters are utilized by selecting the nearest ancestor with a matching environment scope. For example, project clusters will override group clusters."
-msgstr ""
+msgstr "КлаÑтеры иÑпользуютÑÑ Ð¿ÑƒÑ‚Ñ‘Ð¼ выбора ближайшего предка Ñ Ð¿Ð¾Ð´Ñ…Ð¾Ð´Ñщей облаÑтью видимоÑти Ñреды. Ðапример, клаÑтеры проектов будут переопределÑÑ‚ÑŒ клаÑтеры групп."
msgid "ClusterIntegration|Copy API URL"
msgstr "Скопировать Ð°Ð´Ñ€ÐµÑ API"
@@ -4461,46 +4610,46 @@ msgid "ClusterIntegration|Copy CA Certificate"
msgstr "Копировать Сертификат УдоÑтоверÑющего Центра"
msgid "ClusterIntegration|Copy Ingress Endpoint"
-msgstr ""
+msgstr "Скопировать точку Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ingress"
msgid "ClusterIntegration|Copy Jupyter Hostname"
msgstr "Скопировать Ð¸Ð¼Ñ Ñ…Ð¾Ñта Jupyter"
msgid "ClusterIntegration|Copy Knative Endpoint"
-msgstr ""
+msgstr "Скопировать точку Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Knative"
msgid "ClusterIntegration|Copy Kubernetes cluster name"
msgstr "Скопировать Ð¸Ð¼Ñ ÐºÐ»Ð°Ñтера Kubernetes"
msgid "ClusterIntegration|Copy Service Token"
-msgstr ""
+msgstr "Скопировать токен ÑервиÑа"
msgid "ClusterIntegration|Could not load IAM roles"
msgstr "Ðе удалоÑÑŒ загрузить IAM роли"
msgid "ClusterIntegration|Could not load Key Pairs"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ загрузить пары ключей"
msgid "ClusterIntegration|Could not load VPCs for the selected region"
msgstr "Ðе удалоÑÑŒ загрузить VPC Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ региона"
msgid "ClusterIntegration|Could not load instance types"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ загрузить типы ÑкземплÑров"
msgid "ClusterIntegration|Could not load networks"
msgstr ""
msgid "ClusterIntegration|Could not load regions from your AWS account"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ загрузить регионы из вашего аккаунта AWS"
msgid "ClusterIntegration|Could not load security groups for the selected VPC"
msgstr "Ðе удалоÑÑŒ загрузить группы безопаÑноÑти Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ VPC"
msgid "ClusterIntegration|Could not load subnets for the selected VPC"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ загрузить подÑети Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ VPC"
msgid "ClusterIntegration|Could not load subnetworks"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ загрузить подÑети"
msgid "ClusterIntegration|Create Kubernetes cluster"
msgstr "Создать клаÑтер Kubernetes"
@@ -4509,22 +4658,22 @@ msgid "ClusterIntegration|Create a provision role on %{startAwsLink}Amazon Web S
msgstr ""
msgid "ClusterIntegration|Create cluster on"
-msgstr ""
+msgstr "Создать клаÑтер на"
msgid "ClusterIntegration|Create new cluster"
-msgstr ""
+msgstr "Создать новый клаÑтер"
msgid "ClusterIntegration|Create new cluster on EKS"
-msgstr ""
+msgstr "Создать новый клаÑтер на EKS"
msgid "ClusterIntegration|Create new cluster on GKE"
-msgstr ""
+msgstr "Создать новый клаÑтер на GKE"
msgid "ClusterIntegration|Creating Kubernetes cluster"
-msgstr ""
+msgstr "СоздаетÑÑ ÐºÐ»Ð°Ñтер Kubernetes"
msgid "ClusterIntegration|Crossplane"
-msgstr ""
+msgstr "Crossplane"
msgid "ClusterIntegration|Crossplane enables declarative provisioning of managed services from your cloud of choice using %{kubectl} or %{gitlabIntegrationLink}. Crossplane runs inside your Kubernetes cluster and supports secure connectivity and secrets management between app containers and the cloud services they depend on."
msgstr ""
@@ -4533,22 +4682,22 @@ msgid "ClusterIntegration|Deletes all GitLab resources attached to this cluster
msgstr ""
msgid "ClusterIntegration|Did you know?"
-msgstr ""
+msgstr "Знаете ли вы?"
msgid "ClusterIntegration|Elastic Kubernetes Service"
-msgstr ""
+msgstr "Служба Elastic Kubernetes"
msgid "ClusterIntegration|Elastic Stack"
-msgstr ""
+msgstr "Elastic Stack"
msgid "ClusterIntegration|Enable Cloud Run for Anthos"
msgstr ""
msgid "ClusterIntegration|Enable or disable GitLab's connection to your Kubernetes cluster."
-msgstr ""
+msgstr "Включить или выключить Ñоединение GitLab Ñ Ð²Ð°ÑˆÐ¸Ð¼ Kubernetes клаÑтером."
msgid "ClusterIntegration|Enable this setting if using role-based access control (RBAC)."
-msgstr ""
+msgstr "Включите Ñтот параметр, еÑли иÑпользуетÑÑ Ñ€Ð¾Ð»ÐµÐ²Ð°Ñ Ð¼Ð¾Ð´ÐµÐ»ÑŒ доÑтупа (RBAC)."
msgid "ClusterIntegration|Enabled stack"
msgstr ""
@@ -4563,22 +4712,22 @@ msgid "ClusterIntegration|Environment scope"
msgstr "Среда окружениÑ"
msgid "ClusterIntegration|Every new Google Cloud Platform (GCP) account receives $300 in credit upon %{sign_up_link}. In partnership with Google, GitLab is able to offer an additional $200 for both new and existing GCP accounts to get started with GitLab's Google Kubernetes Engine Integration."
-msgstr ""
+msgstr "ÐšÐ°Ð¶Ð´Ð°Ñ Ð½Ð¾Ð²Ð°Ñ ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ Google Cloud Platform (GCP) получает по $300 в кредит по %{sign_up_link}. Ð’ партнерÑтве Ñ Google, GitLab может предложить дополнительные $200 Ð´Ð»Ñ Ð½Ð¾Ð²Ñ‹Ñ… учетных запиÑей GCP, чтобы начать работу Ñ GitLab Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸ÐµÐ¹ Google Kubernetes Engine."
msgid "ClusterIntegration|Failed to configure EKS provider: %{message}"
msgstr ""
msgid "ClusterIntegration|Failed to configure Google Kubernetes Engine Cluster: %{message}"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ наÑтроить клаÑтер Google Kubernetes Engine: %{message}"
msgid "ClusterIntegration|Failed to fetch CloudFormation stack: %{message}"
msgstr ""
msgid "ClusterIntegration|Failed to request to Google Cloud Platform: %{message}"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ обратитьÑÑ Ðº Google Cloud Platform: %{message}"
msgid "ClusterIntegration|Failed to run Kubeclient: %{message}"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ запуÑтить Kubeclient: %{message}"
msgid "ClusterIntegration|Fetching machine types"
msgstr "Получение типов машин клаÑтера"
@@ -4589,6 +4738,12 @@ msgstr "Получение проектов"
msgid "ClusterIntegration|Fetching zones"
msgstr "Получение зон"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ñ GitLab"
@@ -4602,13 +4757,13 @@ msgid "ClusterIntegration|GitLab-managed cluster"
msgstr "КлаÑтер управлÑемый GitLab"
msgid "ClusterIntegration|Gitlab Integration"
-msgstr ""
+msgstr "Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ñ Gitlab"
msgid "ClusterIntegration|Global default"
-msgstr ""
+msgstr "Везде по умолчанию"
msgid "ClusterIntegration|Google Cloud Platform project"
-msgstr ""
+msgstr "Проект в Google Cloud Platform"
msgid "ClusterIntegration|Google GKE"
msgstr "Google GKE"
@@ -4626,7 +4781,7 @@ msgid "ClusterIntegration|Helm Tiller"
msgstr "Helm Tiller"
msgid "ClusterIntegration|Helm streamlines installing and managing Kubernetes applications. Tiller runs inside of your Kubernetes Cluster, and manages releases of your charts."
-msgstr ""
+msgstr "Приложение Helm упрощает уÑтановку и управление приложениÑми Kubernetes. Приложение Tiller запуÑкаетÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ вашего клаÑтера Kubernetes и управлÑет релизами ваших реÑурÑов."
msgid "ClusterIntegration|Hide"
msgstr "Скрыть"
@@ -4644,28 +4799,28 @@ msgid "ClusterIntegration|Ingress"
msgstr "Ingress"
msgid "ClusterIntegration|Ingress Endpoint"
-msgstr ""
+msgstr "Точка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ingress"
msgid "ClusterIntegration|Ingress gives you a way to route requests to services based on the request host or path, centralizing a number of services into a single entrypoint."
-msgstr ""
+msgstr "Ingress позволÑет маршрутизировать запроÑÑ‹ к Ñлужбам на оÑнове запрошенного хоÑта или пути, объединÑÑ Ñ€Ñд ÑервиÑов в одну точку входа."
msgid "ClusterIntegration|Installing Ingress may incur additional costs. Learn more about %{pricingLink}."
-msgstr ""
+msgstr "УÑтановка Ingress может повлечь дополнительные затраты. Узнайте больше по ÑÑылке %{pricingLink}."
msgid "ClusterIntegration|Instance cluster"
msgstr "ЭкземплÑÑ€ клаÑтера"
msgid "ClusterIntegration|Instance type"
-msgstr ""
+msgstr "Тип ÑкземплÑра"
msgid "ClusterIntegration|Integrate Kubernetes cluster automation"
msgstr "Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ð¸ клаÑтеров Kubernetes"
msgid "ClusterIntegration|Issuer Email"
-msgstr ""
+msgstr "Ð­Ð»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° Ñмитента"
msgid "ClusterIntegration|Issuers represent a certificate authority. You must provide an email address for your Issuer. "
-msgstr ""
+msgstr "Эмитенты предÑтавлÑÑŽÑ‚ центры Ñертификации. Ð’Ñ‹ должны указать Ñлектронную почту вашего Ñмитента. "
msgid "ClusterIntegration|Jupyter Hostname"
msgstr "Ð˜Ð¼Ñ Ñ…Ð¾Ñта ÑервиÑа Jupyter"
@@ -4680,19 +4835,19 @@ msgid "ClusterIntegration|Key pair name"
msgstr "Ð˜Ð¼Ñ Ð¿Ð°Ñ€Ñ‹ ключей"
msgid "ClusterIntegration|Knative"
-msgstr ""
+msgstr "Knative"
msgid "ClusterIntegration|Knative Domain Name:"
-msgstr ""
+msgstr "Доменное Ð¸Ð¼Ñ Knative:"
msgid "ClusterIntegration|Knative Endpoint:"
-msgstr ""
+msgstr "Точка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Knative:"
msgid "ClusterIntegration|Knative domain name was updated successfully."
-msgstr ""
+msgstr "Доменное Ð¸Ð¼Ñ Knative уÑпешно обновлено."
msgid "ClusterIntegration|Knative extends Kubernetes to provide a set of middleware components that are essential to build modern, source-centric, and container-based applications that can run anywhere: on premises, in the cloud, or even in a third-party data center."
-msgstr ""
+msgstr "Knative раÑширÑет возможноÑти Kubernetes в чаÑти обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð½Ð°Ð±Ð¾Ñ€Ð¾Ð¼ промежуточных компонентов, которые необходимы Ð´Ð»Ñ Ñ€Ð°Ð·Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ Ñовременных, оÑнованных на иÑходных данных и контейнерах, приложений, которые могут выполнÑÑ‚ÑŒÑÑ Ð³Ð´Ðµ угодно: локально, в облаках и даже в Ñторонних дата-центрах."
msgid "ClusterIntegration|Kubernetes cluster"
msgstr "КлаÑтер Kubernetes"
@@ -4746,7 +4901,7 @@ msgid "ClusterIntegration|Loading Key Pairs"
msgstr ""
msgid "ClusterIntegration|Loading Regions"
-msgstr ""
+msgstr "Загрузка регионов"
msgid "ClusterIntegration|Loading VPCs"
msgstr "Загрузка VPCs"
@@ -4773,7 +4928,7 @@ msgid "ClusterIntegration|Machine type"
msgstr "Тип машины"
msgid "ClusterIntegration|Make sure your account %{link_to_requirements} to create Kubernetes clusters"
-msgstr "УбедитеÑÑŒ, что ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ %{link_to_requirements} Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ñтеров"
+msgstr "УбедитеÑÑŒ, что ваша ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ %{link_to_requirements} Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ñтеров"
msgid "ClusterIntegration|Manage your Kubernetes cluster by visiting %{provider_link}"
msgstr ""
@@ -4821,7 +4976,7 @@ msgid "ClusterIntegration|Number of nodes"
msgstr "КоличеÑтво узлов"
msgid "ClusterIntegration|Number of nodes must be a numerical value."
-msgstr ""
+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 "ПожалуйÑта, укажите параметры доÑтупа к вашему клаÑтеру Kubernetes. ЕÑли вам необходима помощь, вы можете ознакомитьÑÑ Ñ Ð½Ð°ÑˆÐµÐ¹ Ñтраницей %{link_to_help_page} по Kubernetes"
@@ -4830,7 +4985,7 @@ msgid "ClusterIntegration|Please make sure that your Google account meets the fo
msgstr "ПожалуйÑта, убедитеÑÑŒ, что ваш аккаунт Google отвечает Ñледующим требованиÑм:"
msgid "ClusterIntegration|Point a wildcard DNS to this generated endpoint in order to access your application after it has been deployed."
-msgstr ""
+msgstr "Выберите шаблон DNS Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ Ñозданной конечной точки Ñ Ñ†ÐµÐ»ÑŒÑŽ возможноÑти Ð¾Ð±Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ðº вашему приложению поÑле того, как оно было развернуто."
msgid "ClusterIntegration|Project cluster"
msgstr ""
@@ -4845,7 +5000,7 @@ msgid "ClusterIntegration|Prometheus"
msgstr "Prometheus"
msgid "ClusterIntegration|Prometheus is an open-source monitoring system with %{gitlabIntegrationLink} to monitor deployed applications."
-msgstr ""
+msgstr "Prometheus - Ñто ÑиÑтема мониторинга Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом (%{gitlabIntegrationLink}) Ð´Ð»Ñ Ð¼Ð¾Ð½Ð¸Ñ‚Ð¾Ñ€Ð¸Ð½Ð³Ð° развернутых приложений."
msgid "ClusterIntegration|Provider details"
msgstr ""
@@ -4854,7 +5009,7 @@ msgid "ClusterIntegration|Provision Role ARN"
msgstr ""
msgid "ClusterIntegration|RBAC-enabled cluster"
-msgstr ""
+msgstr "КлаÑтер Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ RBAC"
msgid "ClusterIntegration|Read our %{link_start}help page%{link_end} on Kubernetes cluster integration."
msgstr ""
@@ -4863,7 +5018,7 @@ msgid "ClusterIntegration|Real-time web application monitoring, logging and acce
msgstr ""
msgid "ClusterIntegration|Region"
-msgstr ""
+msgstr "Регион"
msgid "ClusterIntegration|Remove Kubernetes cluster integration"
msgstr "Удалить интеграцию клаÑтера Kubernetes"
@@ -4872,13 +5027,13 @@ msgid "ClusterIntegration|Remove integration"
msgstr "Удалить интеграцию"
msgid "ClusterIntegration|Remove integration and resources"
-msgstr ""
+msgstr "Удалить интеграцию и реÑурÑÑ‹"
msgid "ClusterIntegration|Remove integration and resources?"
-msgstr ""
+msgstr "Удалить интеграцию и реÑурÑÑ‹?"
msgid "ClusterIntegration|Remove integration?"
-msgstr ""
+msgstr "Удалить интеграцию?"
msgid "ClusterIntegration|Remove this Kubernetes cluster's configuration from this project. This will not delete your actual Kubernetes cluster."
msgstr "Удалить Ñту конфигурацию клаÑтера Kubernetes из Ñтого проекта. Это не приведет к удалению вашего фактичеÑкого клаÑтера Kubernetes."
@@ -4887,7 +5042,7 @@ msgid "ClusterIntegration|Removes cluster from project but keeps associated reso
msgstr ""
msgid "ClusterIntegration|Replace this with your own hostname if you want. If you do so, point hostname to Ingress IP Address from above."
-msgstr ""
+msgstr "Замените Ñто Ñвоим ÑобÑтвенным именем хоÑта, еÑли хотите. При замене, укажите Ð¸Ð¼Ñ Ñ…Ð¾Ñта в Ingress IP Address выше."
msgid "ClusterIntegration|Request to begin installing failed"
msgstr "Ðе удалоÑÑŒ выполнить Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° запуÑк процеÑÑа уÑтановки"
@@ -4895,65 +5050,74 @@ msgstr "Ðе удалоÑÑŒ выполнить Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° запуÑк п
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° начало ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½ Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ¾Ð¹"
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "Сохранить изменениÑ"
msgid "ClusterIntegration|Search IAM Roles"
-msgstr ""
+msgstr "ПоиÑк ролей IAM"
msgid "ClusterIntegration|Search Key Pairs"
-msgstr ""
+msgstr "ПоиÑк пар ключей"
msgid "ClusterIntegration|Search VPCs"
-msgstr ""
+msgstr "ПоиÑк VPC"
msgid "ClusterIntegration|Search domains"
-msgstr ""
+msgstr "ПоиÑк доменов"
msgid "ClusterIntegration|Search instance types"
-msgstr ""
+msgstr "ИÑкать типы ÑкземплÑров"
msgid "ClusterIntegration|Search machine types"
msgstr "ПоиÑк типов машин клаÑтера"
msgid "ClusterIntegration|Search networks"
-msgstr ""
+msgstr "ПоиÑк Ñетей"
msgid "ClusterIntegration|Search projects"
msgstr "ПоиÑк проектов"
msgid "ClusterIntegration|Search regions"
-msgstr ""
+msgstr "ПоиÑк регионов"
msgid "ClusterIntegration|Search security groups"
-msgstr ""
+msgstr "ПоиÑк групп безопаÑноÑти"
msgid "ClusterIntegration|Search subnets"
-msgstr ""
+msgstr "ИÑкать подÑети"
msgid "ClusterIntegration|Search subnetworks"
-msgstr ""
+msgstr "ИÑкать подÑети"
msgid "ClusterIntegration|Search zones"
msgstr "ПоиÑк зон"
msgid "ClusterIntegration|Security group"
-msgstr ""
+msgstr "Группа безопаÑноÑи"
msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster"
msgstr "ПроÑмотр и редактирование информации о вашем клаÑтере Kubernetes"
msgid "ClusterIntegration|Select a VPC to choose a security group"
-msgstr ""
+msgstr "Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° группы безопаÑноÑти необходимо выбрать VPC"
msgid "ClusterIntegration|Select a VPC to choose a subnet"
-msgstr ""
+msgstr "Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° подÑети необходимо выбрать VPC"
msgid "ClusterIntegration|Select a VPC to use for your EKS Cluster resources. To use a new VPC, first create one on %{startLink}Amazon Web Services %{externalLinkIcon} %{endLink}."
msgstr ""
msgid "ClusterIntegration|Select a network to choose a subnetwork"
-msgstr ""
+msgstr "Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° подÑети нужно выбрать Ñеть"
msgid "ClusterIntegration|Select a region to choose a Key Pair"
msgstr ""
@@ -4991,14 +5155,20 @@ msgstr "Выберете зону"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "Выберите зону, чтобы выбрать тип машины"
-msgid "ClusterIntegration|Service Token"
+msgid "ClusterIntegration|Send Cilium Logs"
msgstr ""
-msgid "ClusterIntegration|Service role"
+msgid "ClusterIntegration|Send ModSecurity Logs"
msgstr ""
+msgid "ClusterIntegration|Service Token"
+msgstr "Токен Ñлужбы"
+
+msgid "ClusterIntegration|Service role"
+msgstr "Роль Ñлужбы"
+
msgid "ClusterIntegration|Service token is required."
-msgstr ""
+msgstr "ТребуетÑÑ Ñ‚Ð¾ÐºÐµÐ½ Ñлужбы."
msgid "ClusterIntegration|Set a prefix for your namespaces. If not set, defaults to your project path. If modified, existing environments will use their current namespaces until the cluster cache is cleared."
msgstr ""
@@ -5013,7 +5183,7 @@ msgid "ClusterIntegration|Something went wrong on our end."
msgstr " У Ð½Ð°Ñ Ñ‡Ñ‚Ð¾-то пошло не так."
msgid "ClusterIntegration|Something went wrong while creating your Kubernetes cluster"
-msgstr ""
+msgstr "Что-то пошло не так при Ñоздании вашего клаÑтера Kubernetes"
msgid "ClusterIntegration|Something went wrong while installing %{title}"
msgstr "Произошли ошибки во Ð²Ñ€ÐµÐ¼Ñ ÑƒÑтановки %{title}"
@@ -5025,13 +5195,13 @@ msgid "ClusterIntegration|Something went wrong while uninstalling %{title}"
msgstr "Что-то пошло не так при удалении %{title}"
msgid "ClusterIntegration|Something went wrong while updating Knative domain name."
-msgstr ""
+msgstr "Что-то пошло не так при обновлении доменного имени Knative."
msgid "ClusterIntegration|Specifying a domain will allow you to use Auto Review Apps and Auto Deploy stages for %{auto_devops_start}Auto DevOps%{auto_devops_end}. The domain should have a wildcard DNS configured matching the domain."
-msgstr ""
+msgstr "Определение домена позволит вам иÑпользовать Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¾Ð±Ð·Ð¾Ñ€Ð° и Ñтапы автоматичеÑкого Ñ€Ð°Ð·Ð²Ð¾Ñ€Ð°Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ñ %{auto_devops_start}Auto DevOps%{auto_devops_end}. Этот домен должен иметь наÑтроенный ÑоответÑтвующим Ð´Ð»Ñ Ð´Ð¾Ð¼ÐµÐ½Ð° образом шаблон DNS."
msgid "ClusterIntegration|Subnets"
-msgstr ""
+msgstr "ПодÑети"
msgid "ClusterIntegration|The Amazon Resource Name (ARN) associated with your role. If you do not have a provision role, first create one on %{startAwsLink}Amazon Web Services %{externalLinkIcon}%{endLink} using the above account and external IDs. %{startMoreInfoLink}More information%{endLink}"
msgstr ""
@@ -5046,7 +5216,7 @@ msgid "ClusterIntegration|The associated IP and all deployed services will be de
msgstr ""
msgid "ClusterIntegration|The associated Tiller pod, the %{gitlabManagedAppsNamespace} namespace, and all of its resources will be deleted and cannot be restored."
-msgstr ""
+msgstr "СвÑзанный под Tiller, проÑтранÑтво имён %{gitlabManagedAppsNamespace} и вÑе его реÑурÑÑ‹ будут удалены без возможноÑти воÑÑтановлениÑ."
msgid "ClusterIntegration|The associated load balancer and IP will be deleted and cannot be restored."
msgstr ""
@@ -5055,25 +5225,25 @@ msgid "ClusterIntegration|The associated private key will be deleted and cannot
msgstr ""
msgid "ClusterIntegration|The elastic stack collects logs from all pods in your cluster"
-msgstr ""
+msgstr "Elastic Stack Ñобирает журналы Ñо вÑех подов вашего клаÑтера"
msgid "ClusterIntegration|The endpoint is in the process of being assigned. Please check your Kubernetes cluster or Quotas on Google Kubernetes Engine if it takes a long time."
-msgstr ""
+msgstr "Конечный Ñтап заключаетÑÑ Ð² процеÑÑе назначениÑ. ПожалуйÑта, проверьте клаÑтер Kubernetes или квоты в Google Kubernetes Engine, еÑли Ñтот Ñтап длитÑÑ Ñлишком долго."
msgid "ClusterIntegration|The namespace associated with your project. This will be used for deploy boards, logs, and Web terminals."
msgstr ""
msgid "ClusterIntegration|There was a problem authenticating with your cluster. Please ensure your CA Certificate and Token are valid."
-msgstr ""
+msgstr "Произошла ошибка при аутентификации Ñ Ð²Ð°ÑˆÐ¸Ð¼ клаÑтером. УбедитеÑÑŒ, что Ñертификат CA и токен дейÑтвительны."
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} указанных ниже"
msgid "ClusterIntegration|This option will allow you to install applications on RBAC clusters."
-msgstr ""
+msgstr "Эта Ð¾Ð¿Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ‚ вам уÑтанавливать Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ð° клаÑтеры RBAC."
msgid "ClusterIntegration|To access your application after deployment, point a wildcard DNS to the Knative Endpoint."
-msgstr ""
+msgstr "Ð”Ð»Ñ Ð´Ð¾Ñтупа к вашему приложению поÑле Ñ€Ð°Ð·Ð²Ð¾Ñ€Ð°Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ð±ÐµÑ€Ð¸Ñ‚Ðµ шаблон DNS Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ðº узлу Knative."
msgid "ClusterIntegration|To remove your integration and resources, type %{clusterName} to confirm:"
msgstr ""
@@ -5088,7 +5258,7 @@ msgid "ClusterIntegration|Uninstall %{appTitle}"
msgstr "Удалить %{appTitle}"
msgid "ClusterIntegration|Update failed. Please check the logs and try again."
-msgstr ""
+msgstr "Обновление не удалоÑÑŒ. ПожалуйÑта, проверьте журналы и попытайтеÑÑŒ Ñнова."
msgid "ClusterIntegration|Use %{query}"
msgstr ""
@@ -5103,7 +5273,7 @@ msgid "ClusterIntegration|Validating project billing status"
msgstr "Проверка ÑтатуÑа тарификации проекта"
msgid "ClusterIntegration|We could not verify that one of your projects on GCP has billing enabled. Please try again."
-msgstr ""
+msgstr "Мы не Ñмогли подтвердить, что один из ваших проектов на GCP имеет включенный биллинг. ПожалуйÑта, попробуйте ещё раз."
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 "ЕÑли привÑзать клаÑтер Kubernetes к Ñтому проекту, вы Ñ Ð»Ñ‘Ð³ÐºÐ¾Ñтью Ñможете иÑпользовать Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€ÐµÐ²ÑŒÑŽ, развертывать ваши приложениÑ, запуÑкать Ñборочные линии и многое другое."
@@ -5115,10 +5285,10 @@ msgid "ClusterIntegration|You are about to remove your cluster integration."
msgstr ""
msgid "ClusterIntegration|You are about to uninstall %{appTitle} from your cluster."
-msgstr ""
+msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ удалить %{appTitle} из вашего клаÑтера."
msgid "ClusterIntegration|You must first install Helm Tiller before installing the applications below"
-msgstr ""
+msgstr "Перед уÑтановкой приложений ниже вы должны уÑтановить Helm Tiller"
msgid "ClusterIntegration|You must grant access to your organization’s AWS resources in order to create a new EKS cluster. To grant access, create a provision role using the account and external ID below and provide us the ARN."
msgstr ""
@@ -5130,7 +5300,7 @@ msgid "ClusterIntegration|You should select at least two subnets"
msgstr ""
msgid "ClusterIntegration|Your account must have %{link_to_kubernetes_engine}"
-msgstr "Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ должна иметь %{link_to_kubernetes_engine}"
+msgstr "Ваша ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ должна иметь %{link_to_kubernetes_engine}"
msgid "ClusterIntegration|Your cluster API is unreachable. Please ensure your API URL is correct."
msgstr "API клаÑтера недоÑтупно. ПожалуйÑта, убедитеÑÑŒ, что ваш API URL правильный."
@@ -5181,7 +5351,7 @@ msgid "ClusterIntergation|Select an instance type"
msgstr ""
msgid "ClusterIntergation|Select key pair"
-msgstr ""
+msgstr "Выберите пару ключей"
msgid "ClusterIntergation|Select service role"
msgstr ""
@@ -5241,7 +5411,7 @@ msgid "Collapse approvers"
msgstr ""
msgid "Collapse child epics"
-msgstr ""
+msgstr "Свернуть дочерние цели"
msgid "Collapse sidebar"
msgstr "Свернуть панель"
@@ -5302,7 +5472,7 @@ msgstr[2] "Коммитов"
msgstr[3] "Коммитов"
msgid "Commit %{commit_id}"
-msgstr ""
+msgstr "Коммит %{commit_id}"
msgid "Commit (when editing commit message)"
msgstr ""
@@ -5311,7 +5481,7 @@ msgid "Commit Message"
msgstr "ОпиÑание Коммита"
msgid "Commit deleted"
-msgstr ""
+msgstr "Коммит удален"
msgid "Commit message"
msgstr "ОпиÑание коммита"
@@ -5332,7 +5502,7 @@ msgid "CommitMessage|Add %{file_name}"
msgstr "Добавить %{file_name}"
msgid "CommitWidget|authored"
-msgstr ""
+msgstr "Ñоздал"
msgid "Commits"
msgstr "Коммиты"
@@ -5413,28 +5583,43 @@ msgid "Complete"
msgstr "Завершено"
msgid "Compliance"
-msgstr ""
+msgstr "КомплаенÑ"
msgid "Compliance Dashboard"
-msgstr ""
+msgstr "Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñлужбы комплаенÑа"
msgid "Compliance framework (optional)"
+msgstr "Фреймворк комплаенÑа (необÑзательно)"
+
+msgid "ComplianceFramework|GDPR"
msgstr ""
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
+msgstr "GDPR - общий регламент по защите данных"
+
+msgid "ComplianceFramework|HIPAA"
msgstr ""
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
+msgstr "HIPAA - акт о мобильноÑти и подотчётноÑти медицинÑкого ÑтрахованиÑ"
+
+msgid "ComplianceFramework|PCI-DSS"
msgstr ""
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
+msgstr "PCI-DSS - Ñтандарт безопаÑноÑти данных индуÑтрии платёжных карт"
+
+msgid "ComplianceFramework|SOC 2"
msgstr ""
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
+msgstr "SOC 2 - Service Organization Control 2"
+
+msgid "ComplianceFramework|SOX"
msgstr ""
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
-msgstr ""
+msgstr "SOX - акт Сарбейнза - ОкÑли"
msgid "Confidence: %{confidence}"
msgstr ""
@@ -5461,7 +5646,7 @@ msgid "Configure Prometheus"
msgstr ""
msgid "Configure Security %{wordBreakOpportunity}and Compliance"
-msgstr ""
+msgstr "ÐаÑтройте безопаÑноÑÑ‚ÑŒ %{wordBreakOpportunity}и комплаенÑ"
msgid "Configure Tracing"
msgstr ""
@@ -5527,10 +5712,10 @@ msgid "Connect your external repositories, and CI/CD pipelines will run for new
msgstr ""
msgid "Connected"
-msgstr ""
+msgstr "Подключено"
msgid "Connecting"
-msgstr ""
+msgstr "Подключение"
msgid "Connecting to terminal sync service"
msgstr ""
@@ -5563,13 +5748,13 @@ msgid "Container Registry"
msgstr "РееÑÑ‚Ñ€ Контейнеров"
msgid "Container Registry tag expiration policy"
-msgstr ""
+msgstr "Политика иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ñрока дейÑÑ‚Ð²Ð¸Ñ Ñ‚ÐµÐ³Ð¾Ð² рееÑтра контейнеров"
msgid "Container Scanning"
-msgstr ""
+msgstr "Сканирование контейнеров"
msgid "Container does not exist"
-msgstr ""
+msgstr "Контейнер не ÑущеÑтвует"
msgid "Container registry images"
msgstr "Образы Docker Registry"
@@ -5578,23 +5763,32 @@ msgid "Container registry is not enabled on this GitLab instance. Ask an adminis
msgstr ""
msgid "Container repositories sync capacity"
+msgstr "Объем Ñинхронизации рееÑтра контейнеров"
+
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
msgstr ""
msgid "ContainerRegistry|%{imageName} tags"
+msgstr "%{imageName} тегов"
+
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
msgstr ""
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
-msgstr ""
+msgstr "ÐвтоматичеÑки удалÑÑ‚ÑŒ лишние образы, не предназначенные Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ."
msgid "ContainerRegistry|Build an image"
-msgstr ""
+msgstr "Собрать образ"
msgid "ContainerRegistry|Compressed Size"
-msgstr ""
+msgstr "Сжатый размер"
msgid "ContainerRegistry|Container Registry"
msgstr "РееÑÑ‚Ñ€ Контейнеров"
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr "Скопировать команду Ñборки"
@@ -5602,10 +5796,7 @@ msgid "ContainerRegistry|Copy login command"
msgstr "Скопировать команду входа"
msgid "ContainerRegistry|Copy push command"
-msgstr ""
-
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
+msgstr "Скопировать команду Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸"
msgid "ContainerRegistry|Docker connection error"
msgstr "Ошибка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Docker"
@@ -5613,54 +5804,60 @@ msgstr "Ошибка Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Docker"
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
-msgstr ""
+msgstr "Редактировать наÑтройки"
msgid "ContainerRegistry|Expiration interval:"
-msgstr ""
+msgstr "Интервал иÑтечениÑ:"
msgid "ContainerRegistry|Expiration policy successfully saved."
-msgstr ""
+msgstr "Политика иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ ÑƒÑпешно Ñохранена."
msgid "ContainerRegistry|Expiration policy:"
-msgstr ""
+msgstr "Политика иÑтечениÑ:"
msgid "ContainerRegistry|Expiration schedule:"
-msgstr ""
+msgstr "РаÑпиÑание иÑтечениÑ:"
msgid "ContainerRegistry|If you are not already logged in, you need to authenticate to the Container Registry by using your GitLab username and password. If you have %{twofaDocLinkStart}Two-Factor Authentication%{twofaDocLinkEnd} enabled, use a %{personalAccessTokensDocLinkStart}Personal Access Token%{personalAccessTokensDocLinkEnd} instead of a password."
msgstr ""
msgid "ContainerRegistry|Image ID"
-msgstr ""
-
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
+msgstr "ID образа"
msgid "ContainerRegistry|Keep and protect the images that matter most."
-msgstr ""
+msgstr "СохранÑÑ‚ÑŒ и защищать образы, которые имеют наибольшее значение."
msgid "ContainerRegistry|Last Updated"
msgstr "ПоÑледнее обновление"
msgid "ContainerRegistry|Login"
-msgstr ""
+msgstr "Вход"
msgid "ContainerRegistry|Missing or insufficient permission, delete button disabled"
msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
+msgstr "КоличеÑтво тегов Ð´Ð»Ñ ÑохранениÑ:"
+
+msgid "ContainerRegistry|Please contact your administrator."
msgstr ""
msgid "ContainerRegistry|Push an image"
-msgstr ""
+msgstr "Отправить образ"
msgid "ContainerRegistry|Quick Start"
msgstr "БыÑтрый Ñтарт"
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "Удалить репозиторий"
@@ -5675,47 +5872,56 @@ msgstr[2] "Удалить тегов"
msgstr[3] "Удалить тегов"
msgid "ContainerRegistry|Retention policy has been Enabled"
-msgstr ""
+msgstr "Политика ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð° включена"
-msgid "ContainerRegistry|Something went wrong while deleting the image."
-msgstr ""
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgstr "Что-то пошло не так при извлечении политики иÑтечениÑ."
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
-msgstr ""
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgstr "Что-то пошло не так при извлечении ÑпиÑка тегов."
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
-msgstr ""
+msgstr "Что-то пошло не так во Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ñ‚Ð¸ÐºÐ¸ иÑтечениÑ."
msgid "ContainerRegistry|Tag"
msgstr "Тег"
-msgid "ContainerRegistry|Tag deleted successfully"
+msgid "ContainerRegistry|Tag expiration policy"
+msgstr "Политика иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ñ‚ÐµÐ³Ð¾Ð²"
+
+msgid "ContainerRegistry|Tag expiration policy is designed to:"
+msgstr "Политика иÑÑ‚ÐµÑ‡ÐµÐ½Ð¸Ñ Ñ‚ÐµÐ³Ð° предназначена длÑ:"
+
+msgid "ContainerRegistry|Tag successfully marked for deletion."
msgstr ""
-msgid "ContainerRegistry|Tag expiration policy"
+msgid "ContainerRegistry|Tags successfully marked for deletion."
msgstr ""
-msgid "ContainerRegistry|Tag expiration policy is designed to:"
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
msgstr ""
-msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
+msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
+msgstr "ПоÑледний тег, ÑвÑзанный Ñ Ñтим образом недавно был удалён. Этот пуÑтой образ и любые ÑвÑзанные Ñ Ð½Ð¸Ð¼ данные будут автоматичеÑки удалены в ходе регулÑрной Ñборки муÑора. ЕÑли у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ вопроÑÑ‹, ÑвÑжитеÑÑŒ Ñо Ñвоим админиÑтратором."
+
msgid "ContainerRegistry|The retention and expiration policy for this Container Registry has been enabled and will run in %{days}. For more information visit the %{linkStart}documentation%{linkEnd}"
msgstr ""
@@ -5731,18 +5937,18 @@ msgstr "Ð’ Ñтой группе нет доÑтупных образов кон
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr "Ð’ Ñтом проекте нет Docker образов"
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr "Этот образ не имеет активных тегов"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr "Мы не можем подключитьÑÑ Ðº Docker, что может быть вызвано проблемой Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ или путём вашего проекта. %{docLinkStart}ÐŸÐ¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ%{docLinkEnd}"
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
-msgstr ""
-
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
msgstr "С рееÑтром контейнеров каждый проект может иметь Ñвое меÑто Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñвоих Docker образов. %{docLinkStart}ÐŸÐ¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ%{docLinkEnd}"
@@ -5753,7 +5959,7 @@ msgid "ContainerRegistry|With the Docker Container Registry integrated into GitL
msgstr "С помощью РееÑтра Docker Контейнеров, интегрированного в GitLab, каждый проект может иметь Ñвое ÑобÑтвенное проÑтранÑтво Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñвоих Docker образов. %{docLinkStart}ÐŸÐ¾Ð´Ñ€Ð¾Ð±Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ%{docLinkEnd}"
msgid "ContainerRegistry|You are about to remove %{item} tags. Are you sure?"
-msgstr ""
+msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ удалить %{item} тегов. Ð’Ñ‹ уверены?"
msgid "ContainerRegistry|You are about to remove %{item}. Are you sure?"
msgstr ""
@@ -5801,22 +6007,22 @@ msgid "ContributionAnalytics|Contribution analytics for issues, merge requests a
msgstr ""
msgid "ContributionAnalytics|Issues"
-msgstr ""
+msgstr "ОбÑуждениÑ"
msgid "ContributionAnalytics|Last 3 months"
-msgstr ""
+msgstr "ПоÑледние 3 меÑÑца"
msgid "ContributionAnalytics|Last month"
-msgstr ""
+msgstr "ПоÑледний меÑÑц"
msgid "ContributionAnalytics|Last week"
-msgstr ""
+msgstr "ПоÑледнÑÑ Ð½ÐµÐ´ÐµÐ»Ñ"
msgid "ContributionAnalytics|Merge Requests"
-msgstr ""
+msgstr "ЗапроÑÑ‹ на ÑлиÑние"
msgid "ContributionAnalytics|No issues for the selected time period."
-msgstr ""
+msgstr "Ðет задач Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ периода."
msgid "ContributionAnalytics|No merge requests for the selected time period."
msgstr ""
@@ -5891,7 +6097,7 @@ msgid "Copy KRB5 clone URL"
msgstr "Скопировать URL Ð´Ð»Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‡ÐµÑ€ÐµÐ· KRB5"
msgid "Copy SSH clone URL"
-msgstr ""
+msgstr "Скопировать URL Ð´Ð»Ñ ÐºÐ»Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ SSH"
msgid "Copy SSH public key"
msgstr "Копировать открытый ключ SSH"
@@ -5963,7 +6169,7 @@ msgid "Could not add admins as members"
msgstr ""
msgid "Could not authorize chat nickname. Try again!"
-msgstr "Ðе удалоÑÑŒ авторизовать никнейм. Попробуйте еще раз!"
+msgstr "Ðе удалоÑÑŒ авторизовать никнейм чата. Попробуйте еще раз!"
msgid "Could not change HEAD: branch '%{branch}' does not exist"
msgstr ""
@@ -5993,9 +6199,9 @@ msgid "Could not delete %{design}. Please try again."
msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
-msgstr "Ðе удалоÑÑŒ удалить ник чата %{chat_name}."
+msgstr "Ðе удалоÑÑŒ удалить никнейм чата %{chat_name}."
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -6010,6 +6216,9 @@ msgstr "Ðе удалоÑÑŒ отозвать токен имитированиÑ
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr "Ðе удалоÑÑŒ отозвать токен личного доÑтупа %{personal_access_token_name}."
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -6020,7 +6229,7 @@ msgid "Could not save prometheus manual configuration"
msgstr "Ðе удалоÑÑŒ Ñохранить ручную конфигурацию prometheus"
msgid "Could not update the LDAP settings"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ обновить наÑтройки LDAP"
msgid "Could not upload your designs as one or more files uploaded are not supported."
msgstr ""
@@ -6067,6 +6276,9 @@ msgstr ""
msgid "Create a new branch"
msgstr "Создать новую ветку"
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr "Создайте новый файл, поÑкольку еще нет файлов. ПоÑле Ñтого вы Ñможете зафикÑировать Ñвои изменениÑ."
@@ -6170,6 +6382,9 @@ msgid "Create project label"
msgstr "Создать метку проекта"
msgid "Create requirement"
+msgstr "Создать требование"
+
+msgid "Create snippet"
msgstr ""
msgid "Create wildcard: %{searchTerm}"
@@ -6182,7 +6397,7 @@ msgid "CreateGroup|You don’t have permission to create a subgroup in this grou
msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ прав на Ñоздание подгруппы в Ñтой группе."
msgid "CreateGroup|You don’t have permission to create groups."
-msgstr ""
+msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð½Ð° Ñоздание групп."
msgid "CreateTag|Tag"
msgstr "Тег"
@@ -6193,6 +6408,9 @@ msgstr "Ñоздать перÑональный токен доÑтупа"
msgid "Created"
msgstr "Создан"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6251,7 +6469,7 @@ msgid "CredentialsInventory|Personal Access Tokens"
msgstr ""
msgid "CredentialsInventory|SSH Keys"
-msgstr ""
+msgstr "Ключи SSH"
msgid "Critical vulnerabilities present"
msgstr ""
@@ -6269,7 +6487,7 @@ msgid "Current Branch"
msgstr "Ð¢ÐµÐºÑƒÑ‰Ð°Ñ Ð’ÐµÑ‚ÐºÐ°"
msgid "Current Plan"
-msgstr ""
+msgstr "Текущий план"
msgid "Current Project"
msgstr "Текущий проект"
@@ -6287,7 +6505,7 @@ msgid "Current vulnerabilities count"
msgstr ""
msgid "CurrentUser|Buy CI minutes"
-msgstr ""
+msgstr "ПриобреÑти минуты Ð´Ð»Ñ CI"
msgid "CurrentUser|Profile"
msgstr "Профиль"
@@ -6296,7 +6514,7 @@ msgid "CurrentUser|Settings"
msgstr "ÐаÑтройки"
msgid "CurrentUser|Start a Gold trial"
-msgstr ""
+msgstr "Ðачать пробный период Gold"
msgid "Custom CI configuration path"
msgstr ""
@@ -6305,7 +6523,7 @@ msgid "Custom Git clone URL for HTTP(S)"
msgstr ""
msgid "Custom hostname (for private commit emails)"
-msgstr ""
+msgstr "ПользовательÑкое Ð¸Ð¼Ñ Ñ…Ð¾Ñта (Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² приватных Ñлектронных адреÑах почты при коммите)"
msgid "Custom notification events"
msgstr "Ð¡Ð¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð½Ð°Ñтраиваемых уведомлений"
@@ -6422,7 +6640,7 @@ msgid "CycleAnalyticsEvent|Issue last edited"
msgstr ""
msgid "CycleAnalyticsEvent|Merge request closed"
-msgstr ""
+msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние закрыт"
msgid "CycleAnalyticsEvent|Merge request created"
msgstr "Создан Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние"
@@ -6476,7 +6694,7 @@ msgid "CycleAnalyticsStage|should be under a group"
msgstr ""
msgid "CycleAnalytics|%{selectedLabelsCount} selected (%{maxLabels} max)"
-msgstr ""
+msgstr "%{selectedLabelsCount} выбрано (макÑимум — %{maxLabels})"
msgid "CycleAnalytics|%{stageCount} stages selected"
msgstr ""
@@ -6551,6 +6769,9 @@ msgstr "Выпадающий фильтр проекта"
msgid "CycleAnalytics|stage dropdown"
msgstr "Выпадающий ÑпиÑок Ñтадий"
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6570,10 +6791,10 @@ msgid "Dashboards"
msgstr "Панели инÑтрументов"
msgid "Dashboard|%{firstProject} and %{secondProject}"
-msgstr ""
+msgstr "%{firstProject} и %{secondProject}"
msgid "Dashboard|%{firstProject}, %{rest}, and %{secondProject}"
-msgstr ""
+msgstr "%{firstProject}, %{rest}, и %{secondProject}"
msgid "Dashboard|Unable to add %{invalidProjects}. This dashboard is available for public projects, and private projects in groups with a Silver plan."
msgstr ""
@@ -6681,7 +6902,7 @@ msgid "Define a custom pattern with cron syntax"
msgstr "Определить наÑтраиваемый шаблон Ñ ÑинтакÑиÑом cron"
msgid "Define environments in the deploy stage(s) in <code>.gitlab-ci.yml</code> to track deployments here."
-msgstr ""
+msgstr "Обозначьте Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð½Ð° Ñтапе(ах) Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² <code>.gitlab-ci.yml</code> Ð´Ð»Ñ Ð¾Ñ‚ÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð·Ð´ÐµÑÑŒ."
msgid "DelayedJobs|Are you sure you want to run %{jobName} immediately? Otherwise this job will run automatically after it's timer finishes."
msgstr "Ð’Ñ‹ уверены, что вы хотите запуÑтить %{jobName} Ñразу? Ð’ противном Ñлучае Ñто задание будет выполнено автоматичеÑки по завершению таймера."
@@ -6774,7 +6995,7 @@ msgid "Deleted"
msgstr "Удалено"
msgid "Deleted chat nickname: %{chat_name}!"
-msgstr ""
+msgstr "Удалённый никнейм чата: %{chat_name}!"
msgid "Deleted in this version"
msgstr "Удалено в Ñтой верÑии"
@@ -6828,7 +7049,7 @@ msgstr[2] ""
msgstr[3] ""
msgid "Dependencies|%{remainingLicensesCount} more"
-msgstr ""
+msgstr "ещё %{remainingLicensesCount}"
msgid "Dependencies|All"
msgstr "Ð’Ñе"
@@ -6855,7 +7076,7 @@ msgid "Dependencies|Location"
msgstr ""
msgid "Dependencies|Packager"
-msgstr ""
+msgstr "Упаковщик"
msgid "Dependencies|Safe"
msgstr "БезопаÑно"
@@ -6870,7 +7091,7 @@ msgid "Dependencies|Toggle vulnerability list"
msgstr ""
msgid "Dependencies|Unsupported file(s) detected"
-msgstr ""
+msgstr "Обнаружен(ы) неподдерживаемый файл(ы)"
msgid "Dependencies|Version"
msgstr ""
@@ -6885,22 +7106,22 @@ msgid "Dependency List has no entries"
msgstr ""
msgid "Dependency Proxy"
-msgstr ""
+msgstr "ПрокÑи завиÑимоÑтей"
msgid "Dependency Scanning"
-msgstr ""
+msgstr "Сканирование ЗавиÑимоÑтей"
msgid "Dependency proxy"
-msgstr ""
+msgstr "ПрокÑи завиÑимоÑтей"
msgid "Dependency proxy URL"
-msgstr ""
+msgstr "URL прокÑи-Ñервера завиÑимоÑтей"
msgid "Dependency proxy feature is limited to public groups for now."
-msgstr ""
+msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¿Ñ€Ð¾ÐºÑи-завиÑимоÑтей на данный момент ограничиваетÑÑ Ð¿ÑƒÐ±Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ группами."
msgid "DependencyProxy|Toggle Dependency Proxy"
-msgstr ""
+msgstr "Переключить прокÑи-завиÑимоÑÑ‚ÑŒ"
msgid "Depends on %d merge request being merged"
msgid_plural "Depends on %d merge requests being merged"
@@ -6929,9 +7150,12 @@ msgstr "Ключи РазвертываниÑ"
msgid "Deploy key was successfully updated."
msgstr "Ключ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ ÑƒÑпешно обновлен."
-msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
msgstr ""
+msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
+msgstr "ПрогреÑÑ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ найден. Чтобы увидеть поды, убедитеÑÑŒ, что ваша Ñреда ÑоответÑтвует %{linkStart}критериÑм уÑтановки таблицы%{linkEnd}."
+
msgid "Deploy to..."
msgstr "Развернуть в..."
@@ -7002,10 +7226,10 @@ msgid "DeployTokens|Allows write access to the registry images"
msgstr ""
msgid "DeployTokens|Copy deploy token"
-msgstr ""
+msgstr "Копировать токен развёртываниÑ"
msgid "DeployTokens|Copy username"
-msgstr ""
+msgstr "Копировать Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ"
msgid "DeployTokens|Create deploy token"
msgstr "Создать токен развертываниÑ"
@@ -7082,26 +7306,29 @@ msgstr ""
msgid "Deploying to"
msgstr ""
-msgid "Deployment|API"
+msgid "Deployment Frequency"
msgstr ""
+msgid "Deployment|API"
+msgstr "API"
+
msgid "Deployment|This deployment was created using the API"
-msgstr ""
+msgstr "Это развёртывание было Ñоздано Ñ Ð¸Ñпользованием API"
msgid "Deployment|canceled"
-msgstr ""
+msgstr "отменено"
msgid "Deployment|created"
-msgstr ""
+msgstr "Ñоздано"
msgid "Deployment|failed"
-msgstr ""
+msgstr "не удалоÑÑŒ"
msgid "Deployment|running"
-msgstr ""
+msgstr "запущено"
msgid "Deployment|success"
-msgstr ""
+msgstr "уÑпешно"
msgid "Deprioritize label"
msgstr "Понизить приоритет метки"
@@ -7113,7 +7340,7 @@ msgid "Describe the goal of the changes and what reviewers should be aware of."
msgstr ""
msgid "Describe the requirement here"
-msgstr ""
+msgstr "Опишите требование здеÑÑŒ"
msgid "Description"
msgstr "ОпиÑание"
@@ -7212,10 +7439,10 @@ msgid "DesignManagement|Upload skipped."
msgstr ""
msgid "DesignManagement|and %{moreCount} more."
-msgstr ""
+msgstr "и ещё %{moreCount}."
msgid "Designs"
-msgstr ""
+msgstr "Дизайны"
msgid "Destroy"
msgstr ""
@@ -7239,7 +7466,7 @@ msgid "Diff limits"
msgstr ""
msgid "Difference between start date and now"
-msgstr ""
+msgstr "Разница между начальной датой и нынешней"
msgid "DiffsCompareBaseBranch|(HEAD)"
msgstr ""
@@ -7254,7 +7481,7 @@ msgid "Diffs|Show unchanged lines"
msgstr ""
msgid "Diffs|Something went wrong while fetching diff lines."
-msgstr ""
+msgstr "Что-то пошло не так при извлечении отличий."
msgid "Direction"
msgstr ""
@@ -7272,7 +7499,7 @@ msgid "Disable group Runners"
msgstr "Выключить групповые обработчиков заданий"
msgid "Disable public access to Pages sites"
-msgstr ""
+msgstr "Отключить общий доÑтуп к Ñайтам Pages"
msgid "Disable shared Runners"
msgstr "Отключить общие Runner'ы"
@@ -7281,7 +7508,7 @@ msgid "Disable two-factor authentication"
msgstr "Отключить двухфакторную аутентификацию"
msgid "Disabled"
-msgstr "Отключено"
+msgstr "отключено"
msgid "Disabled mirrors can only be enabled by instance owners. It is recommended that you delete them."
msgstr "Отключенные зеркала могут быть включены только владельцами ÑкземплÑров. РекомендуетÑÑ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ их."
@@ -7296,7 +7523,7 @@ msgid "Discard changes"
msgstr "Отменить изменениÑ"
msgid "Discard changes to %{path}?"
-msgstr ""
+msgstr "Отменить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² %{path}?"
msgid "Discard draft"
msgstr "Удалить черновик"
@@ -7332,13 +7559,13 @@ msgid "Discover|Security capabilities, integrated into your development lifecycl
msgstr ""
msgid "Discover|See the other features of the %{linkStart}gold plan%{linkEnd}"
-msgstr ""
+msgstr "Узнайте о других возможноÑÑ‚ÑÑ… %{linkStart}тарифного плана Gold%{linkEnd}"
msgid "Discover|Start a free trial"
-msgstr ""
+msgstr "Ðачать беÑплатный пробный период"
msgid "Discover|Upgrade now"
-msgstr ""
+msgstr "Улучшить ÑейчаÑ"
msgid "Discuss a specific suggestion or question"
msgstr "ОбÑудить конкретное предложение или вопроÑ"
@@ -7450,7 +7677,7 @@ msgid "Don't have an account yet?"
msgstr ""
msgid "Don't paste the private part of the GPG key. Paste the public part which begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'."
-msgstr "Ðе вÑтавлÑйте закрытую чаÑÑ‚ÑŒ GPG ключа. Ð’Ñтавьте открытую чаÑÑ‚ÑŒ, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ð°Ñ‡Ð¸Ð½Ð°ÐµÑ‚ÑÑ Ñ Â«----- BEGIN PGP PUBLIC KEY BLOCK -----»."
+msgstr "Ðе вÑтавлÑйте закрытую чаÑÑ‚ÑŒ ключа GPG. Ð’Ñтавьте открытую чаÑÑ‚ÑŒ, начинающуюÑÑ Ð½Ð° «----- BEGIN PGP PUBLIC KEY BLOCK -----»."
msgid "Don't show again"
msgstr "Ðе показывать Ñнова"
@@ -7492,7 +7719,7 @@ msgid "Download export"
msgstr ""
msgid "Download image"
-msgstr ""
+msgstr "Загрузить изображение"
msgid "Download license"
msgstr "Скачать лицензию"
@@ -7507,7 +7734,7 @@ msgid "DownloadCommit|Email Patches"
msgstr "Email-патчи"
msgid "DownloadCommit|Plain Diff"
-msgstr "ПроÑтой Diff"
+msgstr "ПроÑтое отличие"
msgid "DownloadSource|Download"
msgstr "Скачать"
@@ -7594,7 +7821,7 @@ msgid "Edit comment"
msgstr "Редактировать комментарий"
msgid "Edit dashboard"
-msgstr ""
+msgstr "Редактировать панель управлениÑ"
msgid "Edit description"
msgstr "Изменить опиÑание"
@@ -7602,9 +7829,6 @@ msgstr "Изменить опиÑание"
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr "Изменить файл"
@@ -7684,22 +7908,22 @@ msgid "Email restrictions"
msgstr ""
msgid "Email restrictions for sign-ups"
-msgstr ""
+msgstr "ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€ÐµÐ³Ð¸Ñтрации по Ñлектронной почте"
msgid "Email the pipelines status to a list of recipients."
msgstr "Отправить по Ñлектронной почте Ñообщение о ÑтатуÑе Ñборочной ÑпиÑку получателей."
msgid "EmailError|It appears that the email is blank. Make sure your reply is at the top of the email, we can't process inline replies."
-msgstr ""
+msgstr "Похоже, что ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° пуÑта. УбедитеÑÑŒ, что ваш ответ находитÑÑ Ð²Ð²ÐµÑ€Ñ…Ñƒ пиÑьма, мы не можем обрабатывать вÑтроенные ответы."
msgid "EmailError|The thread you are replying to no longer exists, perhaps it was deleted? If you believe this is in error, contact a staff member."
msgstr "Тема, на которую вы отвечаете, больше не ÑущеÑтвует, возможно, она была удалена? ЕÑли вы Ñчитаете, что Ñто ошибка, ÑвÑжитеÑÑŒ Ñ ÑƒÑ‡Ð°Ñтником."
msgid "EmailError|We couldn't figure out what the email is for. Please create your issue or comment through the web interface."
-msgstr ""
+msgstr "Мы не Ñмогли понÑÑ‚ÑŒ, Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ Ñто пиÑьмо. ПожалуйÑта, Ñоздайте Ñвое обÑуждение или комментарий через веб-интерфейÑ."
msgid "EmailError|We couldn't figure out what the email is in reply to. Please create your comment through the web interface."
-msgstr ""
+msgstr "Мы не Ñмогли выÑÑнить, на что пиÑьмо отвечает. ПожалуйÑта, Ñоздайте Ñвой комментарий через веб-интерфейÑ."
msgid "EmailError|We couldn't figure out what user corresponds to the email. Please create your comment through the web interface."
msgstr ""
@@ -7708,19 +7932,19 @@ msgid "EmailError|We couldn't find the project. Please check if there's any typo
msgstr "Мы не Ñмогли найти проект. ПожалуйÑта, проверьте, еÑÑ‚ÑŒ ли какие-либо опечатки."
msgid "EmailError|You are not allowed to perform this action. If you believe this is in error, contact a staff member."
-msgstr ""
+msgstr "Вам не разрешено выполнÑÑ‚ÑŒ Ñто дейÑтвие. ЕÑли вы Ñчитаете, что Ñто ошибка, обратитеÑÑŒ к Ñотруднику."
msgid "EmailError|Your account has been blocked. If you believe this is in error, contact a staff member."
-msgstr ""
+msgstr "Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ была заблокирована. ЕÑли вы Ñчитаете, что Ñто ошибка, ÑвÑжитеÑÑŒ Ñ Ñотрудником."
msgid "EmailToken|reset it"
-msgstr ""
+msgstr "ÑброÑить Ñто"
msgid "EmailToken|resetting..."
-msgstr ""
+msgstr "ÑброÑ..."
msgid "Emails"
-msgstr "Email-адреÑа"
+msgstr "ÐдреÑа Ñлектронной почты"
msgid "Emails sent from Service Desk will have this name"
msgstr ""
@@ -7729,7 +7953,7 @@ msgid "Emails separated by comma"
msgstr "Электронные адреÑа разделенные запÑтой"
msgid "EmailsOnPushService|Disable code diffs"
-msgstr ""
+msgstr "Отключить Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ Ð² коде"
msgid "EmailsOnPushService|Don't include possibly sensitive code diffs in notification body."
msgstr ""
@@ -7741,13 +7965,13 @@ msgid "EmailsOnPushService|Emails on push"
msgstr ""
msgid "EmailsOnPushService|Emails separated by whitespace"
-msgstr ""
+msgstr "ПиÑьма, разделенные пробелами"
msgid "EmailsOnPushService|Send from committer"
-msgstr ""
+msgstr "Отправить от автора коммита"
msgid "EmailsOnPushService|Send notifications from the committer's email address if the domain is part of the domain GitLab is running on (e.g. %{domains})."
-msgstr ""
+msgstr "ОтправлÑÑ‚ÑŒ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ñ Ð°Ð´Ñ€ÐµÑа Ñлектронной почты автора коммита, еÑли домен ÑвлÑетÑÑ Ñ‡Ð°Ñтью домена, на котором работает GitLab (например, %{domains})."
msgid "Embed"
msgstr "Ð’Ñтроить"
@@ -7801,7 +8025,7 @@ msgid "Enable container expiration and retention policies for projects created e
msgstr ""
msgid "Enable email restrictions for sign ups"
-msgstr ""
+msgstr "Включить Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ€ÐµÐ³Ð¸Ñтрации по Ñлектронной почте"
msgid "Enable error tracking"
msgstr ""
@@ -7906,7 +8130,7 @@ msgid "Ensure connectivity is available from the GitLab server to the Prometheus
msgstr ""
msgid "Ensure your %{linkStart}environment is part of the deploy stage%{linkEnd} of your CI pipeline to track deployments to your cluster."
-msgstr ""
+msgstr "УбедитеÑÑŒ, что ваша Ñреда %{linkStart}ÑвлÑетÑÑ Ñ‡Ð°Ñтью Ñтадии развёртываниÑ%{linkEnd} Ñборочной линии CI Ð´Ð»Ñ Ð¾Ñ‚ÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² ваш клаÑтер."
msgid "Enter 2FA for Admin Mode"
msgstr ""
@@ -7975,13 +8199,13 @@ msgid "Environment"
msgstr "Окружение"
msgid "Environment does not have deployments"
-msgstr ""
+msgstr "Окружение не имеет развёртываний"
msgid "Environment scope"
msgstr ""
msgid "Environment variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. Additionally, they can be masked so they are hidden in job logs, though they must match certain regexp requirements to do so. You can use environment variables for passwords, secret keys, or whatever you want."
-msgstr ""
+msgstr "Переменные Ñреды Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑÑŽÑ‚ÑÑ Ðº Ñредам через Runner. Они могут быть защищены только при нахождении в защищенных ветках и тегах. Кроме того, они могут быть замаÑкированы, чтобы Ñкрыть их в журналах заданий, Ñ…Ð¾Ñ‚Ñ Ð´Ð»Ñ Ñтого они должны ÑоответÑтвовать требованиÑм правильного регулÑрного выражениÑ. Ð’Ñ‹ можете иÑпользовать переменные Ñреды Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð°Ñ€Ð¾Ð»ÐµÐ¹, Ñекретных ключей или Ð´Ð»Ñ Ñ‡ÐµÐ³Ð¾ угодного, чего бы вы хотели."
msgid "Environment variables are configured by your administrator to be %{link_start}protected%{link_end} by default"
msgstr "Переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð½Ð°Ñтроены админиÑтратором, чтобы быть %{link_start}защищенными%{link_end} по умолчанию"
@@ -7990,19 +8214,19 @@ msgid "Environment:"
msgstr "Окружение:"
msgid "EnvironmentDashboard|API"
-msgstr ""
+msgstr "API"
msgid "EnvironmentDashboard|Created through the Deployment API"
-msgstr ""
+msgstr "Создано Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ API развёртываниÑ"
msgid "EnvironmentDashboard|You are looking at the last updated environment"
-msgstr ""
+msgstr "Ð’Ñ‹ проÑматриваете поÑледнее обновленное окружение"
msgid "Environments"
msgstr "Среды"
msgid "Environments Dashboard"
-msgstr ""
+msgstr "Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñми"
msgid "Environments allow you to track deployments of your application %{link_to_read_more}."
msgstr "Окружение позволÑет отÑлеживать развертывание вашего Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ %{link_to_read_more}."
@@ -8011,28 +8235,28 @@ msgid "Environments in %{name}"
msgstr ""
msgid "EnvironmentsDashboard|Add a project to the dashboard"
-msgstr ""
+msgstr "Добавить проект на панель управлениÑ"
msgid "EnvironmentsDashboard|Add projects"
-msgstr ""
+msgstr "Добавить проекты"
msgid "EnvironmentsDashboard|Environments Dashboard"
-msgstr ""
+msgstr "Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñми"
msgid "EnvironmentsDashboard|Job: %{job}"
-msgstr ""
+msgstr "Задание: %{job}"
msgid "EnvironmentsDashboard|More actions"
-msgstr ""
+msgstr "Дополнительные дейÑтвиÑ"
msgid "EnvironmentsDashboard|Read more."
-msgstr ""
+msgstr "Прочитать больше."
msgid "EnvironmentsDashboard|Remove"
-msgstr ""
+msgstr "Удалить"
msgid "EnvironmentsDashboard|The environments dashboard provides a summary of each project's environments' status, including pipeline and alert statuses."
-msgstr ""
+msgstr "Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñредами предоÑтавлÑет Ñводку ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ проекта, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ ÑоÑтоÑÐ½Ð¸Ñ Ñборочной линии и оповещений."
msgid "EnvironmentsDashboard|This dashboard displays a maximum of 7 projects and 3 environments per project. %{readMoreLink}"
msgstr ""
@@ -8050,7 +8274,7 @@ msgid "Environments|An error occurred while making the request."
msgstr "Произошла ошибка во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа."
msgid "Environments|An error occurred while re-deploying the environment, please try again"
-msgstr "Произошла ошибка при повторном развертывании окружениÑ, пожалуйÑта, попробуйте еще раз"
+msgstr "Произошла ошибка при повторном развертывании окружениÑ, пожалуйÑта, попробуйте ещё раз"
msgid "Environments|An error occurred while rolling back the environment, please try again"
msgstr ""
@@ -8110,7 +8334,7 @@ msgid "Environments|Job"
msgstr "Задание"
msgid "Environments|Learn about environments"
-msgstr ""
+msgstr "Узнайте больше об окружениÑÑ…"
msgid "Environments|Learn more about stopping environments"
msgstr ""
@@ -8128,22 +8352,22 @@ msgid "Environments|No deployments yet"
msgstr "Еще нет развертываний"
msgid "Environments|No pod selected"
-msgstr ""
+msgstr "Под не выбран"
msgid "Environments|No pods to display"
-msgstr ""
+msgstr "Ðет подов Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ"
msgid "Environments|Note that this action will stop the environment, but it will %{emphasisStart}not%{emphasisEnd} have an effect on any existing deployment due to no “stop environment action†being defined in the %{ciConfigLinkStart}.gitlab-ci.yml%{ciConfigLinkEnd} file."
-msgstr ""
+msgstr "Обратите внимание, что Ñто дейÑтвие оÑтановит окружение, но %{emphasisStart}не%{emphasisEnd} повлиÑет на уже запущенные фазы развёртываниÑ, в Ñлучае еÑли в файле %{ciConfigLinkStart}.gitlab-ci.yml%{ciConfigLinkEnd} не определено дейÑтвие \"оÑтановка окружениÑ\"."
msgid "Environments|Note that this action will stop the environment, but it will %{emphasis_start}not%{emphasis_end} have an effect on any existing deployment due to no “stop environment action†being defined in the %{ci_config_link_start}.gitlab-ci.yml%{ci_config_link_end} file."
-msgstr ""
+msgstr "Обратите внимание, что Ñто дейÑтвие оÑтановит окружение, но %{emphasis_start}не%{emphasis_end} повлиÑет на любое ÑущеÑтвующее развёртывание из-за того, что в файле %{ci_config_link_start}.gitlab-ci.yml%{ci_config_link_end} не указано \"дейÑтвие в Ñлучае оÑтановки окружениÑ\"."
msgid "Environments|Open live environment"
-msgstr ""
+msgstr "Открыть живое окружение"
msgid "Environments|Pod name"
-msgstr ""
+msgstr "Ðазвание пода"
msgid "Environments|Re-deploy"
msgstr "Повторное развертывание"
@@ -8161,7 +8385,7 @@ msgid "Environments|Read more about environments"
msgstr "Подробнее об окружениÑÑ…"
msgid "Environments|Rollback"
-msgstr ""
+msgstr "Откатить"
msgid "Environments|Rollback environment"
msgstr ""
@@ -8173,10 +8397,10 @@ msgid "Environments|Rollback environment %{name}?"
msgstr "Откатить окружение %{name}?"
msgid "Environments|Select environment"
-msgstr ""
+msgstr "Выберите окружение"
msgid "Environments|Select pod"
-msgstr ""
+msgstr "Выберите под"
msgid "Environments|Show all"
msgstr "Показать вÑе"
@@ -8185,13 +8409,13 @@ msgid "Environments|Stop"
msgstr "ОÑтановить"
msgid "Environments|Stop environment"
-msgstr ""
+msgstr "ОÑтановить окружение"
msgid "Environments|Stopping"
-msgstr ""
+msgstr "ОÑтановка"
msgid "Environments|There was an error fetching the logs. Please try again."
-msgstr ""
+msgstr "Произошла ошибка при извлечении журналов. ПожалуйÑта, попробуйте ещё раз."
msgid "Environments|This action will relaunch the job for commit %{commit_id}, putting the environment in a previous version. Are you sure you want to continue?"
msgstr ""
@@ -8209,10 +8433,10 @@ msgid "Environments|Updated"
msgstr "Обновлено"
msgid "Environments|You don't have any environments right now"
-msgstr ""
+msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ ни одного Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð½Ð° данный момент"
msgid "Environments|protected"
-msgstr ""
+msgstr "защищенное"
msgid "Epic"
msgstr "Цель"
@@ -8221,16 +8445,13 @@ msgid "Epic cannot be found."
msgstr "Цель не может быть найдена."
msgid "Epic events"
-msgstr ""
+msgstr "Ð¡Ð¾Ð±Ñ‹Ñ‚Ð¸Ñ Ñ†ÐµÐ»Ð¸"
msgid "Epics"
msgstr "Цели"
-msgid "Epics (Ultimate / Gold license only)"
-msgstr "Цели (только Ð´Ð»Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ð¸ Ultimate / Gold)"
-
msgid "Epics Roadmap"
-msgstr ""
+msgstr "Глобальный план развитиÑ"
msgid "Epics and Issues"
msgstr "Цели и обÑуждениÑ"
@@ -8238,17 +8459,20 @@ msgstr "Цели и обÑуждениÑ"
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr "Цели позволÑÑ‚ вам управлÑÑ‚ÑŒ портфелем проектов более Ñффективно и Ñ Ð¼ÐµÐ½ÑŒÑˆÐ¸Ð¼Ð¸ уÑилиÑми"
-msgid "Epics|Add an epic"
+msgid "Epics, Issues, and Merge Requests"
msgstr ""
+msgid "Epics|Add an epic"
+msgstr "Добавить цель"
+
msgid "Epics|Add an existing epic as a child epic."
-msgstr ""
+msgstr "Добавить ÑущеÑтвующую цель как дочернюю."
msgid "Epics|An error occurred while saving the %{epicDateType} date"
msgstr "Произошла ошибка при Ñохранении %{epicDateType} даты"
msgid "Epics|An error occurred while updating labels."
-msgstr ""
+msgstr "Произошла ошибка при обновлении меток."
msgid "Epics|Are you sure you want to remove %{bStart}%{targetIssueTitle}%{bEnd} from %{bStart}%{parentEpicTitle}%{bEnd}?"
msgstr ""
@@ -8257,43 +8481,46 @@ msgid "Epics|Create an epic within this group and add it as a child epic."
msgstr ""
msgid "Epics|Create new epic"
-msgstr ""
+msgstr "Создать новую цель"
msgid "Epics|How can I solve this?"
-msgstr ""
+msgstr "Как Ñ Ð¼Ð¾Ð³Ñƒ Ñто иÑправить?"
msgid "Epics|More information"
msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ"
msgid "Epics|Remove epic"
-msgstr ""
+msgstr "Удалить цель"
msgid "Epics|Remove issue"
-msgstr ""
+msgstr "Удалить обÑуждение"
msgid "Epics|Show more"
msgstr "Показать еще"
msgid "Epics|Something went wrong while assigning issue to epic."
-msgstr ""
+msgstr "Что-то пошло не так при назначении обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð² цель."
msgid "Epics|Something went wrong while creating child epics."
-msgstr ""
+msgstr "Что-то пошло не так при Ñоздании дочерней цели."
msgid "Epics|Something went wrong while creating issue."
-msgstr ""
+msgstr "Что-то пошло не так при Ñоздании обÑуждениÑ."
msgid "Epics|Something went wrong while fetching child epics."
-msgstr ""
+msgstr "Что-то пошло не так при получении дочерней цели."
msgid "Epics|Something went wrong while fetching group epics."
+msgstr "Что-то пошло не так при получении целей группы."
+
+msgid "Epics|Something went wrong while moving item."
msgstr ""
msgid "Epics|Something went wrong while ordering item."
-msgstr ""
+msgstr "Что-то пошло не так при заказе товара."
msgid "Epics|Something went wrong while removing issue from epic."
-msgstr ""
+msgstr "Что-то пошло не так при удалении обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸Ð· цели."
msgid "Epics|These dates affect how your epics appear in the roadmap. Dates from milestones come from the milestones assigned to issues in the epic. You can also set fixed dates or remove them entirely."
msgstr ""
@@ -8308,34 +8535,34 @@ msgid "Epics|due"
msgstr "до"
msgid "Epics|start"
-msgstr ""
+msgstr "начать"
msgid "Error"
msgstr "Ошибка"
msgid "Error Details"
-msgstr ""
+msgstr "ПодробноÑти об ошибке"
msgid "Error Tracking"
-msgstr ""
+msgstr "ОтÑлеживание ошибок"
msgid "Error creating epic"
-msgstr ""
+msgstr "Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ†ÐµÐ»Ð¸"
msgid "Error creating label."
-msgstr ""
+msgstr "Ошибка при Ñоздании метки."
msgid "Error deleting %{issuableType}"
-msgstr ""
+msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %{issuableType}"
msgid "Error deleting project. Check logs for error details."
-msgstr ""
+msgstr "Ошибка при удалении проекта. Проверьте журналы Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ñтей об ошибке."
msgid "Error fetching diverging counts for branches. Please try again."
msgstr ""
msgid "Error fetching forked projects. Please try again."
-msgstr ""
+msgstr "Ошибка при извлечении ответвлений. ПожалуйÑта, попробуйте ещё раз."
msgid "Error fetching labels."
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ðº."
@@ -8343,6 +8570,9 @@ msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ðº."
msgid "Error fetching network graph."
msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñетевого графа."
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr "Ошибка при загрузке проектов"
@@ -8352,11 +8582,8 @@ msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÑÑылок"
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr "Ошибка при получении данных об иÑпользовании ping."
-
msgid "Error loading branch data. Please try again."
-msgstr "Ошибка загрузки данных ветки. ПожалуйÑта, попробуйте еще раз."
+msgstr "Ошибка загрузки данных ветки. ПожалуйÑта, попробуйте ещё раз."
msgid "Error loading branches."
msgstr "Ошибка при загрузке веток."
@@ -8365,7 +8592,7 @@ msgid "Error loading burndown chart data"
msgstr ""
msgid "Error loading countries data."
-msgstr ""
+msgstr "Ошибка при загрузке данных Ñтран."
msgid "Error loading file viewer."
msgstr "Ошибка загрузки программы проÑмотра файлов."
@@ -8383,10 +8610,10 @@ msgid "Error loading milestone tab"
msgstr "Ошибка загрузки вкладки Ñтапа"
msgid "Error loading project data. Please try again."
-msgstr "Ошибка загрузки данных проекта. ПожалуйÑта, попробуйте еще раз."
+msgstr "Ошибка загрузки данных проекта. ПожалуйÑта, попробуйте ещё раз."
msgid "Error loading template types."
-msgstr ""
+msgstr "Ошибка при загрузке типов шаблонов."
msgid "Error loading template."
msgstr "Ошибка загрузки шаблона."
@@ -8398,16 +8625,16 @@ msgid "Error occurred when fetching sidebar data"
msgstr "Произошла ошибка при получении данных боковой панели"
msgid "Error occurred when saving assignees"
-msgstr ""
+msgstr "Произошла ошибка при Ñохранении назначенных"
msgid "Error occurred when toggling the notification subscription"
msgstr "Произошла ошибка при переключении подпиÑки на оповещение"
msgid "Error occurred while updating the issue status"
-msgstr ""
+msgstr "Произошла ошибка при обновлении ÑтатуÑа обÑуждениÑ"
msgid "Error occurred while updating the issue weight"
-msgstr ""
+msgstr "Произошла ошибка при изменении приоритета задачи"
msgid "Error occurred. A blocked user cannot be deactivated"
msgstr ""
@@ -8488,14 +8715,17 @@ msgid "ErrorTracking|No projects available"
msgstr "Ðет доÑтупных проектов"
msgid "ErrorTracking|Select project"
-msgstr ""
+msgstr "Выбрать проект"
msgid "ErrorTracking|To enable project selection, enter a valid Auth Token"
-msgstr ""
+msgstr "Чтобы включить выбор проекта, введите правильный токен аутентификации"
msgid "Errors"
msgstr "Ошибки"
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8509,7 +8739,7 @@ msgid "EventFilterBy|Filter by comments"
msgstr "Фильтр по комментарию"
msgid "EventFilterBy|Filter by epic events"
-msgstr ""
+msgstr "Фильтровать по ÑобытиÑм целей"
msgid "EventFilterBy|Filter by issue events"
msgstr "Фильтр по ÑобытиÑм обÑуждений"
@@ -8575,7 +8805,7 @@ msgid "Everything on your to-do list is marked as done."
msgstr ""
msgid "Everything you need to create a GitLab Pages site using Gatsby."
-msgstr ""
+msgstr "Ð’Ñе, что вам нужно, чтобы Ñоздать Ñайт GitLab Pages Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Gatsby."
msgid "Everything you need to create a GitLab Pages site using GitBook."
msgstr "Ð’Ñе необходимое Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñайта GitLab Pages Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GitBook."
@@ -8590,7 +8820,7 @@ msgid "Everything you need to create a GitLab Pages site using Jekyll."
msgstr "Ð’Ñе необходимое Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñайта GitLab Pages Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Jekyll."
msgid "Everything you need to create a GitLab Pages site using plain HTML."
-msgstr "Ð’Ñе необходимое Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñайта GitLab Pages Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ HTML."
+msgstr "Ð’ÑÑ‘ необходимое Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñайта GitLab Pages Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ HTML."
msgid "Evidence collection"
msgstr ""
@@ -8635,7 +8865,7 @@ msgid "Expand approvers"
msgstr "Развернуть утверждающих"
msgid "Expand child epics"
-msgstr ""
+msgstr "Развернуть дочерние цели"
msgid "Expand down"
msgstr ""
@@ -8677,7 +8907,7 @@ msgid "Expires:"
msgstr ""
msgid "Explain the problem. If appropriate, provide a link to the relevant issue or comment."
-msgstr ""
+msgstr "ОбъÑÑните проблему. ЕÑли необходимо, укажите ÑÑылку на ÑоответÑтвующее обÑуждение или комментарий."
msgid "Explore"
msgstr "Обзор"
@@ -8700,12 +8930,18 @@ msgstr "Обзор публичных групп"
msgid "Export as CSV"
msgstr "ЭкÑпортировать в CSV"
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr "ЭкÑпорт проекта"
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr "ЭкÑпортировать данный проект Ñо вÑеми ÑоответÑтвующими к нему данными, Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы перенеÑти проект на новую копию GitLab. Как только ÑкÑпорт будет завершён, вы Ñможете импортировать файл через Ñтраницу нового проекта."
@@ -8775,9 +9011,6 @@ msgstr "Ðеудачно"
msgid "Failed Jobs"
msgstr "Ðевыполненные ЗаданиÑ"
-msgid "Failed create wiki"
-msgstr "Ðе удалоÑÑŒ Ñоздать Wiki"
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8817,8 +9050,11 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
-msgstr "Ðе удалоÑÑŒ удалить доÑку. Попробуйте еще раз."
+msgstr "Ðе удалоÑÑŒ удалить доÑку. Попробуйте ещё раз."
msgid "Failed to deploy to"
msgstr ""
@@ -8826,7 +9062,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8850,6 +9086,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr "Ðе удалоÑÑŒ загрузить группы и пользователей."
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -8977,10 +9219,10 @@ msgid "Feature flag was successfully removed."
msgstr ""
msgid "FeatureFlags|* (All Environments)"
-msgstr ""
+msgstr "* (Ð’Ñе окружениÑ)"
msgid "FeatureFlags|* (All environments)"
-msgstr ""
+msgstr "* (Ð’Ñе окружениÑ)"
msgid "FeatureFlags|API URL"
msgstr ""
@@ -9004,10 +9246,10 @@ msgid "FeatureFlags|Create feature flag"
msgstr "Создать функциональную опцию"
msgid "FeatureFlags|Delete %{name}?"
-msgstr ""
+msgstr "Удалить %{name}?"
msgid "FeatureFlags|Delete feature flag"
-msgstr ""
+msgstr "Удалить функциональную опцию"
msgid "FeatureFlags|Description"
msgstr "ОпиÑание"
@@ -9019,10 +9261,10 @@ msgid "FeatureFlags|Enable features for specific users and specific environments
msgstr ""
msgid "FeatureFlags|Environment Spec"
-msgstr ""
+msgstr "ХарактериÑтика окружениÑ"
msgid "FeatureFlags|Environment Specs"
-msgstr ""
+msgstr "ХарактериÑтики окружений"
msgid "FeatureFlags|Feature Flag"
msgstr ""
@@ -9061,7 +9303,7 @@ msgid "FeatureFlags|Install a %{docs_link_anchored_start}compatible client libra
msgstr "УÑтановите %{docs_link_anchored_start}ÑовмеÑтимую клиентÑкую библиотеку%{docs_link_anchored_end} и укажите URL Ð°Ð´Ñ€ÐµÑ API, наименование Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ идентификатор ÑкземплÑра Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð² процеÑÑе наÑтройки конфигурации. %{docs_link_start} Ð”Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ информации%{docs_link_end}"
msgid "FeatureFlags|Instance ID"
-msgstr ""
+msgstr "ID ÑкземплÑра"
msgid "FeatureFlags|Loading feature flags"
msgstr "Загрузка Функциональных опций"
@@ -9088,7 +9330,7 @@ msgid "FeatureFlags|Percent rollout must be a whole number between 0 and 100"
msgstr "Процент Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ быть целым чиÑлом от 0 до 100"
msgid "FeatureFlags|Protected"
-msgstr ""
+msgstr "Защищено"
msgid "FeatureFlags|Remove"
msgstr "Удалить"
@@ -9225,7 +9467,10 @@ msgstr "Фильтр по комментариÑми к коммитам"
msgid "Filter by milestone name"
msgstr "Фильтр по названию Ñтапа"
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9237,12 +9482,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr "Фильтровать результаты по группе"
msgid "Filter results by project"
msgstr "Фильтровать результаты по проекту"
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr "Отфильтровать проекты по названию"
@@ -9316,7 +9567,7 @@ msgid "FlowdockService|Flowdock Git source token"
msgstr "Токен иÑточника Flowdock Git"
msgid "FlowdockService|Flowdock is a collaboration web app for technical teams."
-msgstr ""
+msgstr "Flowdock - Ñто веб-приложение Ð´Ð»Ñ ÑовмеÑтной работы техничеÑких групп."
msgid "FogBugz Email"
msgstr ""
@@ -9328,7 +9579,7 @@ msgid "FogBugz Password"
msgstr ""
msgid "FogBugz URL"
-msgstr ""
+msgstr "URL FogBugz"
msgid "FogBugz import"
msgstr ""
@@ -9349,7 +9600,7 @@ msgid "For each Jira issue successfully imported, we'll create a new GitLab issu
msgstr ""
msgid "For internal projects, any logged in user can view pipelines and access job details (output logs and artifacts)"
-msgstr ""
+msgstr "Во внутренних проектах любой зарегиÑтрированный пользователь может проÑматривать конвейеры и получать доÑтуп к заданиÑм (логам и артефактам)"
msgid "For more info, read the documentation."
msgstr "Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации читайте документацию."
@@ -9370,7 +9621,7 @@ msgid "For more information, see the documentation on %{link_start}disabling Sea
msgstr ""
msgid "For private projects, any member (guest or higher) can view pipelines and access job details (output logs and artifacts)"
-msgstr ""
+msgstr "Ð’ чаÑтных проектах любой пользователь (ГоÑÑ‚ÑŒ и выше) может проÑматривать конвейеры и получать доÑтуп к заданиÑм (логам и артефактам)"
msgid "For public projects, anyone can view pipelines and access job details (output logs and artifacts)"
msgstr ""
@@ -9415,7 +9666,7 @@ msgid "Found errors in your %{gitlab_ci_yml}:"
msgstr ""
msgid "Found errors in your .gitlab-ci.yml:"
-msgstr ""
+msgstr "Ðайдены ошибки в вашем .gitlab-ci.yml:"
msgid "Free Trial"
msgstr "БеÑплатный пробный период"
@@ -9469,16 +9720,16 @@ msgid "Full name"
msgstr "Полное имÑ"
msgid "GPG Key ID:"
-msgstr "ID GPG ключа:"
+msgstr "ID ключа GPG:"
msgid "GPG Keys"
-msgstr "GPG Ключи"
+msgstr "Ключи GPG"
msgid "GPG keys allow you to verify signed commits."
-msgstr "GPG ключи позволÑÑŽÑ‚ вам проверить подпиÑанные коммиты."
+msgstr "Ключи GPG позволÑÑŽÑ‚ верифицировать подпиÑанные коммиты."
msgid "GPG signature (loading...)"
-msgstr "GPG подпиÑÑŒ (загрузка...)"
+msgstr "ПодпиÑÑŒ GPG (загрузка...)"
msgid "General"
msgstr "ОÑновныe"
@@ -9531,17 +9782,17 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
-msgstr ""
+msgid "GeoNodes|Container repositories"
+msgstr "Репозитории контейнеров"
msgid "GeoNodes|Data replication lag"
msgstr ""
msgid "GeoNodes|Design repositories"
-msgstr ""
+msgstr "Репозитории дизайнов"
msgid "GeoNodes|Does not match the primary storage configuration"
msgstr ""
@@ -9565,10 +9816,10 @@ msgid "GeoNodes|Internal URL"
msgstr "Внутренний URL"
msgid "GeoNodes|Job artifacts"
-msgstr ""
+msgstr "Ðртефакты заданий"
msgid "GeoNodes|LFS objects"
-msgstr ""
+msgstr "Объекты LFS"
msgid "GeoNodes|Last event ID processed by cursor"
msgstr ""
@@ -9576,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9591,6 +9845,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9621,7 +9878,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9648,6 +9908,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9676,31 +9939,31 @@ msgid "GeoNodes|secondary nodes"
msgstr ""
msgid "Geo|%{name} is scheduled for forced re-download"
-msgstr ""
+msgstr "%{name} запланирован Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑƒÐ´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ повторной загрузки"
msgid "Geo|%{name} is scheduled for re-sync"
-msgstr ""
+msgstr "%{name} запланирован Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð¹ Ñинхронизации"
msgid "Geo|%{name} is scheduled for re-verify"
msgstr "%{name} запланирован Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ подтверждениÑ"
msgid "Geo|All"
+msgstr "Ð’Ñе"
+
+msgid "Geo|All %{replicable_type}"
msgstr ""
msgid "Geo|All projects"
msgstr "Ð’Ñе проекты"
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
-msgstr "Ð’Ñе проекты запланированы Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ð³Ð¾ подтверждениÑ"
-
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
-msgstr ""
+msgstr "Ðе удалоÑÑŒ удалить запиÑÑŒ отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÑущеÑтвующего проекта."
msgid "Geo|Could not remove tracking entry for an existing upload."
msgstr "Ðе удалоÑÑŒ удалить запиÑÑŒ отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÑущеÑтвующей загрузки."
@@ -9708,7 +9971,13 @@ msgstr "Ðе удалоÑÑŒ удалить запиÑÑŒ отÑлеживаниÑ
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
+msgstr "Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Geo"
+
+msgid "Geo|In progress"
msgstr ""
msgid "Geo|In sync"
@@ -9730,16 +9999,13 @@ msgid "Geo|Never"
msgstr ""
msgid "Geo|Next sync scheduled at"
-msgstr ""
+msgstr "Ð¡Ð»ÐµÐ´ÑƒÑŽÑ‰Ð°Ñ ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð·Ð°Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° на"
msgid "Geo|Not synced yet"
-msgstr ""
-
-msgid "Geo|Pending"
-msgstr ""
+msgstr "Ðе Ñинхронизировано"
msgid "Geo|Pending synchronization"
-msgstr ""
+msgstr "Ожидание Ñинхронизации"
msgid "Geo|Pending verification"
msgstr ""
@@ -9751,7 +10017,7 @@ msgid "Geo|Project"
msgstr "Проект"
msgid "Geo|Project (ID: %{project_id}) no longer exists on the primary. It is safe to remove this entry, as this will not remove any data on disk."
-msgstr ""
+msgstr "Проект (ID: %{project_id}) больше не ÑущеÑтвует на первичном узле. Удалить Ñту запиÑÑŒ безопаÑно, так как Ñто не удалит никакие данные на диÑке."
msgid "Geo|Projects in certain groups"
msgstr ""
@@ -9760,7 +10026,7 @@ msgid "Geo|Projects in certain storage shards"
msgstr ""
msgid "Geo|Redownload"
-msgstr ""
+msgstr "Скачать заново"
msgid "Geo|Remove"
msgstr "Удалить"
@@ -9772,19 +10038,19 @@ msgid "Geo|Remove tracking database entry"
msgstr ""
msgid "Geo|Resync"
-msgstr ""
+msgstr "ПереÑинхронизировать"
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
-msgstr ""
+msgstr "КоличеÑтво повторных попыток"
msgid "Geo|Reverify"
msgstr "Повторить проверку"
-msgid "Geo|Reverify all projects"
-msgstr "Повторить проверку вÑех проектов"
+msgid "Geo|Reverify all"
+msgstr ""
msgid "Geo|Status"
msgstr "СтатуÑ"
@@ -9796,7 +10062,7 @@ msgid "Geo|Synced at"
msgstr "Синхронизировано в"
msgid "Geo|Synchronization failed - %{error}"
-msgstr ""
+msgstr "Ошибка Ñинхронизации - %{error}"
msgid "Geo|The database is currently %{db_lag} behind the primary node."
msgstr "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð±Ð°Ð·Ð° данных отÑтает от оÑновного узла на %{db_lag}."
@@ -9808,19 +10074,19 @@ msgid "Geo|Tracking database entry will be removed. Are you sure?"
msgstr ""
msgid "Geo|Tracking entry for project (%{project_id}) was successfully removed."
-msgstr ""
+msgstr "ЗапиÑÑŒ отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð° (%{project_id}) была уÑпешно удалена."
msgid "Geo|Tracking entry for upload (%{type}/%{id}) was successfully removed."
msgstr "ЗапиÑÑŒ отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ (%{type}/%{id}) была уÑпешно удалена."
msgid "Geo|Unknown state"
-msgstr ""
+msgstr "ÐеизвеÑтное ÑоÑтоÑние"
msgid "Geo|Verification failed - %{error}"
-msgstr ""
+msgstr "Ошибка Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ - %{error}"
msgid "Geo|Waiting for scheduler"
-msgstr ""
+msgstr "Ожидание планировщика"
msgid "Geo|You are on a secondary, <b>read-only</b> Geo node. If you want to make changes, you must visit this page on the %{primary_node}."
msgstr ""
@@ -9829,13 +10095,13 @@ msgid "Geo|You are on a secondary, <b>read-only</b> Geo node. You may be able to
msgstr ""
msgid "Geo|misconfigured"
-msgstr ""
+msgstr "наÑтроен неверно"
msgid "Geo|primary"
-msgstr ""
+msgstr "первичный"
msgid "Geo|secondary"
-msgstr ""
+msgstr "вторичный"
msgid "Get a free instance review"
msgstr ""
@@ -9961,7 +10227,7 @@ msgid "GitLabPagesDomains|Retry"
msgstr ""
msgid "GitLabPages|%{domain} is not verified. To learn how to verify ownership, visit your %{link_start}domain details%{link_end}."
-msgstr ""
+msgstr "%{domain} не подтвержден. Чтобы узнать, как подтвердить право ÑобÑтвенноÑти, перейдите на Ñтраницу %{link_start}вашего домена%{link_end}."
msgid "GitLabPages|Access Control is enabled for this Pages website; only authorized users will be able to access it. To make your website publicly available, navigate to your project's %{strong_start}Settings > General > Visibility%{strong_end} and select %{strong_start}Everyone%{strong_end} in pages section. Read the %{link_start}documentation%{link_end} for more information."
msgstr ""
@@ -9988,13 +10254,13 @@ msgid "GitLabPages|Expired"
msgstr ""
msgid "GitLabPages|Force HTTPS (requires valid certificates)"
-msgstr ""
+msgstr "Принудительный HTTPS (требуютÑÑ Ð´ÐµÐ¹Ñтвительные Ñертификаты)"
msgid "GitLabPages|GitLab Pages are disabled for this project. You can enable them on your project's %{strong_start}Settings > General > Visibility%{strong_end} page."
-msgstr ""
+msgstr "GitLab Pages отключены Ð´Ð»Ñ Ñтого проекта. Ð’Ñ‹ можете включить в поле %{strong_start}ÐаÑтройки > Общие > ВидимоÑÑ‚ÑŒ%{strong_end} вашего проекта."
msgid "GitLabPages|It may take up to 30 minutes before the site is available after the first deployment."
-msgstr ""
+msgstr "Может пройти до 30 минут, прежде чем Ñайт Ñтанет доÑтупен поÑле первого развёртываниÑ."
msgid "GitLabPages|Learn how to upload your static site and have it served by GitLab by following the %{link_start}documentation on GitLab Pages%{link_end}."
msgstr ""
@@ -10003,7 +10269,7 @@ msgid "GitLabPages|Learn more."
msgstr ""
msgid "GitLabPages|Maximum size of pages (MB)"
-msgstr ""
+msgstr "МакÑимальный размер Ñтраниц (Мбайт)"
msgid "GitLabPages|New Domain"
msgstr "Ðовый домен"
@@ -10039,7 +10305,7 @@ msgid "GitLabPages|Unverified"
msgstr ""
msgid "GitLabPages|Verified"
-msgstr ""
+msgstr "Проверенные"
msgid "GitLabPages|When using Pages under the general domain of a GitLab instance (%{pages_host}), you cannot use HTTPS with sub-subdomains. This means that if your username/groupname contains a dot it will not work. This is a limitation of the HTTP Over TLS protocol. HTTP pages will continue to work provided you don't redirect HTTP to HTTPS."
msgstr ""
@@ -10048,7 +10314,7 @@ msgid "GitLabPages|With GitLab Pages you can host your static websites on GitLab
msgstr ""
msgid "GitLabPages|Your pages are served under:"
-msgstr ""
+msgstr "Ваши Ñтраницы обÑлуживаютÑÑ Ð¿Ð¾Ð´:"
msgid "Gitaly"
msgstr "Gitaly"
@@ -10081,7 +10347,7 @@ msgid "Global Shortcuts"
msgstr "Глобальные ÑÐ¾Ñ‡ÐµÑ‚Ð°Ð½Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ"
msgid "Global notification settings"
-msgstr ""
+msgstr "Глобальные наÑтройки уведомлений"
msgid "Go Back"
msgstr "ВернутьÑÑ Ð½Ð°Ð·Ð°Ð´"
@@ -10111,7 +10377,7 @@ msgid "Go to Pipelines"
msgstr ""
msgid "Go to Webhooks"
-msgstr ""
+msgstr "Перейти к веб-обработчикам"
msgid "Go to commits"
msgstr "Перейти к коммитам"
@@ -10125,9 +10391,6 @@ msgstr "Перейти в окружениÑ"
msgid "Go to file"
msgstr "Перейти к файлу"
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10264,7 +10527,7 @@ msgid "Gravatar"
msgstr "Gravatar"
msgid "Gravatar enabled"
-msgstr ""
+msgstr "Gravatar включён"
msgid "Group"
msgstr "Группа"
@@ -10399,13 +10662,13 @@ msgid "GroupRoadmap|No start date – %{dateWord}"
msgstr ""
msgid "GroupRoadmap|Something went wrong while fetching epics"
-msgstr ""
+msgstr "Что-то пошло не так при извлечении целей"
msgid "GroupRoadmap|Something went wrong while fetching milestones"
msgstr ""
msgid "GroupRoadmap|Sorry, no epics matched your search"
-msgstr ""
+msgstr "К Ñожалению, по вашему запроÑу цели не найдены"
msgid "GroupRoadmap|The roadmap shows the progress of your epics along a timeline"
msgstr ""
@@ -10429,7 +10692,7 @@ msgid "GroupSAML|Copy SAML Response XML"
msgstr ""
msgid "GroupSAML|Enable SAML authentication for this group."
-msgstr ""
+msgstr "Включить аутентификацию SAML Ð´Ð»Ñ Ñтой группы."
msgid "GroupSAML|Enforce SSO-only authentication for this group."
msgstr "Принудительно иÑпользовать SSO-аутентификацию Ð´Ð»Ñ Ñтой группы."
@@ -10572,6 +10835,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr "ЕÑли видимоÑÑ‚ÑŒ родительÑкой группы ниже текущей видимоÑти группы, уровни видимоÑти Ð´Ð»Ñ Ð¿Ð¾Ð´Ð³Ñ€ÑƒÐ¿Ð¿ и проектов будут изменены на ÑоответÑтвие видимоÑти новой родительÑкой группы."
@@ -10621,7 +10887,7 @@ msgid "GroupSettings|This setting will be applied to all subgroups unless overri
msgstr "Эта наÑтройка будет применена Ð´Ð»Ñ Ð²Ñех подгрупп еÑли не будет переопределена владельцем группы. Группы которые уже имеют доÑтуп к проекту, будут иметь его и дальше пока не будут удалены вручную."
msgid "GroupSettings|This setting will override user notification preferences for all members of the group, subgroups, and projects."
-msgstr ""
+msgstr "Эта наÑтройка переопределит наÑтройки уведомлений Ð´Ð»Ñ Ð²Ñех пользователей в группе, подгруппах и проектах."
msgid "GroupSettings|This setting will prevent group members from being notified if the group is mentioned."
msgstr ""
@@ -10648,13 +10914,16 @@ msgid "Groups"
msgstr "Группы"
msgid "Groups (%{count})"
+msgstr "Группы (%{count})"
+
+msgid "Groups (%{groups})"
msgstr ""
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
msgid "Groups to synchronize"
-msgstr ""
+msgstr "Группы Ð´Ð»Ñ Ñинхронизации"
msgid "Groups with access to %{strong_start}%{group_name}%{strong_end}"
msgstr ""
@@ -10672,7 +10941,7 @@ msgid "GroupsDropdown|Loading groups"
msgstr ""
msgid "GroupsDropdown|Search your groups"
-msgstr ""
+msgstr "ПоиÑк в ваших группах"
msgid "GroupsDropdown|Something went wrong on our end."
msgstr ""
@@ -10717,13 +10986,13 @@ msgid "GroupsTree|Loading groups"
msgstr "Загрузка групп"
msgid "GroupsTree|No groups matched your search"
-msgstr ""
+msgstr "ПоиÑк групп не дал результатов"
msgid "GroupsTree|No groups or projects matched your search"
-msgstr ""
+msgstr "ПоиÑк групп или проектов не дал результатов"
msgid "GroupsTree|Search by name"
-msgstr ""
+msgstr "ПоиÑк по имени"
msgid "Guideline"
msgstr ""
@@ -10798,7 +11067,7 @@ msgid "Hi %{username}!"
msgstr ""
msgid "Hide archived projects"
-msgstr "Скрыть архивные проекты"
+msgstr "Скрывать архивные проекты"
msgid "Hide chart"
msgid_plural "Hide charts"
@@ -10842,7 +11111,7 @@ msgid "Hiding all labels"
msgstr "Ð’Ñе метки Ñкрыты"
msgid "High or unknown vulnerabilities present"
-msgstr ""
+msgstr "ПриÑутÑтвуют уÑзвимоÑти выÑокого или неизвеÑтного уровнÑ"
msgid "Highest number of requests per minute for each raw path, default to 300. To disable throttling set to 0."
msgstr ""
@@ -10854,7 +11123,7 @@ msgid "History"
msgstr "ИÑториÑ"
msgid "History of authentications"
-msgstr ""
+msgstr "ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¹"
msgid "Hook execution failed. Ensure the group has a project with commits."
msgstr "Ðе удалоÑÑŒ выполнить обработчик. УбедитеÑÑŒ, что группа имеет проект Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð°Ð¼Ð¸."
@@ -10902,10 +11171,10 @@ msgid "I accept the %{terms_link}"
msgstr ""
msgid "I accept the|Terms of Service and Privacy Policy"
-msgstr ""
+msgstr "Я принимаю|уÑÐ»Ð¾Ð²Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ политику конфиденциальноÑти"
msgid "I forgot my password"
-msgstr ""
+msgstr "Я забыл пароль"
msgid "I have read and agree to the Let's Encrypt %{link_start}Terms of Service%{link_end} (PDF)"
msgstr ""
@@ -10919,14 +11188,11 @@ msgstr "ID"
msgid "ID:"
msgstr "ID:"
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
-msgstr ""
-
-msgid "IDE|Client side evaluation"
-msgstr ""
+msgstr "Ðазад"
msgid "IDE|Commit"
msgstr "Коммит"
@@ -10938,19 +11204,19 @@ msgid "IDE|Edit"
msgstr "Редактировать"
msgid "IDE|Get started with Live Preview"
-msgstr ""
+msgstr "Ðачало работы Ñ Live Preview"
msgid "IDE|Go to project"
-msgstr ""
+msgstr "Перейти к проекту"
msgid "IDE|Live Preview"
-msgstr ""
+msgstr "Предварительный проÑмотр"
msgid "IDE|Preview your web application using Web IDE client-side evaluation."
-msgstr ""
+msgstr "ПредпроÑмотр веб-Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ Ð¸Ñпользованием Web IDE на Ñтороне клиента."
msgid "IDE|Refresh preview"
-msgstr ""
+msgstr "Обновить предварительный проÑмотр"
msgid "IDE|Review"
msgstr "РецензиÑ"
@@ -10991,11 +11257,14 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
-msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
msgstr ""
+msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
+msgstr "ЕÑли отмечено, владельцы групп могут управлÑÑ‚ÑŒ ÑÑылками на группы LDAP и переопределÑÑ‚ÑŒ пользователей LDAP"
+
msgid "If checked, new group memberships and permissions can only be added via LDAP synchronization"
-msgstr ""
+msgstr "ЕÑли отмечено, новые членÑтва в группах и Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑ‚ÑŒ только через Ñинхронизацию LDAP"
msgid "If disabled, a diverged local branch will not be automatically updated with commits from its remote counterpart, to prevent local data loss. If the default branch (%{default_branch}) has diverged and cannot be updated, mirroring will fail. Other diverged branches are silently ignored."
msgstr ""
@@ -11030,6 +11299,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr "ЕÑли вы потерÑете Ñвои коды воÑÑтановлениÑ, вы можете Ñоздать новые, Ð°Ð½Ð½ÑƒÐ»Ð¸Ñ€ÑƒÑ Ð²Ñе предыдущие коды."
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11043,7 +11315,7 @@ msgid "Ignored"
msgstr ""
msgid "Image: %{image}"
-msgstr ""
+msgstr "Изображение: %{image}"
msgid "ImageDiffViewer|2-up"
msgstr ""
@@ -11141,6 +11413,9 @@ msgstr "Импорт репозиториев из GitHub"
msgid "Import repository"
msgstr "Импорт репозиториÑ"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11190,7 +11465,7 @@ msgid "Improve Merge Requests and customer support with GitLab Enterprise Editio
msgstr ""
msgid "Improve issues management with Issue weight and GitLab Enterprise Edition."
-msgstr ""
+msgstr "Улучшить управление обÑуждениÑми Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾Ñтью Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚Ð° обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ помощи GitLab Enterprise Edition."
msgid "Improve search with Advanced Global Search and GitLab Enterprise Edition."
msgstr "Улучшить поиÑк при помощи РаÑширенного Глобального ПоиÑка в верÑии GitLab Enterprise Edition."
@@ -11207,6 +11482,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11220,7 +11498,7 @@ msgid "Include a Terms of Service agreement and Privacy Policy that all users mu
msgstr ""
msgid "Include author name in notification email body"
-msgstr ""
+msgstr "Включать Ð¸Ð¼Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð° в текÑте ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñлектронной почте"
msgid "Include merge request description"
msgstr ""
@@ -11356,10 +11634,10 @@ msgid "Internal - The project can be accessed by any logged in user."
msgstr "Внутренний - Проект доÑтупен любому зарегиÑтрированному пользователю."
msgid "Internal URL (optional)"
-msgstr ""
+msgstr "Внутренний URL (необÑзательно)"
msgid "Internal users"
-msgstr ""
+msgstr "Внутренние пользователи"
msgid "Interval Pattern"
msgstr "Шаблон интервала"
@@ -11488,7 +11766,7 @@ msgid "Issue Boards"
msgstr "ДоÑки ОбÑуждений"
msgid "Issue already promoted to epic."
-msgstr ""
+msgstr "ОбÑуждение уже было продвинуто до цели."
msgid "Issue cannot be found."
msgstr ""
@@ -11515,7 +11793,7 @@ msgid "Issue was closed by %{name} %{reason}"
msgstr "ОбÑуждение было закрыто %{name} %{reason}"
msgid "Issue weight"
-msgstr ""
+msgstr "Приоритет обÑуждениÑ"
msgid "IssueBoards|Board"
msgstr "ДоÑка"
@@ -11527,16 +11805,16 @@ msgid "IssueBoards|Create new board"
msgstr "Создать новую доÑку"
msgid "IssueBoards|Delete board"
-msgstr ""
+msgstr "Удалить доÑку"
msgid "IssueBoards|No matching boards found"
-msgstr ""
+msgstr "Ðет подходÑщих доÑок"
msgid "IssueBoards|Some of your boards are hidden, activate a license to see them again."
-msgstr ""
+msgstr "Ðекоторые из ваших доÑок Ñкрыты. Ðктивируйте лицензию, чтобы Ñнова увидеть их."
msgid "IssueBoards|Switch board"
-msgstr ""
+msgstr "Переключить доÑку"
msgid "IssueTracker|Bugzilla issue tracker"
msgstr "СиÑтема ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¾Ð±Ñуждений Bugzilla"
@@ -11556,15 +11834,15 @@ msgstr "СиÑтема ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ñ Ð¾Ð±Ñуждений YouTrack"
msgid "Issues"
msgstr "ОбÑуждениÑ"
-msgid "Issues / Merge Requests"
-msgstr "ОбÑуждениÑ/ЗапроÑÑ‹ на ÑлиÑние"
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr "ОбÑуждениÑми могут быть ошибки, задачи или идеи. Также, по обÑуждениÑм можно выполнÑÑ‚ÑŒ поиÑк и отбор."
@@ -11586,11 +11864,11 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
-msgstr "ОбÑуждений Ñоздано"
+msgid "IssuesAnalytics|Issues opened"
+msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
-msgstr "Создано обÑуждений за меÑÑц"
+msgid "IssuesAnalytics|Issues opened per month"
+msgstr ""
msgid "IssuesAnalytics|Last 12 months"
msgstr "ПоÑледние 12 меÑÑцев"
@@ -11643,6 +11921,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr "Ð¡Ð¾Ð±Ñ‹Ñ‚Ð¸Ñ Ð´Ð»Ñ %{noteable_model_name} отключены."
@@ -11731,37 +12012,37 @@ msgid "Job|Complete Raw"
msgstr ""
msgid "Job|Download"
-msgstr ""
+msgstr "Скачать"
msgid "Job|Erase job log"
-msgstr ""
+msgstr "ОчиÑтить журнал заданиÑ"
msgid "Job|Job artifacts"
-msgstr ""
+msgstr "Ðртефакты заданиÑ"
msgid "Job|Job has been erased"
-msgstr ""
+msgstr "Задание было удалено"
msgid "Job|Job has been erased by"
-msgstr ""
+msgstr "Задание было удалено пользователем"
msgid "Job|Keep"
-msgstr ""
+msgstr "ОÑтавить"
msgid "Job|Pipeline"
msgstr "Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ"
msgid "Job|Scroll to bottom"
-msgstr ""
+msgstr "Прокрутить вниз"
msgid "Job|Scroll to top"
-msgstr ""
+msgstr "Прокрутить вверх"
msgid "Job|Show complete raw"
-msgstr ""
+msgstr "Показать полный иÑходный текÑÑ‚"
msgid "Job|The artifacts were removed"
-msgstr ""
+msgstr "Ðртефакты Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ удалены"
msgid "Job|The artifacts will be removed"
msgstr "Ðртефакты будут удалены"
@@ -11848,7 +12129,7 @@ msgid "Kubernetes cluster was successfully updated."
msgstr "КлаÑтер Kubernetes был уÑпешно обновлён."
msgid "Kubernetes deployment not found"
-msgstr ""
+msgstr "Развёртывание Kubernetes не найдено"
msgid "Kubernetes error: %{error_code}"
msgstr "Ошибка Kubernetes: %{error_code}"
@@ -11860,10 +12141,10 @@ msgid "LDAP"
msgstr "LDAP"
msgid "LDAP settings"
-msgstr ""
+msgstr "ÐаÑтройки LDAP"
msgid "LDAP settings updated"
-msgstr ""
+msgstr "ÐаÑтройки LDAP обновлены"
msgid "LDAP sync in progress. This could take a few minutes. Refresh the page to see the changes."
msgstr "Идет ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ LDAP. Это может занÑÑ‚ÑŒ неÑколько минут. Обновите Ñтраницу, чтобы увидеть изменениÑ."
@@ -11938,7 +12219,7 @@ msgid "Language"
msgstr "Язык"
msgid "Large File Storage"
-msgstr ""
+msgstr "Хранилище больших файлов"
msgid "Last %d day"
msgid_plural "Last %d days"
@@ -11951,7 +12232,7 @@ msgid "Last %{days} days"
msgstr "ПоÑледние %{days} днÑ(ей)"
msgid "Last Accessed On"
-msgstr ""
+msgstr "ПоÑледнее обращение"
msgid "Last Name is too long (maximum is %{max_length} characters)."
msgstr ""
@@ -11984,7 +12265,7 @@ msgid "Last name"
msgstr "ФамилиÑ"
msgid "Last reply by"
-msgstr ""
+msgstr "ПоÑледний ответ от"
msgid "Last repository check run"
msgstr ""
@@ -12017,7 +12298,7 @@ msgid "Last used on:"
msgstr "ПоÑледнее иÑпользование:"
msgid "LastCommit|authored"
-msgstr ""
+msgstr "Ñоздал"
msgid "LastPushEvent|You pushed to"
msgstr "Вы отправили в"
@@ -12034,11 +12315,14 @@ msgstr ""
msgid "Lead"
msgstr ""
-msgid "Learn GitLab"
+msgid "Lead Time"
msgstr ""
+msgid "Learn GitLab"
+msgstr "Узнайте о GitLab"
+
msgid "Learn More"
-msgstr ""
+msgstr "Узнать больше"
msgid "Learn how to %{link_start}contribute to the built-in templates%{link_end}"
msgstr "Узнайте, как %{link_start}внеÑти Ñвой вклад во вÑтроенные шаблоны%{link_end}"
@@ -12046,6 +12330,9 @@ msgstr "Узнайте, как %{link_start}внеÑти Ñвой вклад вÐ
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr "Узнайте, как %{no_packages_link_start}опубликовать и делитьÑÑ Ñвоими пакетами%{no_packages_link_end} Ñ GitLab."
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr "Подробнее"
@@ -12062,7 +12349,7 @@ msgid "Learn more about Vulnerability-Check"
msgstr "Узнайте больше о Vulnerability-Check"
msgid "Learn more about Web Terminal"
-msgstr ""
+msgstr "Узнайте больше о Web Terminal"
msgid "Learn more about adding certificates to your project by following the %{docs_link_start}documentation on GitLab Pages%{docs_link_end}."
msgstr ""
@@ -12125,116 +12412,116 @@ msgid "License"
msgstr "ЛицензиÑ"
msgid "License Compliance"
-msgstr ""
+msgstr "Служба комплаенÑа лицензий"
msgid "License-Check"
msgstr ""
msgid "LicenseCompliance|Add a license"
-msgstr ""
+msgstr "Добавить лицензию"
msgid "LicenseCompliance|Add license and related policy"
-msgstr ""
+msgstr "Добавить лицензию и ÑвÑзанную политику"
msgid "LicenseCompliance|Allow"
-msgstr ""
+msgstr "Разрешить"
msgid "LicenseCompliance|Allowed"
-msgstr ""
+msgstr "Разрешено"
msgid "LicenseCompliance|Cancel"
-msgstr ""
+msgstr "Отмена"
msgid "LicenseCompliance|Denied"
-msgstr ""
+msgstr "Запрещено"
msgid "LicenseCompliance|Deny"
-msgstr ""
+msgstr "Запретить"
msgid "LicenseCompliance|Here you can allow or deny licenses for this project. Using %{ci} or %{license} will allow you to see if there are any unmanaged licenses and allow or deny them in merge request."
-msgstr ""
+msgstr "ЗдеÑÑŒ вы можете разрешить или запрещать лицензии в Ñтом проекте. ИÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ %{ci} или %{license}, вы можете проÑматировать, еÑÑ‚ÑŒ ли здеÑÑŒ лицензии Ñ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ñ‹Ð¼ ÑтатуÑом, а затем разрешить или запретить их в запроÑе на ÑлиÑние."
msgid "LicenseCompliance|License"
-msgstr ""
+msgstr "ЛицензиÑ"
msgid "LicenseCompliance|License Compliance"
-msgstr ""
+msgstr "Служба комплаенÑа лицензий"
msgid "LicenseCompliance|License Compliance detected %d license and policy violation for the source branch only; approval required"
msgid_plural "LicenseCompliance|License Compliance detected %d licenses and policy violations for the source branch only; approval required"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Служба комплаенÑа лицензий обнаружила %d лицензию и нарушение только Ð´Ð»Ñ Ð¸Ñходной ветки; необходимо утверждение"
+msgstr[1] "Служба комплаенÑа лицензий обнаружила %d лицензии и Ð½Ð°Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð¸Ñходной ветки; необходимо утверждение"
+msgstr[2] "Служба комплаенÑа лицензий обнаружила %d лицензий и нарушений только Ð´Ð»Ñ Ð¸Ñходной ветки; необходимо утверждение"
+msgstr[3] "Служба комплаенÑа лицензий обнаружила %d лицензий и нарушений только Ð´Ð»Ñ Ð¸Ñходной ветки; необходимо утверждение"
msgid "LicenseCompliance|License Compliance detected %d license for the source branch only"
msgid_plural "LicenseCompliance|License Compliance detected %d licenses for the source branch only"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Служба комплаенÑа лицензий обнаружила %d лицензию только Ð´Ð»Ñ Ð¸Ñходной ветки"
+msgstr[1] "Служба комплаенÑа лицензий обнаружила %d лицензии только Ð´Ð»Ñ Ð¸Ñходной ветки"
+msgstr[2] "Служба комплаенÑа лицензий обнаружила %d лицензий только Ð´Ð»Ñ Ð¸Ñходной ветки"
+msgstr[3] "Служба комплаенÑа лицензий обнаружила %d лицензий только Ð´Ð»Ñ Ð¸Ñходной ветки"
msgid "LicenseCompliance|License Compliance detected %d new license"
msgid_plural "LicenseCompliance|License Compliance detected %d new licenses"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Служба комплаенÑа лицензий обнаружила %d новую лицензию"
+msgstr[1] "Служба комплаенÑа лицензий обнаружила %d новых лицензии"
+msgstr[2] "Служба комплаенÑа лицензий обнаружила %d новых лицензий"
+msgstr[3] "Служба комплаенÑа лицензий обнаружила %d новых лицензий"
msgid "LicenseCompliance|License Compliance detected %d new license and policy violation; approval required"
msgid_plural "LicenseCompliance|License Compliance detected %d new licenses and policy violations; approval required"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Служба комплаенÑа обнаружила %d новую лицензию и политику нарушений; необходимо утверждение"
+msgstr[1] "Служба комплаенÑа лицензий обнаружил %d новых лицензии и политики нарушений; необходимо утверждение"
+msgstr[2] "Служба комплаенÑа лицензий обнаружил %d новых лицензий и политик нарушений; необходимо утверждение"
+msgstr[3] "Служба комплаенÑа лицензий обнаружил %d новых лицензий и политик нарушений; необходимо утверждение"
msgid "LicenseCompliance|License Compliance detected no licenses for the source branch only"
-msgstr ""
+msgstr "Служба комплаенÑа лицензий не обнаружила лицензий только Ð´Ð»Ñ Ð¸Ñходной ветки"
msgid "LicenseCompliance|License Compliance detected no new licenses"
-msgstr ""
+msgstr "Служба комплаенÑа лицензий не обнаружила новых"
msgid "LicenseCompliance|License details"
-msgstr ""
+msgstr "Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ лицензии"
msgid "LicenseCompliance|License name"
-msgstr ""
+msgstr "Ðазвание лицензии"
msgid "LicenseCompliance|License review"
-msgstr ""
+msgstr "Обзор лицензии"
msgid "LicenseCompliance|Packages"
-msgstr ""
+msgstr "Пакеты"
msgid "LicenseCompliance|Remove license"
-msgstr ""
+msgstr "Удалить лицензию"
msgid "LicenseCompliance|Remove license?"
-msgstr ""
+msgstr "Удалить лицензию?"
msgid "LicenseCompliance|Submit"
-msgstr ""
+msgstr "Отправить"
msgid "LicenseCompliance|There are currently no approved or blacklisted licenses in this project."
-msgstr ""
+msgstr "Ðа данный момент в Ñтом проекте нет утвержденных или занеÑённых в чёрный ÑпиÑок лицензий."
msgid "LicenseCompliance|There are currently no approved or blacklisted licenses that match in this project."
-msgstr ""
+msgstr "Ðа данный момент нет одобренных или занеÑенных в чёрный ÑпиÑок лицензий, ÑоответÑтвующих Ñтому проекту."
msgid "LicenseCompliance|This license already exists in this project."
-msgstr ""
+msgstr "Эта Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ ÑƒÐ¶Ðµ еÑÑ‚ÑŒ в Ñтом проекте."
msgid "LicenseCompliance|URL"
-msgstr ""
+msgstr "URL"
msgid "LicenseCompliance|You are about to remove the license, %{name}, from this project."
-msgstr ""
+msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ удалить лицензию %{name} из Ñтого проекта."
msgid "LicenseManagement|Allowed"
-msgstr ""
+msgstr "Разрешено"
msgid "LicenseManagement|Denied"
-msgstr ""
+msgstr "Запрещено"
msgid "LicenseManagement|Uncategorized"
msgstr ""
@@ -12243,13 +12530,13 @@ msgid "Licensed Features"
msgstr ""
msgid "Licensed to"
-msgstr ""
+msgstr "Лицензировано длÑ"
msgid "Licenses"
msgstr "Лицензии"
msgid "Licenses|%{remainingComponentsCount} more"
-msgstr ""
+msgstr "ещё %{remainingComponentsCount}"
msgid "Licenses|Component"
msgstr ""
@@ -12261,7 +12548,7 @@ msgid "Licenses|Detected in Project"
msgstr ""
msgid "Licenses|Detected licenses that are out-of-compliance with the project's assigned policies"
-msgstr ""
+msgstr "Обнаружены лицензии Ñ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ñ‹Ð¼ ÑтатуÑом комплаенÑа и политик проекта"
msgid "Licenses|Displays licenses detected in the project, based on the %{linkStart}latest successful%{linkEnd} scan"
msgstr ""
@@ -12270,10 +12557,10 @@ msgid "Licenses|Error fetching the license list. Please check your network conne
msgstr ""
msgid "Licenses|Learn more about license compliance"
-msgstr ""
+msgstr "Узнайте больше о комплаенÑе лицензий"
msgid "Licenses|License Compliance"
-msgstr ""
+msgstr "Служба комплаенÑа лицензий"
msgid "Licenses|Name"
msgstr ""
@@ -12346,7 +12633,7 @@ msgid "Link title is required"
msgstr ""
msgid "Linked emails (%{email_count})"
-msgstr ""
+msgstr "ПривÑзанные адреÑа Ñлектронной почты (%{email_count})"
msgid "Linked issues"
msgstr ""
@@ -12373,7 +12660,7 @@ msgid "List of IPs and CIDRs of allowed secondary nodes. Comma-separated, e.g. \
msgstr ""
msgid "List settings"
-msgstr ""
+msgstr "ПеречиÑлить наÑтройки"
msgid "List the merge requests that must be merged before this one."
msgstr ""
@@ -12387,11 +12674,8 @@ msgstr "СпиÑок репозиториев из Bitbucket Server"
msgid "Live preview"
msgstr "Предварительный проÑмотр в реальном времени"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
-msgstr ""
+msgstr "Загрузка"
msgid "Loading contribution stats for group members"
msgstr ""
@@ -12406,7 +12690,7 @@ msgid "Loading issues"
msgstr ""
msgid "Loading snippet"
-msgstr ""
+msgstr "Загрузка Ñниппета"
msgid "Loading the GitLab IDE..."
msgstr "Загрузка GitLab IDE..."
@@ -12415,13 +12699,13 @@ msgid "Loading..."
msgstr "Загрузка..."
msgid "Loading…"
-msgstr ""
+msgstr "Загрузка…"
msgid "Localization"
msgstr "ЛокализациÑ"
msgid "Location"
-msgstr ""
+msgstr "МеÑтоположение"
msgid "Lock"
msgstr "Блокировка"
@@ -12430,7 +12714,7 @@ msgid "Lock %{issuableDisplayName}"
msgstr "Заблокировать %{issuableDisplayName}"
msgid "Lock memberships to LDAP synchronization"
-msgstr ""
+msgstr "Блокировка членÑтва в Ñинхронизации LDAP"
msgid "Lock not found"
msgstr "Блокировка не найдена"
@@ -12481,10 +12765,10 @@ msgid "Low vulnerabilities present"
msgstr ""
msgid "MB"
-msgstr ""
+msgstr "Мбайт"
msgid "MD5"
-msgstr ""
+msgstr "MD5"
msgid "MERGED"
msgstr "СЛИТО"
@@ -12493,7 +12777,7 @@ msgid "MR widget|Take a look at our %{beginnerLinkStart}Beginner's Guide to Cont
msgstr ""
msgid "MR widget|The pipeline will now run automatically every time you commit code. Pipelines are useful for deploying static web pages, detecting vulnerabilities in dependencies, static or dynamic application security testing (SAST and DAST), and so much more!"
-msgstr ""
+msgstr "Теперь ÑÐ±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ автоматичеÑки запуÑкатьÑÑ, когда вы фикÑируете код. Сборочные линии полезны Ð´Ð»Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ ÑтатичеÑких веб-Ñтраниц, Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ ÑƒÑзвимоÑтей в завиÑимоÑÑ‚ÑÑ…, ÑтатичеÑкого или динамичеÑкого теÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑти (SAST и DAST) и многого другого!"
msgid "MRApprovals|Approvals"
msgstr ""
@@ -12514,7 +12798,7 @@ msgid "Made this issue confidential."
msgstr ""
msgid "Maintenance mode"
-msgstr ""
+msgstr "Режим обÑлуживаниÑ"
msgid "Make and review changes in the browser with the Web IDE"
msgstr "ВнеÑите и проÑмотрите Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² браузере Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Web IDE"
@@ -12540,11 +12824,8 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr "УправлÑйте Git репозиториÑми иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð´ÐµÑ‚Ð°Ð»ÑŒÐ½Ñ‹Ðµ наÑтройки доÑтупа, которые защитÑÑ‚ ваш код. ВыполнÑйте проверку кода и улучшите взаимодейÑтвие вашей команды запроÑами на ÑлиÑние. Ð”Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ проекта также доÑтупны ÑиÑтема обÑуждений и Wiki."
-
msgid "Manage Web IDE features"
-msgstr ""
+msgstr "Управление функциÑми Web IDE"
msgid "Manage access"
msgstr ""
@@ -12571,6 +12852,9 @@ msgid "Manage two-factor authentication"
msgstr "Управление двухфакторной аутентификацией"
msgid "Manage your license"
+msgstr "УправлÑйте Ñвоей лицензией"
+
+msgid "Managed Account"
msgstr ""
msgid "Manifest"
@@ -12709,10 +12993,10 @@ msgid "Maximum allowable lifetime for personal access token (days)"
msgstr ""
msgid "Maximum artifacts size (MB)"
-msgstr ""
+msgstr "МакÑимальный размер артефактов (Мбайт)"
msgid "Maximum attachment size (MB)"
-msgstr ""
+msgstr "МакÑимальный размер Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (Мбайт)"
msgid "Maximum bulk request size (MiB)"
msgstr ""
@@ -12724,7 +13008,7 @@ msgid "Maximum concurrency of Elasticsearch bulk requests per indexing operation
msgstr ""
msgid "Maximum delay (Minutes)"
-msgstr ""
+msgstr "МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐºÐ° (в минутах)"
msgid "Maximum duration of a session."
msgstr ""
@@ -12742,7 +13026,7 @@ msgid "Maximum lifetime allowable for Personal Access Tokens is active, your exp
msgstr ""
msgid "Maximum namespace storage (MB)"
-msgstr ""
+msgstr "МакÑимальный размер проÑтранÑтва имён (Мбайт)"
msgid "Maximum number of %{name} (%{count}) exceeded"
msgstr ""
@@ -12760,7 +13044,7 @@ msgid "Maximum page reached"
msgstr ""
msgid "Maximum push size (MB)"
-msgstr ""
+msgstr "МакÑимальный размер отправки (Мбайт)"
msgid "Maximum size limit for a single commit."
msgstr ""
@@ -12837,6 +13121,9 @@ msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние Ñоздан"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr "Ðапишите комментарий к коммиту запроÑа на ÑлиÑние"
@@ -12919,7 +13206,7 @@ msgid "MergeRequests|Jump to next unresolved thread"
msgstr ""
msgid "MergeRequests|Reply..."
-msgstr ""
+msgstr "Ответить..."
msgid "MergeRequests|Resolve this thread in a new issue"
msgstr ""
@@ -12946,7 +13233,7 @@ msgid "MergeRequests|Toggle comments for this file"
msgstr ""
msgid "MergeRequests|View file @ %{commitId}"
-msgstr ""
+msgstr "ПроÑмотр файла @ %{commitId}"
msgid "MergeRequests|View replaced file @ %{commitId}"
msgstr ""
@@ -12976,7 +13263,7 @@ msgid "MergeRequest|Error dismissing suggestion popover. Please try again."
msgstr ""
msgid "MergeRequest|Error loading full diff. Please try again."
-msgstr "Ошибка при загрузке полной разницы. ПожалуйÑта, попробуйте еще раз."
+msgstr "Ошибка при загрузке полной разницы. ПожалуйÑта, попробуйте ещё раз."
msgid "MergeRequest|No files found"
msgstr ""
@@ -12990,6 +13277,12 @@ msgstr "Слито"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr "Объединенные ветви удалÑÑŽÑ‚ÑÑ. Это может занÑÑ‚ÑŒ некоторое Ð²Ñ€ÐµÐ¼Ñ Ð² завиÑимоÑти от количеÑтва ветвей. ПожалуйÑта, обновите Ñтраницу, чтобы увидеть изменениÑ."
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13033,7 +13326,7 @@ msgid "Metrics - Prometheus"
msgstr "Метрики - Prometheus"
msgid "Metrics Dashboard"
-msgstr ""
+msgstr "Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚Ñ€Ð¸ÐºÐ°Ð¼Ð¸"
msgid "Metrics and profiling"
msgstr "Метрики и профилирование"
@@ -13066,13 +13359,13 @@ msgid "Metrics|Add metric"
msgstr "Добавить метрику"
msgid "Metrics|Avg"
-msgstr ""
+msgstr "Ср"
msgid "Metrics|Check out the CI/CD documentation on deploying to an environment"
msgstr ""
msgid "Metrics|Create custom dashboard %{fileName}"
-msgstr ""
+msgstr "Создать пользовательÑкую панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ %{fileName}"
msgid "Metrics|Create metric"
msgstr "Создать метрику"
@@ -13087,7 +13380,7 @@ msgid "Metrics|Duplicate"
msgstr ""
msgid "Metrics|Duplicate dashboard"
-msgstr ""
+msgstr "Дублировать панель управлениÑ"
msgid "Metrics|Duplicating..."
msgstr ""
@@ -13099,12 +13392,15 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13118,7 +13414,7 @@ msgid "Metrics|Link contains an invalid time window, please verify the link to s
msgstr ""
msgid "Metrics|Max"
-msgstr ""
+msgstr "МакÑ"
msgid "Metrics|Must be a valid PromQL query."
msgstr ""
@@ -13133,16 +13429,13 @@ msgid "Metrics|Prometheus Query Documentation"
msgstr ""
msgid "Metrics|Refresh dashboard"
-msgstr ""
-
-msgid "Metrics|Show last"
-msgstr "Показать поÑледнее"
+msgstr "Обновить панель управлениÑ"
msgid "Metrics|There was an error creating the dashboard."
-msgstr ""
+msgstr "Произошла ошибка при Ñоздании панели управлениÑ"
msgid "Metrics|There was an error creating the dashboard. %{error}"
-msgstr ""
+msgstr "Произошла ошибка при Ñоздании панели управлениÑ. %{error}"
msgid "Metrics|There was an error fetching annotations. Please try again."
msgstr ""
@@ -13151,10 +13444,10 @@ msgid "Metrics|There was an error fetching the environments data, please try aga
msgstr ""
msgid "Metrics|There was an error getting annotations information."
-msgstr ""
+msgstr "Произошла ошибка при получении информации об аннотациÑÑ…."
msgid "Metrics|There was an error getting deployment information."
-msgstr ""
+msgstr "Произошла ошибка при получении Ñведений о развёртывании."
msgid "Metrics|There was an error getting environments information."
msgstr ""
@@ -13169,7 +13462,7 @@ msgid "Metrics|There was an error while retrieving metrics. %{message}"
msgstr ""
msgid "Metrics|Unexpected deployment data response from prometheus endpoint"
-msgstr ""
+msgstr "Ðеожиданные данные Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² ответе от точки Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Prometheus"
msgid "Metrics|Unit label"
msgstr ""
@@ -13181,7 +13474,7 @@ msgid "Metrics|Used if the query returns a single series. If it returns multiple
msgstr ""
msgid "Metrics|Validating query"
-msgstr ""
+msgstr "Проверка запроÑа"
msgid "Metrics|Values"
msgstr ""
@@ -13216,6 +13509,9 @@ msgstr "например, запроÑов в Ñекунду"
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr "ПеренеÑено %{success_count}/%{total_count} файлов."
@@ -13224,10 +13520,10 @@ msgstr ""
msgid "Milestone"
msgid_plural "Milestones"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Этап"
+msgstr[1] "Этапы"
+msgstr[2] "Этапы"
+msgstr[3] "Этапы"
msgid "Milestone lists not available with your current license"
msgstr ""
@@ -13239,10 +13535,10 @@ msgid "Milestones"
msgstr "Этапы"
msgid "Milestones| You’re about to permanently delete the milestone %{milestoneTitle} and remove it from %{issuesWithCount} and %{mergeRequestsWithCount}. Once deleted, it cannot be undone or recovered."
-msgstr ""
+msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ окончательно удалить Ñтап %{milestoneTitle} и удалить его из %{issuesWithCount} и %{mergeRequestsWithCount}. Это необратимо."
msgid "Milestones| You’re about to permanently delete the milestone %{milestoneTitle}. This milestone is not currently used in any issues or merge requests."
-msgstr ""
+msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ безвозвратно удалить Ñтап %{milestoneTitle}. Этот Ñтап в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½Ðµ иÑпользуетÑÑ Ð½Ð¸ в обÑуждениÑÑ…, ни в запроÑах на ÑлиÑние."
msgid "Milestones|Delete milestone"
msgstr "Удалить Ñтап"
@@ -13266,7 +13562,7 @@ msgid "Milestones|Promoting %{milestoneTitle} will make it available for all pro
msgstr "Повышение ÑƒÑ€Ð¾Ð²Ð½Ñ %{milestoneTitle} Ñделает его доÑтупным Ð´Ð»Ñ Ð²Ñех проектов внутри %{groupName}. СущеÑтвующие Ñтапы проекта Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же заголовком будут объединены."
msgid "Milestones|This action cannot be reversed."
-msgstr ""
+msgstr "Это дейÑтвие не может быть отменено."
msgid "Minimum capacity to be available before we schedule more mirrors preemptively."
msgstr ""
@@ -13278,16 +13574,16 @@ msgid "Minimum length is %{minimum_password_length} characters."
msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° - %{minimum_password_length} Ñимволов."
msgid "Minimum password length (number of characters)"
-msgstr ""
+msgstr "ÐœÐ¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° Ð¿Ð°Ñ€Ð¾Ð»Ñ (количеÑтво Ñимволов)"
msgid "Minutes"
-msgstr ""
+msgstr "Минуты"
msgid "Mirror direction"
-msgstr ""
+msgstr "Ðаправление зеркалированиÑ"
msgid "Mirror repository"
-msgstr ""
+msgstr "Зеркалировать репозиторий"
msgid "Mirror settings are only available to GitLab administrators."
msgstr ""
@@ -13299,19 +13595,19 @@ msgid "Mirrored branches will have this prefix. If you enabled 'Only mirror prot
msgstr ""
msgid "Mirrored repositories"
-msgstr ""
+msgstr "Отзеркаленные репозитории"
msgid "Mirroring repositories"
-msgstr ""
+msgstr "Зеркалирование репозиториев"
msgid "Mirroring settings were successfully updated."
-msgstr ""
+msgstr "ÐаÑтройки Ð·ÐµÑ€ÐºÐ°Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ñ‹Ð»Ð¸ уÑпешно обновлены."
msgid "Mirroring settings were successfully updated. The project is being updated."
msgstr ""
msgid "Mirroring was successfully disabled."
-msgstr ""
+msgstr "Зеркалирование было уÑпешно отключено."
msgid "Mirroring will only be available if the feature is included in the plan of the selected group or user."
msgstr ""
@@ -13320,13 +13616,13 @@ msgid "Missing commit signatures endpoint!"
msgstr ""
msgid "MissingSSHKeyWarningLink|Add SSH key"
-msgstr ""
+msgstr "Добавить ключ SSH"
msgid "MissingSSHKeyWarningLink|Don't show again"
-msgstr ""
+msgstr "Больше не показывать"
msgid "MissingSSHKeyWarningLink|You won't be able to pull or push project code via SSH until you add an SSH key to your profile"
-msgstr ""
+msgstr "Ð’Ñ‹ не Ñможете отправлÑÑ‚ÑŒ или получать код проекта Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ SSH, пока не добавите ключ SSH в ваш профиль"
msgid "Modal|Cancel"
msgstr "Отмена"
@@ -13374,10 +13670,10 @@ msgid "More actions"
msgstr "Больше дейÑтвий"
msgid "More details"
-msgstr ""
+msgstr "Подробнее"
msgid "More info"
-msgstr ""
+msgstr "Подробнее"
msgid "More information"
msgstr "Ð”Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ"
@@ -13416,10 +13712,10 @@ msgid "Move this issue to another project."
msgstr ""
msgid "MoveIssue|Cannot move issue due to insufficient permissions!"
-msgstr ""
+msgstr "Ðевозможно перемеÑтить обÑуждение из-за нехватки прав!"
msgid "MoveIssue|Cannot move issue to project it originates from!"
-msgstr ""
+msgstr "Ðевозможно перемеÑтить обÑуждение в проект, в котором оно было первоначально Ñоздано!"
msgid "Moved issue to %{label} column in the board."
msgstr "ОбÑуждение перенеÑено в колонку %{label} на доÑке."
@@ -13434,10 +13730,10 @@ msgid "Moves this issue to %{path_to_project}."
msgstr ""
msgid "MrDeploymentActions|Deploy"
-msgstr ""
+msgstr "Развернуть"
msgid "MrDeploymentActions|Re-deploy"
-msgstr ""
+msgstr "Развернуть повторно"
msgid "MrDeploymentActions|Stop environment"
msgstr ""
@@ -13452,10 +13748,10 @@ msgid "Multiple uploaders found: %{uploader_types}"
msgstr "Ðайдено неÑколько загрузчиков: %{uploader_types}"
msgid "My company or team"
-msgstr ""
+msgstr "ÐœÐ¾Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ команда"
msgid "My-Reaction"
-msgstr ""
+msgstr "ÐœÐ¾Ñ Ñ€ÐµÐ°ÐºÑ†Ð¸Ñ"
msgid "Name"
msgstr "ИмÑ"
@@ -13473,7 +13769,7 @@ msgid "Name:"
msgstr "Ðаименование:"
msgid "Namespace is empty"
-msgstr ""
+msgstr "ПроÑтранÑтво имён пуÑто"
msgid "Namespace: %{namespace}"
msgstr ""
@@ -13588,7 +13884,7 @@ msgid "New epic"
msgstr "ÐÐ¾Ð²Ð°Ñ Ñ†ÐµÐ»ÑŒ"
msgid "New epic title"
-msgstr ""
+msgstr "Ðовый заголовок цели"
msgid "New file"
msgstr "Ðовый файл"
@@ -13630,7 +13926,7 @@ msgid "New release"
msgstr ""
msgid "New requirement"
-msgstr ""
+msgstr "Ðовое требование"
msgid "New runners registration token has been generated!"
msgstr "Ðовый региÑтрационный токен обработчика заданий Ñгенерирован!"
@@ -13663,13 +13959,13 @@ msgid "Newly registered users will by default be external"
msgstr ""
msgid "Next"
-msgstr ""
+msgstr "Next"
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
-msgstr "Следующее неразрешенное обÑуждение (только MRs)"
+msgid "Next unresolved discussion"
+msgstr ""
msgid "Nickname"
msgstr "Ðикнейм"
@@ -13687,7 +13983,7 @@ msgid "No %{replicableType} match this filter"
msgstr ""
msgid "No Epic"
-msgstr ""
+msgstr "Ðет цели"
msgid "No Label"
msgstr ""
@@ -13728,6 +14024,9 @@ msgstr "Ðет изменений"
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13750,7 +14049,7 @@ msgid "No data to display"
msgstr "Ðет данных Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ"
msgid "No deployments found"
-msgstr ""
+msgstr "Ð Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ найдены"
msgid "No due date"
msgstr "Дата Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð½Ðµ указана"
@@ -13822,7 +14121,7 @@ msgid "No parent group"
msgstr ""
msgid "No pods available"
-msgstr ""
+msgstr "Ðет доÑтупных подов"
msgid "No policy matches this license"
msgstr ""
@@ -13834,7 +14133,7 @@ msgid "No prioritized labels with such name or description"
msgstr ""
msgid "No public groups"
-msgstr ""
+msgstr "Ðет публичных групп"
msgid "No related merge requests found."
msgstr ""
@@ -13866,20 +14165,11 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
msgid "No webhooks found, add one in the form above."
-msgstr ""
+msgstr "Веб-обработчики не найдены, добавьте один в форме выше."
msgid "No worries, you can still use all the %{strong}%{plan_name}%{strong_close} features for now. You have %{remaining_days} to renew your subscription."
msgstr ""
@@ -13948,7 +14238,7 @@ msgid "Not started"
msgstr ""
msgid "Not-confidential epic cannot be assigned to a confidential parent epic"
-msgstr ""
+msgstr "ÐÐµÐºÐ¾Ð½Ñ„Ð¸Ð´ÐµÐ½Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñ†ÐµÐ»ÑŒ не может быть назначена к конфиденциальной родительÑкой цели"
msgid "Note"
msgstr "Заметка"
@@ -13972,25 +14262,25 @@ msgid "Note: Consider asking your GitLab administrator to configure %{github_int
msgstr ""
msgid "NoteForm|Note"
-msgstr ""
+msgstr "Примечание"
msgid "Notes|Are you sure you want to cancel creating this comment?"
msgstr "Ð’Ñ‹ уверены, что вы хотите отменить Ñоздание Ñтого комментариÑ?"
msgid "Notes|Collapse replies"
-msgstr ""
+msgstr "Свернуть ответы"
msgid "Notes|Show all activity"
msgstr ""
msgid "Notes|Show comments only"
-msgstr ""
+msgstr "Показывать только комментарии"
msgid "Notes|Show history only"
-msgstr ""
+msgstr "Показывать только иÑторию"
msgid "Notes|This comment has changed since you started editing, please review the %{open_link}updated comment%{close_link} to ensure information is not lost"
-msgstr ""
+msgstr "Этот комментарий изменилÑÑ Ñ Ñ‚ÐµÑ… пор, как вы начали редактирование, проÑмотрите %{open_link}обновленный комментарий%{close_link}, чтобы убедитьÑÑ, что Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½Ðµ потерÑна"
msgid "Nothing found…"
msgstr ""
@@ -13998,17 +14288,20 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "Ð£Ð²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ ÑобытиÑÑ…"
msgid "Notification setting"
-msgstr "ÐаÑтройка уведомлениÑ"
+msgstr "Режим уведомлений"
msgid "Notification setting - %{notification_title}"
msgstr ""
msgid "Notification settings saved"
-msgstr ""
+msgstr "ÐаÑтройки уведомлений Ñохранены"
msgid "NotificationEvent|Close issue"
msgstr "ОбÑуждение закрыто"
@@ -14020,13 +14313,13 @@ msgid "NotificationEvent|Failed pipeline"
msgstr "Ðеудача в Ñборочной линии"
msgid "NotificationEvent|Fixed pipeline"
-msgstr ""
+msgstr "Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Ð¸Ñправлена"
msgid "NotificationEvent|Merge merge request"
msgstr "Влит Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние"
msgid "NotificationEvent|New epic"
-msgstr ""
+msgstr "ÐÐ¾Ð²Ð°Ñ Ñ†ÐµÐ»ÑŒ"
msgid "NotificationEvent|New issue"
msgstr "Ðовое обÑуждение"
@@ -14071,7 +14364,7 @@ msgid "NotificationLevel|Watch"
msgstr "ОтÑлеживать"
msgid "NotificationSetting|Custom"
-msgstr ""
+msgstr "ПользовательÑкий"
msgid "Notifications"
msgstr "УведомлениÑ"
@@ -14110,7 +14403,7 @@ msgid "Number of changes (branches or tags) in a single push to determine whethe
msgstr ""
msgid "Number of changes (branches or tags) in a single push to determine whether webhooks and services will be fired or not. Webhooks and services won't be submitted if it surpasses that value."
-msgstr ""
+msgstr "КоличеÑтво изменений (веток или тегов) в одной отправке, которое определÑет, будут ли запущены веб-обработчики и Ñлужбы. Веб-обработчики и Ñлужбы не будут выполнÑÑ‚ÑŒÑÑ, еÑли Ñто значение будет превышено."
msgid "Number of commits"
msgstr ""
@@ -14169,6 +14462,9 @@ msgstr "ПоÑле импорта, репозитории могут зеркаÐ
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr "ПоÑле удалениÑ, ÑвÑзь Ð¾Ñ‚Ð²ÐµÑ‚Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ может быть воÑÑтановлена, и вы больше не Ñможете отправлÑÑ‚ÑŒ запроÑÑ‹ на ÑлиÑние в иÑточник."
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr "ПоÑле того, как ÑкÑпортируемый файл будет готов, вы получите уведомление по Ñлектронной почте Ñ ÑÑылкой Ð´Ð»Ñ ÑкачиваниÑ, или вы Ñможете Ñкачать его Ñ Ñтой Ñтраницы."
@@ -14272,9 +14568,6 @@ msgstr "Открыть иÑходник"
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr "Открытое ПО Ð´Ð»Ñ ÑовмеÑтной работы над кодом"
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14324,7 +14617,7 @@ msgid "OperationsDashboard|Operations Dashboard"
msgstr "Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñми"
msgid "OperationsDashboard|The operations dashboard provides a summary of each project's operational health, including pipeline and alert statuses."
-msgstr ""
+msgstr "Панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñми Ñодержит Ñводку о работоÑпоÑобноÑти каждого проекта, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ ÑоÑтоÑÐ½Ð¸Ñ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑ€Ð° и предупреждений."
msgid "Optional"
msgstr ""
@@ -14360,7 +14653,7 @@ msgid "Other visibility settings have been disabled by the administrator."
msgstr ""
msgid "Out-of-compliance with this project's policies and should be removed"
-msgstr ""
+msgstr "Ðе определена политиками проекта и должна быть удалена"
msgid "Outbound requests"
msgstr "ИÑходÑщие запроÑÑ‹"
@@ -14377,6 +14670,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "Обзор"
@@ -14428,6 +14724,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14449,20 +14748,23 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
msgid "PackageRegistry|Copy npm command"
-msgstr ""
+msgstr "Копировать команду npm"
msgid "PackageRegistry|Copy npm setup command"
-msgstr ""
+msgstr "Копировать команду наÑтройки npm"
msgid "PackageRegistry|Copy yarn command"
-msgstr ""
+msgstr "Копировать команду yarn"
msgid "PackageRegistry|Copy yarn setup command"
-msgstr ""
+msgstr "Копировать команду наÑтройки yarn"
msgid "PackageRegistry|Delete Package Version"
msgstr "Удалить верÑию пакета"
@@ -14482,15 +14784,24 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
msgid "PackageRegistry|Installation"
-msgstr ""
+msgstr "УÑтановка"
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14509,17 +14820,23 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
-msgid "PackageRegistry|Registry Setup"
+msgid "PackageRegistry|PyPi"
msgstr ""
+msgid "PackageRegistry|Registry Setup"
+msgstr "ÐаÑтройка рееÑтра"
+
msgid "PackageRegistry|Remove package"
-msgstr ""
+msgstr "Удалить пакет"
msgid "PackageRegistry|Sorry, your filter produced no results"
msgstr ""
@@ -14528,7 +14845,7 @@ msgid "PackageRegistry|There are no %{packageType} packages yet"
msgstr ""
msgid "PackageRegistry|There are no packages yet"
-msgstr ""
+msgstr "Пока что нет пакетов"
msgid "PackageRegistry|There was a problem fetching the details for this package."
msgstr "Ðе удалоÑÑŒ получить ÑÐ²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ð± Ñтом пакете."
@@ -14549,10 +14866,13 @@ msgid "PackageRegistry|You may also need to setup authentication using an auth t
msgstr ""
msgid "PackageRegistry|npm"
+msgstr "npm"
+
+msgid "PackageRegistry|published by %{author}"
msgstr ""
msgid "PackageRegistry|yarn"
-msgstr ""
+msgstr "yarn"
msgid "PackageType|Conan"
msgstr ""
@@ -14566,6 +14886,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr "Пакеты"
@@ -14579,7 +14902,7 @@ msgid "Pages"
msgstr "Страницы"
msgid "Pages Domain"
-msgstr ""
+msgstr "Домен Pages"
msgid "Pages getting started guide"
msgstr "РуководÑтво по работе Ñ Ñтраницами"
@@ -14600,10 +14923,10 @@ msgid "Pagination|Last »"
msgstr "ПоÑледнÑÑ Â»"
msgid "Pagination|Next"
-msgstr ""
+msgstr "След."
msgid "Pagination|Prev"
-msgstr ""
+msgstr "Пред."
msgid "Pagination|« First"
msgstr "« ПерваÑ"
@@ -14618,7 +14941,7 @@ msgid "Parent"
msgstr ""
msgid "Parent epic doesn't exist."
-msgstr ""
+msgstr "РодительÑÐºÐ°Ñ Ñ†ÐµÐ»ÑŒ не ÑущеÑтвует."
msgid "Parent epic is not present."
msgstr ""
@@ -14659,11 +14982,14 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr "Ð’Ñтавьте открытый ключ машины здеÑÑŒ. Узнайте больше о том, как его Ñгенерировать %{link_start}здеÑÑŒ%{link_end}"
msgid "Paste epic link"
-msgstr ""
+msgstr "Ð’Ñтавить ÑÑылку на цель"
msgid "Paste issue link"
msgstr ""
@@ -14674,9 +15000,6 @@ msgstr "Ð’Ñтавьте ваш открытый ключ SSH, который о
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr "Путь, перемещение, удаление"
-
msgid "Path:"
msgstr "Путь:"
@@ -14707,8 +15030,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "Выполнение раÑширенных операций, таких как изменение пути, перемещение или удаление группы."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr ""
@@ -14717,7 +15040,7 @@ msgid "Performance optimization"
msgstr "ÐžÐ¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти"
msgid "PerformanceBar|Download"
-msgstr ""
+msgstr "Скачать"
msgid "PerformanceBar|Frontend resources"
msgstr ""
@@ -14786,10 +15109,7 @@ msgid "Pipeline Schedules"
msgstr "РаÑпиÑÐ°Ð½Ð¸Ñ Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ñ‹Ñ… Линий"
msgid "Pipeline minutes quota"
-msgstr ""
-
-msgid "Pipeline quota"
-msgstr ""
+msgstr "Квота иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñборочных линий в минутах"
msgid "Pipeline subscriptions"
msgstr ""
@@ -14800,6 +15120,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr "Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ:%{status}"
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "Ðеудача:"
@@ -14878,23 +15201,14 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr "ÐаÑтройки Ñборочных линий Ð´Ð»Ñ '%{project_name}' были уÑпешно обновлены."
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
-msgstr ""
+msgstr "API"
msgid "Pipelines|Build with confidence"
msgstr "ВыполнÑйте Ñборки Ñ ÑƒÐ²ÐµÑ€ÐµÐ½Ð½Ð¾Ñтью"
msgid "Pipelines|CI Lint"
-msgstr ""
+msgstr "CI Lint"
msgid "Pipelines|Child pipeline"
msgstr ""
@@ -14903,17 +15217,20 @@ msgid "Pipelines|Clear Runner Caches"
msgstr "ОчиÑтить Runner кÑши "
msgid "Pipelines|Continuous Integration can help catch bugs by running your tests automatically, while Continuous Deployment can help you deliver code to your product environment."
-msgstr ""
+msgstr "ÐÐµÐ¿Ñ€ÐµÑ€Ñ‹Ð²Ð½Ð°Ñ Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ помочь выÑвить ошибки, автоматичеÑки выполнÑÑ Ñ‚ÐµÑÑ‚Ñ‹, а непрерывное развёртывание может помочь доÑтавить код в окружение вашего продукта."
msgid "Pipelines|Get started with Pipelines"
msgstr "Ðачало работы Ñо Ñборочными линиÑми"
-msgid "Pipelines|Loading Pipelines"
-msgstr "ЗагружаютÑÑ Ñборочные линии"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
+msgid "Pipelines|Loading Pipelines"
+msgstr "ЗагружаютÑÑ Ñборочные линии"
+
msgid "Pipelines|Project cache successfully reset."
msgstr "КÑш проекта уÑпешно очищен."
@@ -14954,7 +15271,7 @@ msgid "Pipeline|Date"
msgstr ""
msgid "Pipeline|Detached merge request pipeline"
-msgstr ""
+msgstr "Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Ð¾Ñ‚ÑоединившегоÑÑ Ð·Ð°Ð¿Ñ€Ð¾Ñа на ÑлиÑние"
msgid "Pipeline|Duration"
msgstr ""
@@ -14987,7 +15304,7 @@ msgid "Pipeline|Search branches"
msgstr "ПоиÑк веток"
msgid "Pipeline|Specify variable values to be used in this run. The values specified in %{settings_link} will be used by default."
-msgstr ""
+msgstr "Укажите Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…, которые будут иÑпользоватьÑÑ Ð² Ñтом запуÑке. ЗначениÑ, указанные в %{settings_link} будут иÑпользоватьÑÑ Ð¿Ð¾ умолчанию."
msgid "Pipeline|Stages"
msgstr "Стадии"
@@ -15008,13 +15325,13 @@ msgid "Pipeline|Value"
msgstr ""
msgid "Pipeline|Variables"
-msgstr ""
+msgstr "Переменные"
msgid "Pipeline|You’re about to stop pipeline %{pipelineId}."
msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ оÑтановить Ñборочную линию %{pipelineId}."
msgid "Pipeline|for"
-msgstr ""
+msgstr "длÑ"
msgid "Pipeline|on"
msgstr ""
@@ -15035,7 +15352,7 @@ msgid "PivotalTrackerService|Project Management Software (Source Commits Endpoin
msgstr ""
msgid "Plain diff"
-msgstr ""
+msgstr "ПроÑтое отличие"
msgid "PlantUML"
msgstr "PlantUML"
@@ -15142,6 +15459,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15187,9 +15507,12 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr "ПожалуйÑта, подождите пока мы импортируем к ваш репозиторий. ОбновлÑйте Ñтраницу по желанию."
-msgid "Pod does not exist"
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
msgstr ""
+msgid "Pod does not exist"
+msgstr "Под не ÑущеÑтвует"
+
msgid "Pod not found"
msgstr "Под не найден"
@@ -15215,7 +15538,7 @@ msgid "Preferences|Choose what content you want to see on a project’s overview
msgstr "Выберите, какое Ñодержимое вы хотите видеть на Ñтранице обзора проекта."
msgid "Preferences|Customize integrations with third party services."
-msgstr ""
+msgstr "ÐаÑтройте интеграцию Ñо Ñторонними ÑервиÑами."
msgid "Preferences|Customize the appearance of the application header and navigation sidebar."
msgstr "ÐаÑтройте внешний вид верхней и боковой панели навигации."
@@ -15224,16 +15547,16 @@ msgid "Preferences|Default dashboard"
msgstr "Страница по умолчанию"
msgid "Preferences|Display time in 24-hour format"
-msgstr ""
+msgstr "Отображать Ð²Ñ€ÐµÐ¼Ñ Ð² 24-чаÑовом формате"
msgid "Preferences|Enable integrated code intelligence on code views"
msgstr ""
msgid "Preferences|For example: 30 mins ago."
-msgstr ""
+msgstr "Ðапример, 30 минут назад."
msgid "Preferences|Integrations"
-msgstr ""
+msgstr "Интеграции"
msgid "Preferences|Layout width"
msgstr "Ширина макета"
@@ -15248,10 +15571,10 @@ msgid "Preferences|Project overview content"
msgstr "Обзор Ñодержимого проекта"
msgid "Preferences|Render whitespace characters in the Web IDE"
-msgstr ""
+msgstr "Отображать Ñимволы пробелов в Web IDE"
msgid "Preferences|Show whitespace changes in diffs"
-msgstr ""
+msgstr "Показывать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð² в отличиÑÑ…"
msgid "Preferences|Sourcegraph"
msgstr ""
@@ -15263,7 +15586,7 @@ msgid "Preferences|Tab width"
msgstr ""
msgid "Preferences|These settings will update how dates and times are displayed for you."
-msgstr ""
+msgstr "Эти наÑтройки обновÑÑ‚ отображение даты и времени Ð´Ð»Ñ Ð²Ð°Ñ."
msgid "Preferences|This feature is experimental and translations are not complete yet"
msgstr "Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ ÑвлÑетÑÑ ÑкÑпериментальной и перевод еще не полный"
@@ -15272,19 +15595,19 @@ msgid "Preferences|This setting allows you to customize the appearance of the sy
msgstr "Эта наÑтройка позволÑет изменить внешний вид ÑинтакÑиÑа."
msgid "Preferences|This setting allows you to customize the behavior of the system layout and default views."
-msgstr "Этот параметр позволÑет наÑтроить ширину макета Ñтраницы, а так же главную Ñтраницу при открытии Ñайта."
+msgstr "Этот параметр позволÑет наÑтроить ширину макета Ñтраницы, а также главную Ñтраницу при открытии Ñайта."
msgid "Preferences|Time display"
-msgstr ""
+msgstr "Отображение времени"
msgid "Preferences|Time format"
-msgstr ""
+msgstr "Формат времени"
msgid "Preferences|Time preferences"
-msgstr ""
+msgstr "ÐаÑтройки времени"
msgid "Preferences|Use relative times"
-msgstr ""
+msgstr "ИÑпользовать отноÑительное времÑ"
msgid "Press %{key}-C to copy"
msgstr ""
@@ -15304,7 +15627,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15325,10 +15648,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15359,7 +15682,10 @@ msgid "Private group(s)"
msgstr ""
msgid "Private profile"
-msgstr "Приватный профиль"
+msgstr "Закрытый профиль"
+
+msgid "Private projects Minutes cost factor"
+msgstr ""
msgid "Private projects can be created in your personal namespace with:"
msgstr "Личные проекты могут быть Ñозданы в вашем перÑональном проÑтранÑтве Ñ:"
@@ -15410,10 +15736,10 @@ msgid "ProductivityAnalytics|Merge requests"
msgstr "ЗапроÑÑ‹ на ÑлиÑние"
msgid "ProductivityAnalytics|Time to merge"
-msgstr ""
+msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð½Ð° ÑлиÑние"
msgid "ProductivityAnalytics|Trendline"
-msgstr ""
+msgstr "Ð›Ð¸Ð½Ð¸Ñ Ñ‚ÐµÐ½Ð´ÐµÐ½Ñ†Ð¸Ð¸"
msgid "ProductivityAnalytics|is earlier than the given merged at after date"
msgstr ""
@@ -15425,22 +15751,22 @@ msgid "Profile Settings"
msgstr "ÐаÑтройки профилÑ"
msgid "ProfileSession|on"
-msgstr ""
+msgstr "на"
msgid "Profiles| You are about to permanently delete %{yourAccount}, and all of the issues, merge requests, and groups linked to your account. Once you confirm %{deleteAccount}, it cannot be undone or recovered."
-msgstr ""
+msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ навÑегда удалить %{yourAccount}, а также вÑе запроÑÑ‹ ÑлиÑÐ½Ð¸Ñ Ð¸ группы, ÑвÑзанные Ñ Ð²Ð°ÑˆÐµÐ¹ учетной запиÑью. ПоÑле Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ %{deleteAccount} его Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ или воÑÑтановить."
msgid "Profiles| You are going to change the username %{currentUsernameBold} to %{newUsernameBold}. Profile and projects will be redirected to the %{newUsername} namespace but this redirect will expire once the %{currentUsername} namespace is registered by another user or group. Please update your Git repository remotes as soon as possible."
msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ изменить Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ %{currentUsernameBold} на %{newUsernameBold}. Профиль и проекты будут перенаправлены в проÑтранÑтво имен %{newUsername}, но Ñто перенаправление переÑтанет дейÑтвовать, как только проÑтранÑтво имён %{currentUsername} будет зарегиÑтрировано другим пользователем или группой. ПожалуйÑта, как можно Ñкорее, обновите указатели на Ñвои удаленные репозитории Git."
msgid "Profiles|@username"
-msgstr "@Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ"
+msgstr "@username"
msgid "Profiles|Account scheduled for removal."
-msgstr "Ð£Ñ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ запланирована к удалению."
+msgstr "Ð£Ñ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ запланирована к удалению."
msgid "Profiles|Activate signin with one of the following services"
-msgstr ""
+msgstr "Ðктивировать вход Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ одного из Ñледующих ÑервиÑов"
msgid "Profiles|Active"
msgstr "ÐктивноÑÑ‚ÑŒ"
@@ -15449,13 +15775,13 @@ msgid "Profiles|Add key"
msgstr "Добавить ключ"
msgid "Profiles|Add status emoji"
-msgstr ""
+msgstr "Добавить Ñмайл к ÑтатуÑу"
msgid "Profiles|Avatar cropper"
-msgstr ""
+msgstr "Обрезать аватар"
msgid "Profiles|Avatar will be removed. Are you sure?"
-msgstr ""
+msgstr "Ðватар будет удален. Ð’Ñ‹ уверены?"
msgid "Profiles|Bio"
msgstr "О Ñебе"
@@ -15467,7 +15793,7 @@ msgid "Profiles|Changing your username can have unintended side effects."
msgstr "Изменение вашего имени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¼Ð¾Ð¶ÐµÑ‚ иметь непредвиденные побочные Ñффекты."
msgid "Profiles|Choose file..."
-msgstr ""
+msgstr "Выбрать файл..."
msgid "Profiles|Choose to show contributions of private projects on your public profile without any project, repository or organization information"
msgstr "Выберите, чтобы показывать вклад от закрытых проектов в ваш публичный профиль без какой-либо информации о проекте, репозитории или организации"
@@ -15479,16 +15805,16 @@ msgid "Profiles|Clear status"
msgstr "ОчиÑтить ÑтатуÑ"
msgid "Profiles|Click on icon to activate signin with one of the following services"
-msgstr ""
+msgstr "Ðажмите на значок, чтобы активировать вход Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ одной из Ñледующих Ñлужб"
msgid "Profiles|Commit email"
msgstr "Email коммита"
msgid "Profiles|Connect"
-msgstr ""
+msgstr "Подключить"
msgid "Profiles|Connected Accounts"
-msgstr ""
+msgstr "Подключенные аккаунты"
msgid "Profiles|Current path: %{path}"
msgstr "Текущий путь: %{path}"
@@ -15497,7 +15823,7 @@ msgid "Profiles|Current status"
msgstr "Текущий ÑтатуÑ"
msgid "Profiles|Default notification email"
-msgstr ""
+msgstr "Ð­Ð»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° Ð´Ð»Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ð¹ по умолчанию"
msgid "Profiles|Delete Account"
msgstr "Удалить Учетную запиÑÑŒ"
@@ -15512,10 +15838,10 @@ msgid "Profiles|Deleting an account has the following effects:"
msgstr "Удаление учетной запиÑи приведет к Ñледующим поÑледÑтвиÑм:"
msgid "Profiles|Disconnect"
-msgstr ""
+msgstr "Отключить"
msgid "Profiles|Do not show on profile"
-msgstr ""
+msgstr "Ðе показывать в профиле"
msgid "Profiles|Don't display activity-related personal information on your profiles"
msgstr "Ðе отображать информацию о перÑональной активноÑти, в вашем профиле"
@@ -15527,7 +15853,7 @@ msgid "Profiles|Enter your name, so people you know can recognize you"
msgstr "Введите ваше имÑ, чтобы люди, которых вы знаете, могли раÑпознать ваÑ"
msgid "Profiles|Expires at"
-msgstr ""
+msgstr "ИÑтекает"
msgid "Profiles|Expires:"
msgstr ""
@@ -15539,13 +15865,13 @@ msgid "Profiles|Full name"
msgstr "Полное имÑ"
msgid "Profiles|Give your individual key a title"
-msgstr ""
+msgstr "Укажите заголовок ключа"
msgid "Profiles|Impersonation"
msgstr ""
msgid "Profiles|Include private contributions on my profile"
-msgstr "Включить приватный вклад в мой профиль"
+msgstr "Включить вклад в приватные проекты в мой профиль"
msgid "Profiles|Incoming email token was successfully reset"
msgstr "Токен входÑщей Ñлектронной почты был уÑпешно Ñброшен"
@@ -15572,7 +15898,7 @@ msgid "Profiles|Location"
msgstr "МеÑтораÑположение"
msgid "Profiles|Made a private contribution"
-msgstr ""
+msgstr "Сделал личный вклад"
msgid "Profiles|Main settings"
msgstr "ОÑновные наÑтройки"
@@ -15581,7 +15907,7 @@ msgid "Profiles|No file chosen"
msgstr "Файл не выбран"
msgid "Profiles|Notification email"
-msgstr ""
+msgstr "Ð­Ð»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° уведомлений"
msgid "Profiles|Organization"
msgstr "ОрганизациÑ"
@@ -15593,7 +15919,7 @@ msgid "Profiles|Personal Access"
msgstr "Личный доÑтуп"
msgid "Profiles|Position and size your new avatar"
-msgstr ""
+msgstr "Положение и размер вашего нового аватара"
msgid "Profiles|Primary email"
msgstr "ОÑновной email"
@@ -15605,7 +15931,7 @@ msgid "Profiles|Profile was successfully updated"
msgstr "Профиль уÑпешно обновлен"
msgid "Profiles|Public Avatar"
-msgstr "Публичный Ðватар"
+msgstr "Публичный аватар"
msgid "Profiles|Public email"
msgstr "Публичный email"
@@ -15620,7 +15946,7 @@ msgid "Profiles|Social sign-in"
msgstr "Вход через Ñоциальные Ñети"
msgid "Profiles|Some options are unavailable for LDAP accounts"
-msgstr ""
+msgstr "Ðекоторые параметры недоÑтупны Ð´Ð»Ñ ÑƒÑ‡ÐµÑ‚Ð½Ñ‹Ñ… запиÑей LDAP"
msgid "Profiles|Static object token was successfully reset"
msgstr ""
@@ -15638,7 +15964,7 @@ msgid "Profiles|This doesn't look like a public SSH key, are you sure you want t
msgstr "Это не выглÑдит как публичный SSH-ключ, вы уверены, что вы хотите добавить его?"
msgid "Profiles|This email will be displayed on your public profile"
-msgstr "Этот Ð°Ð´Ñ€ÐµÑ Ð±ÑƒÐ´ÐµÑ‚ отображатьÑÑ Ð² вашем публичном профиле"
+msgstr "Этот email будет отображатьÑÑ Ð² вашем профиле"
msgid "Profiles|This email will be used for web based operations, such as edits and merges. %{commit_email_link_start}Learn more%{commit_email_link_end}"
msgstr "Этот Ð°Ð´Ñ€ÐµÑ Ð±ÑƒÐ´ÐµÑ‚ иÑпользоватьÑÑ Ð´Ð»Ñ Ð²ÐµÐ±-операций, таких как редактирование и ÑлиÑние. %{commit_email_link_start}Узнайте больше%{commit_email_link_end}"
@@ -15650,7 +15976,7 @@ msgid "Profiles|This information will appear on your profile"
msgstr "Эта Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ отображатьÑÑ Ð² вашем профиле"
msgid "Profiles|Time settings"
-msgstr ""
+msgstr "ÐаÑтройки времени"
msgid "Profiles|Two-Factor Authentication"
msgstr "Ð”Ð²ÑƒÑ…Ñ„Ð°ÐºÑ‚Ð¾Ñ€Ð½Ð°Ñ Ð°ÑƒÑ‚ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ"
@@ -15689,7 +16015,7 @@ msgid "Profiles|What's your status?"
msgstr "Как у Ð²Ð°Ñ Ð´ÐµÐ»Ð°?"
msgid "Profiles|Who you represent or work for"
-msgstr "Кого вы предÑтавлÑете или на кого работаете"
+msgstr "Кого вы предÑтавлÑете, или на кого работаете"
msgid "Profiles|You can change your avatar here"
msgstr "Ð’Ñ‹ можете изменить Ñвой аватар здеÑÑŒ"
@@ -15698,10 +16024,10 @@ msgid "Profiles|You can change your avatar here or remove the current avatar to
msgstr "Ð’Ñ‹ можете изменить Ñвой аватар здеÑÑŒ или удалить текущий аватар, чтобы вернутьÑÑ Ðº %{gravatar_link}"
msgid "Profiles|You can set your current timezone here"
-msgstr ""
+msgstr "Ð’Ñ‹ можете уÑтановить текущий чаÑовой поÑÑ Ð·Ð´ÐµÑÑŒ"
msgid "Profiles|You can upload your avatar here"
-msgstr ""
+msgstr "Ð’Ñ‹ можете загрузить Ñвой аватар здеÑÑŒ"
msgid "Profiles|You can upload your avatar here or change it at %{gravatar_link}"
msgstr "Ð’Ñ‹ можете загрузить Ñвой аватар здеÑÑŒ или изменить его на %{gravatar_link}"
@@ -15713,10 +16039,10 @@ msgid "Profiles|You must transfer ownership or delete these groups before you ca
msgstr "Перед удалением учётной запиÑи, вам необходимо передать право Ð²Ð»Ð°Ð´ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ удалить Ñти группы."
msgid "Profiles|Your LinkedIn profile name from linkedin.com/in/profilename"
-msgstr ""
+msgstr "Ваше Ð¸Ð¼Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² LinkedIn, как в linkedin.com/in/profilename"
msgid "Profiles|Your account is currently an owner in these groups:"
-msgstr "Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÑвлÑетÑÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑŒÑ†ÐµÐ¼ Ñледующих групп:"
+msgstr "Ваша ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÑвлÑетÑÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑŒÑ†ÐµÐ¼ Ñледующих групп:"
msgid "Profiles|Your email address was automatically set based on your %{provider_label} account"
msgstr "Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты был автоматичеÑки уÑтановлен на оÑнове вашей учетной запиÑи %{provider_label}"
@@ -15728,7 +16054,7 @@ msgid "Profiles|Your location was automatically set based on your %{provider_lab
msgstr "Ваше меÑтоположение было автоматичеÑки уÑтановлено на оÑнове вашего %{provider_label} аккаунта"
msgid "Profiles|Your name was automatically set based on your %{provider_label} account, so people you know can recognize you"
-msgstr ""
+msgstr "Ваше Ð¸Ð¼Ñ Ð±Ñ‹Ð»Ð¾ автоматичеÑки уÑтановлено на оÑнове вашей учетной запиÑи %{provider_label}, чтобы ваши знакомые могли Ð²Ð°Ñ ÑƒÐ·Ð½Ð°Ñ‚ÑŒ"
msgid "Profiles|Your status"
msgstr "Ваш ÑтатуÑ"
@@ -15749,10 +16075,10 @@ msgid "Profiles|website.com"
msgstr "website.com"
msgid "Profiles|your account"
-msgstr "ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ"
+msgstr "ваша ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ"
msgid "Profile|%{job_title} at %{organization}"
-msgstr ""
+msgstr "%{job_title} в %{organization}"
msgid "Profiling - Performance bar"
msgstr "Профилирование - панель производительноÑти"
@@ -15803,7 +16129,7 @@ msgid "Project Files"
msgstr "Файлы проекта"
msgid "Project ID"
-msgstr ""
+msgstr "ID проекта"
msgid "Project URL"
msgstr "ÐÐ´Ñ€ÐµÑ ÐŸÑ€Ð¾ÐµÐºÑ‚Ð°"
@@ -15863,7 +16189,7 @@ msgid "Project name suffix"
msgstr ""
msgid "Project name suffix is a user-defined string which will be appended to the project path, and will form the Service Desk email address."
-msgstr ""
+msgstr "Ð¡ÑƒÑ„Ñ„Ð¸ÐºÑ Ð¸Ð¼ÐµÐ½Ð¸ проекта - Ñто пользовательÑÐºÐ°Ñ Ñтрока, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±ÑƒÐ´ÐµÑ‚ добавлена к пути проекта, и будет формировать Ð°Ð´Ñ€ÐµÑ email в Ñлужбе поддержки"
msgid "Project order will not be saved as local storage is not available."
msgstr ""
@@ -15887,7 +16213,7 @@ msgid "Project slug"
msgstr "URL проекта"
msgid "Project uploads"
-msgstr ""
+msgstr "Загрузки проекта"
msgid "Project visibility level will be changed to match namespace rules when transferring to a group."
msgstr "При перемещении в группу уровень доÑтупа проекта будет изменен в ÑоответÑтвии Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°Ð¼Ð¸ Ñтой группы."
@@ -15950,13 +16276,13 @@ msgid "ProjectOverview|You must sign in to star a project"
msgstr ""
msgid "ProjectPage|Project ID: %{project_id}"
-msgstr ""
+msgstr "ID проекта: %{project_id}"
msgid "ProjectSelect| or group"
msgstr "или группа"
msgid "ProjectSelect|Search for project"
-msgstr ""
+msgstr "ПоиÑк проекта"
msgid "ProjectService|%{service_title}: status off"
msgstr ""
@@ -15986,10 +16312,10 @@ msgid "ProjectSettings|All discussions must be resolved"
msgstr "Ð’Ñе обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть разрешены"
msgid "ProjectSettings|Allow users to make copies of your repository to a new project"
-msgstr ""
+msgstr "Разрешить пользователÑм Ñоздавать копии вашего Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ Ð² новый проект"
msgid "ProjectSettings|Allow users to request access"
-msgstr ""
+msgstr "Разрешить пользователÑм запрашивать доÑтуп"
msgid "ProjectSettings|Automatically resolve merge request diff discussions when they become outdated"
msgstr "ÐвтоматичеÑки разрешать обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ по запроÑу на ÑлиÑние, когда они ÑтановÑÑ‚ÑÑ Ð½ÐµÐ°ÐºÑ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸"
@@ -15998,25 +16324,25 @@ msgid "ProjectSettings|Badges"
msgstr "Значки"
msgid "ProjectSettings|Build, test, and deploy your changes"
-msgstr ""
+msgstr "Сборка, теÑтирование и развертывание ваших изменений"
msgid "ProjectSettings|Choose your merge method, merge options, merge checks, and merge suggestions."
-msgstr ""
+msgstr "Выберите ваш метод, наÑтройки, проверки и Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑлиÑниÑ."
msgid "ProjectSettings|Choose your merge method, merge options, merge checks, merge suggestions, and set up a default description template for merge requests."
-msgstr ""
+msgstr "Выберите метод ÑлиÑниÑ, параметры ÑлиÑниÑ, проверки ÑлиÑниÑ, Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑлиÑнию и наÑтройте шаблон опиÑÐ°Ð½Ð¸Ñ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñов на ÑлиÑние."
msgid "ProjectSettings|Contact an admin to change this setting."
msgstr ""
msgid "ProjectSettings|Container registry"
-msgstr ""
+msgstr "РееÑÑ‚Ñ€ контейнеров"
msgid "ProjectSettings|Customize your project badges."
msgstr "ÐаÑтройте значки вашего проекта."
msgid "ProjectSettings|Disable email notifications"
-msgstr ""
+msgstr "Отключить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñлектронной почте"
msgid "ProjectSettings|Enable 'Delete source branch' option by default"
msgstr ""
@@ -16025,16 +16351,16 @@ msgid "ProjectSettings|Every merge creates a merge commit"
msgstr "Каждый ÑлиÑние Ñоздает коммит ÑлиÑниÑ"
msgid "ProjectSettings|Every project can have its own space to store its Docker images"
-msgstr ""
+msgstr "Каждый проект может иметь Ñвоё ÑобÑтвенное проÑтранÑтво Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð² Docker"
msgid "ProjectSettings|Every project can have its own space to store its packages"
-msgstr ""
+msgstr "Каждый проект может иметь ÑобÑтвенное проÑтранÑтво Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ð°ÐºÐµÑ‚Ð¾Ð²"
msgid "ProjectSettings|Everyone"
-msgstr ""
+msgstr "Каждый"
msgid "ProjectSettings|Existing merge requests and protected branches are not affected"
-msgstr ""
+msgstr "СущеÑтвующие запроÑÑ‹ на ÑлиÑние и защищенные ветки не затрагиваютÑÑ"
msgid "ProjectSettings|Failed to protect the tag"
msgstr "Ðе удалоÑÑŒ защитить метку"
@@ -16049,16 +16375,16 @@ msgid "ProjectSettings|Fast-forward merges only"
msgstr "Только быÑтрые ÑлиÑниÑ"
msgid "ProjectSettings|Forks"
-msgstr ""
+msgstr "ОтветвлениÑ"
msgid "ProjectSettings|Git Large File Storage"
-msgstr ""
+msgstr "Хранилище больших файлов Git"
msgid "ProjectSettings|Internal"
-msgstr ""
+msgstr "ВнутреннÑÑ"
msgid "ProjectSettings|Issues"
-msgstr ""
+msgstr "ОбÑуждениÑ"
msgid "ProjectSettings|LFS objects from this repository are still available to forks. %{linkStart}How do I remove them?%{linkEnd}"
msgstr ""
@@ -16067,10 +16393,10 @@ msgid "ProjectSettings|Learn more about badges."
msgstr "Узнать больше о значках."
msgid "ProjectSettings|Lightweight issue tracking system for this project"
-msgstr ""
+msgstr "ПроÑÑ‚Ð°Ñ ÑиÑтема обÑуждений Ð´Ð»Ñ Ñтого проекта"
msgid "ProjectSettings|Manages large files such as audio, video, and graphics files"
-msgstr ""
+msgstr "УправлÑет большими графичеÑкими, аудио- и видефайлами"
msgid "ProjectSettings|Merge checks"
msgstr "Проверки ÑлиÑниÑ"
@@ -16088,34 +16414,34 @@ msgid "ProjectSettings|Merge options"
msgstr "Параметры ÑлиÑниÑ"
msgid "ProjectSettings|Merge pipelines will try to validate the post-merge result prior to merging"
-msgstr ""
+msgstr "Перед ÑлиÑнием Ñборочные линии ÑлиÑний попытаютÑÑ Ð¿Ñ€Ð¾Ð²ÐµÑ€Ð¸Ñ‚ÑŒ результат поÑле ÑлиÑниÑ"
msgid "ProjectSettings|Merge requests"
-msgstr ""
+msgstr "ЗапроÑÑ‹ на ÑлиÑние"
msgid "ProjectSettings|Merge suggestions"
-msgstr ""
+msgstr "ÐŸÑ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑлиÑнию"
msgid "ProjectSettings|No merge commits are created"
msgstr "Коммиты ÑлиÑÐ½Ð¸Ñ Ð½Ðµ ÑоздаютÑÑ"
msgid "ProjectSettings|Note: the container registry is always visible when a project is public"
-msgstr ""
+msgstr "Примечание: рееÑÑ‚Ñ€ контейнеров вÑегда виден, еÑли проект публичный"
msgid "ProjectSettings|Only signed commits can be pushed to this repository."
msgstr ""
msgid "ProjectSettings|Packages"
-msgstr ""
+msgstr "Пакеты"
msgid "ProjectSettings|Pages"
-msgstr ""
+msgstr "Pages"
msgid "ProjectSettings|Pages for project documentation"
-msgstr ""
+msgstr "Страницы Ð´Ð»Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ð¸ проекта"
msgid "ProjectSettings|Pipelines"
-msgstr ""
+msgstr "Сборочные линии"
msgid "ProjectSettings|Pipelines must succeed"
msgstr "Сборочные линии должны уÑпешно выполнитьÑÑ"
@@ -16124,69 +16450,72 @@ msgid "ProjectSettings|Pipelines need to be configured to enable this feature."
msgstr "Сборочные линии должны быть наÑтроены, чтобы включить Ñту функциональноÑÑ‚ÑŒ."
msgid "ProjectSettings|Private"
-msgstr ""
+msgstr "ЛичнаÑ"
msgid "ProjectSettings|Project visibility"
-msgstr ""
+msgstr "ВидимоÑÑ‚ÑŒ проекта"
msgid "ProjectSettings|Public"
-msgstr ""
+msgstr "ПубличнаÑ"
msgid "ProjectSettings|Repository"
-msgstr ""
+msgstr "Репозиторий"
msgid "ProjectSettings|Share code pastes with others out of Git repository"
-msgstr ""
+msgstr "ДелитеÑÑŒ фрагментами кода Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ за пределами Git-репозиториÑ"
msgid "ProjectSettings|Show link to create/view merge request when pushing from the command line"
msgstr "Показать ÑÑылку Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ / проÑмотра запроÑа на ÑлиÑние при отправке из командной Ñтроки"
msgid "ProjectSettings|Snippets"
-msgstr ""
+msgstr "Сниппеты"
msgid "ProjectSettings|Submit changes to be merged upstream"
-msgstr ""
+msgstr "ОтправлÑйте изменениÑ, который могут быть Ñлиты в родительÑкий репозиторий"
msgid "ProjectSettings|The commit message used to apply merge request suggestions"
-msgstr ""
+msgstr "Сообщение коммита иÑпользуетÑÑ, чтобы применÑÑ‚ÑŒ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñа на ÑлиÑние"
msgid "ProjectSettings|The variables GitLab supports:"
-msgstr ""
+msgstr "Переменные, которые поддерживаютÑÑ GitLab:"
msgid "ProjectSettings|These checks must pass before merge requests can be merged"
msgstr "Эти проверки должны пройти, прежде чем запроÑÑ‹ на ÑлиÑние будут объединены"
msgid "ProjectSettings|This setting is applied on the server level and can be overridden by an admin."
-msgstr ""
+msgstr "Эта наÑтройка применÑетÑÑ Ð½Ð° уровне Ñервера и может быть переопределена админиÑтратором."
msgid "ProjectSettings|This setting is applied on the server level but has been overridden for this project."
-msgstr ""
+msgstr "Эта наÑтройка применÑетÑÑ Ð½Ð° уровне Ñервера, но была переопределена Ð´Ð»Ñ Ñтого проекта."
msgid "ProjectSettings|This setting will be applied to all projects unless overridden by an admin."
-msgstr ""
+msgstr "Эта наÑтройка будет применена Ð´Ð»Ñ Ð²Ñех проектов, еÑли иное поведение не переопределено админиÑтратором."
msgid "ProjectSettings|This setting will override user notification preferences for all project members."
-msgstr ""
+msgstr "Эта наÑтройка переопределит пользовательÑкие Ð¿Ñ€ÐµÐ´Ð¿Ð¾Ñ‡Ñ‚ÐµÐ½Ð¸Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ð¹ Ð´Ð»Ñ Ð²Ñех членов проекта."
msgid "ProjectSettings|This will dictate the commit history when you merge a merge request"
-msgstr ""
+msgstr "Это будет показывать иÑторию коммитов, когда вы Ñливаете Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние"
msgid "ProjectSettings|Users can only push commits to this repository that were committed with one of their own verified emails."
-msgstr ""
+msgstr "Пользователи могут отправлÑÑ‚ÑŒ коммиты в данный репозиторий, только в Ñлучае еÑли коммит подпиÑан одним из подтвержденных адреÑов почты."
msgid "ProjectSettings|View and edit files in this project"
-msgstr ""
+msgstr "ПроÑмотр и редактирование файлов в Ñтом проекте"
msgid "ProjectSettings|View and edit files in this project. Non-project members will only have read access"
msgstr ""
msgid "ProjectSettings|When conflicts arise the user is given the option to rebase"
-msgstr ""
+msgstr "Когда возникают конфликты, пользователю предоÑтавлÑетÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑ‚ÑŒ объединить изменениÑ, Ñделанные в одной ветке, Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ веткой"
msgid "ProjectSettings|Wiki"
-msgstr ""
+msgstr "Wiki"
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
+msgstr "С GitLab Pages вы можете размещать Ñвои ÑтатичеÑкие веб-Ñайты на GitLab"
+
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
msgstr ""
msgid "ProjectTemplates|.NET Core"
@@ -16223,7 +16552,7 @@ msgid "ProjectTemplates|NodeJS Express"
msgstr "NodeJS Express"
msgid "ProjectTemplates|Pages/Gatsby"
-msgstr ""
+msgstr "Pages/Gatsby"
msgid "ProjectTemplates|Pages/GitBook"
msgstr "Pages/GitBook"
@@ -16252,6 +16581,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr "Spring"
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr "iOS (Swift)"
@@ -16259,7 +16591,7 @@ msgid "Projects"
msgstr "Проекты"
msgid "Projects (%{count})"
-msgstr ""
+msgstr "Проекты (%{count})"
msgid "Projects Successfully Retrieved"
msgstr ""
@@ -16373,16 +16705,16 @@ msgid "PrometheusAlerts|%{firingCount} firing"
msgstr ""
msgid "PrometheusAlerts|Add alert"
-msgstr ""
+msgstr "Добавить оповещение"
msgid "PrometheusAlerts|Edit alert"
-msgstr ""
+msgstr "Редактировать оповещение"
msgid "PrometheusAlerts|Error creating alert"
-msgstr ""
+msgstr "Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ"
msgid "PrometheusAlerts|Error deleting alert"
-msgstr ""
+msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¾Ð²ÐµÑ‰ÐµÐ½Ð¸Ñ"
msgid "PrometheusAlerts|Error fetching alert"
msgstr ""
@@ -16427,7 +16759,7 @@ msgid "PrometheusService|Common metrics are automatically monitored based on a l
msgstr ""
msgid "PrometheusService|Custom metrics"
-msgstr ""
+msgstr "ÐаÑтраиваемые метрики"
msgid "PrometheusService|Custom metrics require Prometheus installed on a cluster with environment scope \"*\" OR a manually configured Prometheus to be available."
msgstr "ПользовательÑкие метрики требуют, чтобы Prometheus был уÑтановлен в клаÑтер Ñ Ð¾Ð±Ð»Ð°Ñтью дейÑÑ‚Ð²Ð¸Ñ Ñреды \"*\" ИЛИ наÑтроенной вручную, чтобы Prometheus был доÑтупен."
@@ -16471,20 +16803,20 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
msgstr ""
+msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment"
+msgstr "Эти показатели будут отÑлеживатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ поÑле вашего первого Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² окружении"
+
msgid "PrometheusService|Time-series monitoring service"
msgstr "Служба мониторинга временных Ñ€Ñдов"
-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 ""
+msgstr "Чтобы включить уÑтановку Prometheus на ваших клаÑтерах, отключите ручную конфигурацию ниже"
msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics"
-msgstr ""
+msgstr "Ожидание вашего первого Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² Ñреде Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка общих показателей"
msgid "PrometheusService|You can now manage your Prometheus settings on the %{operations_link_start}Operations%{operations_link_end} page. Fields on this page has been deprecated."
msgstr ""
@@ -16529,7 +16861,7 @@ msgid "Promotions|Epics let you manage your portfolio of projects more efficient
msgstr ""
msgid "Promotions|Learn more"
-msgstr ""
+msgstr "Узнать больше"
msgid "Promotions|See the other features in the %{subscription_link_start}bronze plan%{subscription_link_end}"
msgstr ""
@@ -16541,13 +16873,13 @@ msgid "Promotions|Upgrade plan"
msgstr ""
msgid "Promotions|Weighting your issue"
-msgstr ""
+msgstr "Обозначить приоритет обÑуждениÑ"
msgid "Promotions|When you have a lot of issues, it can be hard to get an overview. By adding a weight to your issues, you can get a better idea of the effort, cost, required time, or value of each, and so better manage them."
-msgstr ""
+msgstr "При большом количеÑтве обÑуждений Ñложно оценить общую картину. Добавив приоритет к вашим обÑуждениÑм, вы можете получить лучшее предÑтавление о затрачиваемых уÑилиÑÑ…, времени, ÑтоимоÑти или значимоÑти каждого из них и, таким образом, лучше ими управлÑÑ‚ÑŒ."
msgid "Prompt users to upload SSH keys"
-msgstr ""
+msgstr "Предлагать пользователÑм загружать ключи SSH"
msgid "Protect variable"
msgstr ""
@@ -16583,16 +16915,16 @@ msgid "ProtectedBranch|Allowed to merge:"
msgstr "Разрешено ÑлиÑние:"
msgid "ProtectedBranch|Allowed to push"
-msgstr ""
+msgstr "Отправка разрешена"
msgid "ProtectedBranch|Allowed to push:"
-msgstr ""
+msgstr "Отправка разрешена:"
msgid "ProtectedBranch|Branch"
msgstr "Ветка"
msgid "ProtectedBranch|Code owner approval"
-msgstr ""
+msgstr "Одобрение владельцем кода"
msgid "ProtectedBranch|Protect"
msgstr "Защитить"
@@ -16604,16 +16936,16 @@ msgid "ProtectedBranch|Protected branch (%{protected_branches_count})"
msgstr ""
msgid "ProtectedBranch|Pushes that change filenames matched by the CODEOWNERS file will be rejected"
-msgstr ""
+msgstr "Отправки, менÑющие имена файлов, ÑоответÑтвующих файлу CODEOWNERS будут отклонены"
msgid "ProtectedBranch|Require approval from code owners:"
-msgstr ""
+msgstr "ТребуетÑÑ Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ðµ от владельцев кода:"
msgid "ProtectedBranch|There are currently no protected branches, protect a branch with the form above."
-msgstr ""
+msgstr "Ðа данный момент нет защищённых веток, защитите ветку Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ формы Ñверху."
msgid "ProtectedBranch|Toggle code owner approval"
-msgstr ""
+msgstr "Переключить утверждение владельцами кода"
msgid "ProtectedEnvironment|%{environment_name} will be writable for developers. Are you sure?"
msgstr ""
@@ -16625,7 +16957,7 @@ msgid "ProtectedEnvironment|Environment"
msgstr ""
msgid "ProtectedEnvironment|Protect"
-msgstr ""
+msgstr "Защитить"
msgid "ProtectedEnvironment|Protect an environment"
msgstr ""
@@ -16634,7 +16966,7 @@ msgid "ProtectedEnvironment|Protected Environment (%{protected_environments_coun
msgstr ""
msgid "ProtectedEnvironment|Protecting an environment restricts the users who can execute deployments."
-msgstr "Защищенное окружение ограничивает пользователей, которые могут выполнÑÑ‚ÑŒ развертывание."
+msgstr "Защищённое окружение ограничивает пользователей, которые могут выполнÑÑ‚ÑŒ развёртываниÑ."
msgid "ProtectedEnvironment|Select an environment"
msgstr ""
@@ -16663,6 +16995,9 @@ msgstr ""
msgid "Protip:"
msgstr "ПодÑказка:"
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr "Провайдер"
@@ -16687,6 +17022,9 @@ msgstr "Публичные ключи Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ (%{deploy_keys_
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr "Получить"
@@ -16727,7 +17065,7 @@ msgid "Push to create a project"
msgstr "ИÑпользуйте push, чтобы Ñоздать проект"
msgid "PushRule|Committer restriction"
-msgstr ""
+msgstr "Ограничение автора коммита"
msgid "Pushed"
msgstr ""
@@ -16772,7 +17110,7 @@ msgid "PushoverService|Your application key"
msgstr "Ключ приложениÑ"
msgid "PushoverService|Your user key"
-msgstr ""
+msgstr "Ваш пользовательÑкий ключ"
msgid "Quarters"
msgstr ""
@@ -16802,7 +17140,7 @@ msgid "Rake Tasks Help"
msgstr "Помощь по Rake задачам"
msgid "Raw blob request rate limit per minute"
-msgstr ""
+msgstr "Ограничение количеÑтва запроÑов на бинарные данные в минуту"
msgid "Re-authentication period expired or never requested. Please try again"
msgstr ""
@@ -16841,7 +17179,7 @@ msgid "Receive alerts on GitLab from any source"
msgstr ""
msgid "Receive notifications about your own activity"
-msgstr ""
+msgstr "Получать ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¾ Ñвоей деÑтельноÑти"
msgid "Recent"
msgstr "ПоÑледние"
@@ -16871,10 +17209,10 @@ msgid "Redirect to SAML provider to test configuration"
msgstr ""
msgid "Reduce project visibility"
-msgstr ""
+msgstr "Уменьшить облаÑÑ‚ÑŒ видимоÑти проекта"
msgid "Reduce this project’s visibility?"
-msgstr ""
+msgstr "Уменьшить облаÑÑ‚ÑŒ видимоÑти Ñтого проекта?"
msgid "Reference:"
msgstr "СÑылка:"
@@ -16889,6 +17227,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -16984,7 +17325,7 @@ msgid "Releases"
msgstr "Релизы"
msgid "Releases are based on Git tags and mark specific points in a project's development history. They can contain information about the type of changes and can also deliver binaries, like compiled versions of your software."
-msgstr ""
+msgstr "Релизы базируютÑÑ Ð½Ð° тегах Git и отмечают конкретные Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð² иÑтории разработки проекта. Они Ñодержат информацию про изменениÑ, а также могут предоÑтавлÑÑ‚ÑŒ артефакты проекта - Ñкомпилированные верÑии ПО, например."
msgid "Releases are based on Git tags. We recommend tags that use semantic versioning, for example %{codeStart}v1.0%{codeEnd}, %{codeStart}v2.0-pre%{codeEnd}."
msgstr ""
@@ -17050,10 +17391,10 @@ msgid "Remove card"
msgstr "Удалить карту"
msgid "Remove child epic from an epic"
-msgstr ""
+msgstr "Удалить дочернюю цель у текущей"
msgid "Remove description history"
-msgstr ""
+msgstr "Удалить иÑторию опиÑаний"
msgid "Remove due date"
msgstr "Убрать Ñрок выполнениÑ"
@@ -17065,7 +17406,7 @@ msgid "Remove from board"
msgstr "Удалить из доÑки"
msgid "Remove from epic"
-msgstr ""
+msgstr "Удалить из цели"
msgid "Remove group"
msgstr ""
@@ -17080,7 +17421,7 @@ msgid "Remove node"
msgstr ""
msgid "Remove parent epic from an epic"
-msgstr ""
+msgstr "Удалить родительÑкую цель"
msgid "Remove primary node"
msgstr ""
@@ -17110,7 +17451,7 @@ msgid "Removed %{assignee_text} %{assignee_references}."
msgstr ""
msgid "Removed %{epic_ref} from child epics."
-msgstr ""
+msgstr "Из дочерних целей удалена %{epic_ref}"
msgid "Removed %{label_references} %{label_text}."
msgstr ""
@@ -17125,13 +17466,13 @@ msgid "Removed all labels."
msgstr "Ð’Ñе метки удалены."
msgid "Removed an issue from an epic."
-msgstr ""
+msgstr "ОбÑуждение удалено из цели."
msgid "Removed group can not be restored!"
msgstr ""
msgid "Removed parent epic %{epic_ref}."
-msgstr ""
+msgstr "Удалена родительÑÐºÐ°Ñ Ñ†ÐµÐ»ÑŒ %{epic_ref}."
msgid "Removed projects cannot be restored!"
msgstr "Удаленные проекты не могут быть воÑÑтановлены!"
@@ -17149,7 +17490,7 @@ msgid "Removes %{assignee_text} %{assignee_references}."
msgstr ""
msgid "Removes %{epic_ref} from child epics."
-msgstr ""
+msgstr "Удалить %{epic_ref} у дочерних целей."
msgid "Removes %{label_references} %{label_text}."
msgstr ""
@@ -17161,10 +17502,10 @@ msgid "Removes all labels."
msgstr "УдалÑет вÑе метки."
msgid "Removes an issue from an epic."
-msgstr ""
+msgstr "УдалÑет обÑуждение из цели."
msgid "Removes parent epic %{epic_ref}."
-msgstr ""
+msgstr "УдалÑет родительÑкую цель %{epic_ref}."
msgid "Removes spent time."
msgstr ""
@@ -17203,7 +17544,7 @@ msgid "Reopen"
msgstr ""
msgid "Reopen epic"
-msgstr ""
+msgstr "Открыть цель повторно"
msgid "Reopen milestone"
msgstr "Вновь открыть Ñтап"
@@ -17268,9 +17609,31 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17281,7 +17644,7 @@ msgid "Reports|Execution time"
msgstr ""
msgid "Reports|Failure"
-msgstr ""
+msgstr "Отказ"
msgid "Reports|Metrics reports are loading"
msgstr ""
@@ -17347,13 +17710,13 @@ msgid "Repository maintenance"
msgstr ""
msgid "Repository mirroring"
-msgstr ""
+msgstr "Зеркалирование репозиториÑ"
msgid "Repository static objects"
msgstr ""
msgid "Repository storage"
-msgstr ""
+msgstr "Хранилище репозиториÑ"
msgid "Repository sync capacity"
msgstr ""
@@ -17376,7 +17739,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr "Запрошено %{time_ago}"
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17401,31 +17764,31 @@ msgid "Require users to prove ownership of custom domains"
msgstr ""
msgid "Requirement"
-msgstr ""
+msgstr "Требование"
msgid "Requirement %{reference} has been added"
-msgstr ""
+msgstr "Требование %{reference} было добавлено"
msgid "Requirement %{reference} has been archived"
-msgstr ""
+msgstr "Требование %{reference} было архивировано"
msgid "Requirement %{reference} has been reopened"
-msgstr ""
+msgstr "Требование %{reference} было открыто повторно"
msgid "Requirement %{reference} has been updated"
-msgstr ""
+msgstr "Требование %{reference} было обновлено"
msgid "Requirement title cannot have more than %{limit} characters."
-msgstr ""
+msgstr "Заголовок Ñ‚Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ может Ñодержать больше %{limit} Ñимволов."
msgid "Requirements"
-msgstr ""
+msgstr "ТребованиÑ"
msgid "Requirements allow you to create criteria to check your products against."
-msgstr ""
+msgstr "Ð¢Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑŽÑ‚ вам Ñоздавать критерии, чтобы проверÑÑ‚ÑŒ Ñвои продукты по ним."
msgid "Requirements can be based on users, stakeholders, system, software or anything else you find important to capture."
-msgstr ""
+msgstr "Ð¢Ñ€ÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть оÑнованы на пользователÑÑ…, заинтереÑованных Ñторонах, ПО или на чём угодно, что вы Ñчитаете важным отÑлеживать."
msgid "Requires approval from %{names}."
msgid_plural "Requires %{count} more approvals from %{names}."
@@ -17442,7 +17805,7 @@ msgstr[2] "Ðеобходимо %d подтверждений."
msgstr[3] "Ðеобходимо %d подтверждений."
msgid "Requires values to meet regular expression requirements."
-msgstr ""
+msgstr "Требует, чтобы Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÑоответÑтвовали регулÑрному выражению."
msgid "Resend confirmation email"
msgstr "Повторно отправить подтверждение по Ñлектронной почте"
@@ -17523,7 +17886,7 @@ msgid "Response metrics (HA Proxy)"
msgstr "Метрики откликов (HA Proxy)"
msgid "Response metrics (NGINX Ingress VTS)"
-msgstr ""
+msgstr "Метрики ответов (NGINX Ingress VTS)"
msgid "Response metrics (NGINX Ingress)"
msgstr "Метрики откликов (NGINX Ingress)"
@@ -17564,6 +17927,9 @@ msgstr "Возобновить репликацию"
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17634,6 +18000,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17682,6 +18051,9 @@ msgstr ""
msgid "Runner token"
msgstr "Runner токен"
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr "Обработчик заданий не был обновлен."
@@ -17719,7 +18091,7 @@ msgid "Runners page."
msgstr ""
msgid "Runners|You have used %{quotaUsed} out of %{quotaLimit} of your shared Runners pipeline minutes."
-msgstr ""
+msgstr "Ð’Ñ‹ иÑпользовали %{quotaUsed} из %{quotaLimit} ваших минут Ñборки на общих Runner'ах."
msgid "Running"
msgstr "ВыполнÑетÑÑ"
@@ -17736,6 +18108,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr "SAML Ð´Ð»Ñ %{group_name}"
@@ -17743,25 +18118,25 @@ msgid "SHA256"
msgstr ""
msgid "SSH Key"
-msgstr "SSH ключ"
+msgstr "Ключ SSH"
msgid "SSH Keys"
-msgstr "SSH-ключи"
+msgstr "Ключи SSH"
msgid "SSH Keys Help"
msgstr "Справка по ключам SSH"
msgid "SSH host key fingerprints"
-msgstr ""
+msgstr "Отпечатки ключа SSH хоÑта"
msgid "SSH host keys"
-msgstr ""
+msgstr "Ключи SSH хоÑта"
msgid "SSH host keys are not available on this system. Please use <code>ssh-keyscan</code> command or contact your GitLab administrator for more information."
-msgstr ""
+msgstr "Ключи SSH хоÑта недоÑтупны в Ñтой ÑиÑтеме. ПожалуйÑта, иÑпользуйте команду <code>ssh-keyscan</code> или ÑвÑжитеÑÑŒ Ñо Ñвоим админиÑтратором GitLab Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации."
msgid "SSH keys allow you to establish a secure connection between your computer and GitLab."
-msgstr "SSH ключи позволÑÑŽÑ‚ уÑтановить безопаÑное Ñоединение между вашим компьютером и GitLab."
+msgstr "Ключи SSH позволÑÑŽÑ‚ уÑтановить безопаÑное Ñоединение между вашим компьютером и GitLab."
msgid "SSH public key"
msgstr "Открытый ключ SSH"
@@ -17820,12 +18195,18 @@ msgstr "РаÑпиÑание новой Ñборочной линии"
msgid "Scheduled"
msgstr "Запланировано"
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr "РаÑпиÑаниÑ"
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17883,6 +18264,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr "Ðайти ветки и теги"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17944,28 +18328,28 @@ msgid "Search your projects"
msgstr ""
msgid "SearchAutocomplete|All GitLab"
-msgstr ""
+msgstr "Ð’Ñе GitLab"
msgid "SearchAutocomplete|Issues I've created"
-msgstr ""
+msgstr "ОбÑуждениÑ, которые Ñ Ñоздал"
msgid "SearchAutocomplete|Issues assigned to me"
-msgstr ""
+msgstr "ОбÑуждениÑ, на которые Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½"
msgid "SearchAutocomplete|Merge requests I've created"
-msgstr ""
+msgstr "ЗапроÑÑ‹ на ÑлиÑние, которые Ñ Ñоздал"
msgid "SearchAutocomplete|Merge requests assigned to me"
-msgstr ""
+msgstr "ЗапроÑÑ‹ на ÑлиÑниÑ, на которые Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½"
msgid "SearchAutocomplete|in all GitLab"
-msgstr ""
+msgstr "во вÑех GitLab"
msgid "SearchAutocomplete|in this group"
-msgstr ""
+msgstr "в Ñтой группе"
msgid "SearchAutocomplete|in this project"
-msgstr ""
+msgstr "в Ñтом проекте"
msgid "SearchCodeResults|in"
msgstr "в"
@@ -17986,7 +18370,7 @@ msgid "SearchResults|Showing %{from} - %{to} of %{count} %{scope} for%{term_elem
msgstr ""
msgid "SearchResults|We couldn't find any %{scope} matching %{term}"
-msgstr ""
+msgstr "Мы не Ñмогли найти никаких %{scope}, ÑоответÑтвующих %{term}"
msgid "SearchResults|code result"
msgid_plural "SearchResults|code results"
@@ -18044,13 +18428,6 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -18065,6 +18442,9 @@ msgstr[1] "Результата Wiki"
msgstr[2] "Результатов Wiki"
msgstr[3] "Результат Wiki"
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -18081,196 +18461,244 @@ msgid "Secret"
msgstr ""
msgid "Security"
-msgstr ""
+msgstr "БезопаÑноÑÑ‚ÑŒ"
msgid "Security & Compliance"
-msgstr ""
+msgstr "БезопаÑноÑÑ‚ÑŒ и комплаенÑ"
msgid "Security Configuration"
msgstr ""
msgid "Security Dashboard"
+msgstr "Панель безопаÑноÑти"
+
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
+msgstr "Панель безопаÑноÑти"
+
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgstr ""
+
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgstr ""
+
+msgid "SecurityConfiguration|Configured"
+msgstr "ÐаÑтроено"
+
+msgid "SecurityConfiguration|Feature"
+msgstr "ФункциÑ"
+
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "SecurityConfiguration|Not yet configured"
+msgstr "Пока не наÑтроено"
+
+msgid "SecurityConfiguration|Secure features"
+msgstr "Функции безопаÑноÑти"
+
+msgid "SecurityConfiguration|Status"
+msgstr "СтатуÑ"
+
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
-msgstr "Подробнее о наÑтройке панели управлениÑ"
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
-msgstr "Произошла ошибка при Ñоздании запроÑа на ÑлиÑние."
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
+msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "Security dashboard"
-msgstr "Панель безопаÑноÑти"
+msgid "SecurityReports|More information"
+msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
-msgstr "%{firstProject} и %{secondProject}"
+msgid "SecurityReports|Remove project from dashboard"
+msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
-msgstr "%{firstProject}, %{secondProject}, и %{rest}"
+msgid "SecurityReports|Report type"
+msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
-msgstr "Добавить проект на вашу панель управлениÑ"
+msgid "SecurityReports|Return to dashboard"
+msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
-msgstr "Добавить или удалить проекты из панели управлениÑ"
+msgid "SecurityReports|Security Dashboard"
+msgstr ""
-msgid "SecurityDashboard|Add projects"
-msgstr "Добавить проекты"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
+msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
-msgstr "Редактировать панель управлениÑ"
+msgid "SecurityReports|Select a project to add by using the project search field above."
+msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|More information"
-msgstr "Подробнее"
+msgid "SecurityReports|Status"
+msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Project"
-msgstr "Проект"
+msgid "SecurityReports|There was an error adding the comment."
+msgstr ""
-msgid "SecurityDashboard|Projects added"
-msgstr "Добавлены проекты"
+msgid "SecurityReports|There was an error creating the issue."
+msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
-msgstr "Удалить проект из панели управлениÑ"
+msgid "SecurityReports|There was an error creating the merge request."
+msgstr ""
-msgid "SecurityDashboard|Report type"
-msgstr "Тип отчета"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
-msgstr "ВернутьÑÑ Ðº панели управлениÑ"
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
-msgstr "Панель безопаÑноÑти"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
-msgstr "Выберите проект, чтобы добавить, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿Ð¾Ð»Ðµ поиÑка проекта выше."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|Undo dismiss"
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
-msgstr "Панель безопаÑноÑти отображает поÑледние выводы по безопаÑноÑти Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð², которые вы хотите отÑлеживать. Выберите \"Редактировать панель\" Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð²."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
-msgstr "Ðе удаетÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ %{invalidProjects}"
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
+msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
msgstr ""
@@ -18281,6 +18709,9 @@ msgstr "ПоÑмотреть метрики"
msgid "See the affected projects in the GitLab admin panel"
msgstr "ПоÑмотреть затрагиваемые проекты в панели админиÑтратора GitLab"
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18381,7 +18812,7 @@ msgid "Select projects you want to import."
msgstr ""
msgid "Select required regulatory standard"
-msgstr ""
+msgstr "Выберите необходимый регулÑторный Ñтандарт"
msgid "Select shards to replicate"
msgstr ""
@@ -18489,7 +18920,7 @@ msgid "SeriesFinalConjunction|and"
msgstr "и"
msgid "Serve repository static objects (e.g. archives, blobs, ...) from an external storage (e.g. a CDN)."
-msgstr ""
+msgstr "Сервер ÑтатичеÑких объектов Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ (например, архивы, бинарные данные, ...) из внешнего хранилища (например, CDN)."
msgid "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."
msgstr "Сервер поддерживает только пакетный API, пожалуйÑта, обновите ваш клиент Git LFS до верÑии 1.0.1 и выше."
@@ -18504,7 +18935,7 @@ msgid "Serverless domain"
msgstr ""
msgid "ServerlessDetails|Function invocation metrics require Prometheus to be installed first."
-msgstr ""
+msgstr "Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÑ€ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° функций Ñначала нужно уÑтановить Prometheus."
msgid "ServerlessDetails|Install Prometheus"
msgstr "УÑтановить Prometheus"
@@ -18522,16 +18953,16 @@ msgid "ServerlessDetails|More information"
msgstr "Подробнее"
msgid "ServerlessDetails|No pods loaded at this time."
-msgstr ""
+msgstr "Ðа данный момент нет загруженных подов."
msgid "ServerlessDetails|Number of Kubernetes pods in use over time based on necessity."
msgstr "КоличеÑтво подов Kubernetes, иÑпользуемых за определенный период времени, в завиÑимоÑти от необходимоÑти."
msgid "ServerlessDetails|pod in use"
-msgstr "ИÑпользуемый под"
+msgstr "иÑпользуемый под"
msgid "ServerlessDetails|pods in use"
-msgstr "ИÑпользуемые поды"
+msgstr "иÑпользуемые поды"
msgid "ServerlessURL|Copy URL"
msgstr ""
@@ -18642,7 +19073,7 @@ msgid "Set notification email for abuse reports."
msgstr "ÐаÑтроить ÑƒÐ²ÐµÐ´Ð¾Ð¼Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ Ñлектронной почте Ð´Ð»Ñ ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾ злоупотреблениÑÑ…."
msgid "Set parent epic to an epic"
-msgstr ""
+msgstr "УÑтановить родительÑкую цель"
msgid "Set projects and maximum size limits, session duration, user options, and check feature availability for namespace plan."
msgstr ""
@@ -18669,7 +19100,7 @@ msgid "Set the maximum file size for each job's artifacts"
msgstr ""
msgid "Set the maximum number of pipeline minutes that a group can use on shared Runners per month. 0 for unlimited."
-msgstr ""
+msgstr "ÐаÑтройте макÑимальное чиÑло минут Ð´Ð»Ñ Ñборочной линии, которые группа может иÑпользовать в общих Runner'ах за меÑÑц. 0 Ð´Ð»Ñ Ð½ÐµÐ¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ð¾Ð³Ð¾ чиÑла."
msgid "Set the milestone to %{milestone_reference}."
msgstr ""
@@ -18686,9 +19117,6 @@ msgstr "ÐаÑтройка CI/CD"
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18711,10 +19139,10 @@ msgid "Set up your project to automatically push and/or pull changes to/from ano
msgstr "ÐаÑтройте Ñвой проект, чтобы автоматичеÑки загружать и/или Ñкачивать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²/из другого репозиториÑ. Ветки, теги и коммиты будут ÑинхронизироватьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки."
msgid "Set weight"
-msgstr "УÑтановить веÑ"
+msgstr "УÑтановить приоритет"
msgid "Set weight to %{weight}."
-msgstr ""
+msgstr "УÑтановить приоритет на %{weight}."
msgid "SetPasswordToCloneLink|set a password"
msgstr "уÑтановите пароль"
@@ -18744,7 +19172,7 @@ msgid "SetStatusModal|What's your status?"
msgstr "Как у Ð²Ð°Ñ Ð´ÐµÐ»Ð°?"
msgid "Sets %{epic_ref} as parent epic."
-msgstr ""
+msgstr "УÑтанавливает %{epic_ref} как родительÑкую цель."
msgid "Sets target branch to %{branch_name}."
msgstr ""
@@ -18759,7 +19187,7 @@ msgid "Sets time estimate to %{time_estimate}."
msgstr ""
msgid "Sets weight to %{weight}."
-msgstr ""
+msgstr "УÑтанавливает приоритет на %{weight}."
msgid "Settings"
msgstr "ÐаÑтройки"
@@ -18773,6 +19201,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18792,13 +19223,13 @@ msgid "Shared runners help link"
msgstr "Справка по общим Runner'ам"
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 "Sherlock Transactions"
msgstr ""
@@ -18816,10 +19247,10 @@ msgid "Show all members"
msgstr ""
msgid "Show archived projects"
-msgstr "Показать архивные проекты"
+msgstr "Показывать архивные проекты"
msgid "Show archived projects only"
-msgstr "Показать только архивные проекты"
+msgstr "Показывать только архивные проекты"
msgid "Show command"
msgstr "Показать команду"
@@ -18858,7 +19289,7 @@ msgid "Show parent subgroups"
msgstr "Показать родительÑкие подгруппы"
msgid "Show whitespace changes"
-msgstr ""
+msgstr "Показать Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð¾Ð²"
msgid "Showing %d event"
msgid_plural "Showing %d events"
@@ -18895,7 +19326,7 @@ msgid "Sidebar|Assign health status"
msgstr ""
msgid "Sidebar|Change weight"
-msgstr ""
+msgstr "Изменить приоритет"
msgid "Sidebar|Health status"
msgstr ""
@@ -18910,7 +19341,7 @@ msgid "Sidebar|Only numeral characters allowed"
msgstr ""
msgid "Sidebar|Weight"
-msgstr ""
+msgstr "Приоритет"
msgid "Sign in"
msgstr "Вход"
@@ -18952,10 +19383,10 @@ msgid "Sign-up restrictions"
msgstr "ÐžÐ³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтрации"
msgid "SignUp|First Name is too long (maximum is %{max_length} characters)."
-msgstr ""
+msgstr "Ð˜Ð¼Ñ Ñлишком длинное (макÑимум - %{max_length} Ñимволов)."
msgid "SignUp|Last Name is too long (maximum is %{max_length} characters)."
-msgstr ""
+msgstr "Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ Ñлишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ (макÑимум - %{max_length} Ñимволов)."
msgid "SignUp|Name is too long (maximum is %{max_length} characters)."
msgstr "Слишком длинное Ð¸Ð¼Ñ (макÑимум %{max_length} Ñимволов)."
@@ -18964,7 +19395,7 @@ msgid "SignUp|Username is too long (maximum is %{max_length} characters)."
msgstr "Слишком длинное Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (макÑимум %{max_length} Ñимволов)."
msgid "Signed in"
-msgstr ""
+msgstr "ÐвторизовалиÑÑŒ"
msgid "Signed in with %{authentication} authentication"
msgstr "Вход Ñ %{authentication} аутентификацией"
@@ -18988,13 +19419,13 @@ msgid "Size and domain settings for static websites"
msgstr "ÐаÑтройки размера и доменных имён Ð´Ð»Ñ ÑтатичеÑких веб-Ñайтов"
msgid "Size limit per repository (MB)"
-msgstr ""
+msgstr "Лимит размера на репозиторий (Мбайт)"
msgid "Size settings for static websites"
msgstr ""
msgid "Skip outdated deployment jobs"
-msgstr ""
+msgstr "ПропуÑтить уÑтаревшие Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ"
msgid "Skip this for now"
msgstr "ПропуÑтить Ñто ÑейчаÑ"
@@ -19018,7 +19449,7 @@ msgid "SlackIntegration|<strong>Note:</strong> Usernames and private channels ar
msgstr ""
msgid "SlackIntegration|Paste the <strong>Webhook URL</strong> into the field below."
-msgstr ""
+msgstr "Ð’Ñтавьте <strong>URL веб-обработчика</strong> в поле ниже."
msgid "SlackIntegration|Select events below to enable notifications. The <strong>Slack channel names</strong> and <strong>Slack username</strong> fields are optional."
msgstr ""
@@ -19030,7 +19461,7 @@ msgid "SlackService|2. Paste the <strong>Token</strong> into the field below"
msgstr ""
msgid "SlackService|3. Select the <strong>Active</strong> checkbox, press <strong>Save changes</strong> and start using GitLab inside Slack!"
-msgstr ""
+msgstr "Выберите флажок <strong>Ðктивный</strong>, нажмите на <strong>Сохранить изменениÑ</strong> и начните иÑпользовать GitLab внутри Slack!"
msgid "SlackService|Fill in the word that works best for your team."
msgstr ""
@@ -19089,6 +19520,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19117,7 +19551,7 @@ msgid "Something went wrong on our end. Please try again!"
msgstr ""
msgid "Something went wrong on our end. Please try again."
-msgstr "Что-то пошло не так на нашей Ñтороне. ПожалуйÑта, попробуйте еще раз."
+msgstr "Что-то пошло не так на нашей Ñтороне. ПожалуйÑта, попробуйте ещё раз."
msgid "Something went wrong trying to change the confidentiality of this issue"
msgstr ""
@@ -19129,19 +19563,19 @@ msgid "Something went wrong when toggling the button"
msgstr "Что-то пошло не так при переключении кнопки"
msgid "Something went wrong while adding your award. Please try again."
-msgstr "Что-то пошло не так при добавлении вашей награды. ПожалуйÑта, попробуйте еще раз."
+msgstr "Что-то пошло не так при добавлении вашей награды. ПожалуйÑта, попробуйте ещё раз."
msgid "Something went wrong while applying the suggestion. Please try again."
msgstr ""
msgid "Something went wrong while archiving a requirement."
-msgstr ""
+msgstr "Что-то пошло не так при архивировании требованиÑ."
msgid "Something went wrong while closing the %{issuable}. Please try again later"
msgstr ""
msgid "Something went wrong while creating a requirement."
-msgstr ""
+msgstr "Что-то пошло не так при Ñоздании требованиÑ."
msgid "Something went wrong while deleting description changes. Please try again."
msgstr ""
@@ -19186,7 +19620,7 @@ msgid "Something went wrong while fetching related merge requests."
msgstr "Что-то пошло не так при получении ÑвÑзанных запроÑов на ÑлиÑние."
msgid "Something went wrong while fetching requirements list."
-msgstr ""
+msgstr "Что-то пошло не так при извлечении ÑпиÑка требований."
msgid "Something went wrong while fetching the environments for this merge request. Please try again."
msgstr ""
@@ -19213,7 +19647,7 @@ msgid "Something went wrong while performing the action."
msgstr ""
msgid "Something went wrong while reopening a requirement."
-msgstr ""
+msgstr "Что-то пошло не так при повторном открытии требованиÑ."
msgid "Something went wrong while reopening the %{issuable}. Please try again later"
msgstr ""
@@ -19225,11 +19659,14 @@ msgid "Something went wrong while stopping this environment. Please try again."
msgstr ""
msgid "Something went wrong while updating a requirement."
-msgstr ""
+msgstr "Что-то пошло не так при обновлении требованиÑ."
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19252,7 +19689,7 @@ msgid "Something went wrong. Try again later."
msgstr ""
msgid "Sorry, no epics matched your search"
-msgstr ""
+msgstr "Извините, нет целей, ÑоответÑтвующих вашему поиÑку"
msgid "Sorry, no projects matched your search"
msgstr ""
@@ -19264,10 +19701,10 @@ msgid "Sorry, your filter produced no results"
msgstr ""
msgid "Sort by"
-msgstr "Сортировать по"
+msgstr "Сортировка"
msgid "Sort direction"
-msgstr ""
+msgstr "ПорÑдок Ñортировки"
msgid "SortOptions|Access level, ascending"
msgstr "Уровень доÑтупа, по возраÑтанию"
@@ -19288,7 +19725,7 @@ msgid "SortOptions|Due soon"
msgstr "Срок раньше"
msgid "SortOptions|Expired date"
-msgstr ""
+msgstr "По дате иÑтечениÑ"
msgid "SortOptions|Label priority"
msgstr "Приоритет метки"
@@ -19300,22 +19737,22 @@ msgid "SortOptions|Largest repository"
msgstr "Крупнейший репозиторий"
msgid "SortOptions|Last Contact"
-msgstr ""
+msgstr "По поÑледнему контакту"
msgid "SortOptions|Last created"
-msgstr "ПоÑледние Ñозданные"
+msgstr "Сначала недавно Ñозданные"
msgid "SortOptions|Last joined"
msgstr "ПоÑледние проÑоединившиеÑÑ"
msgid "SortOptions|Last updated"
-msgstr "ПоÑледние обновлённые"
+msgstr "Сначала недавно обновлённые"
msgid "SortOptions|Least popular"
msgstr "Ðаименее популÑрный"
msgid "SortOptions|Less weight"
-msgstr ""
+msgstr "Сначала Ñ Ð¼ÐµÐ½ÑŒÑˆÐ¸Ð¼ приоритетом"
msgid "SortOptions|Manual"
msgstr "РучнаÑ"
@@ -19330,25 +19767,25 @@ msgid "SortOptions|Milestone due soon"
msgstr "Веха, наÑÑ‚ÑƒÐ¿Ð°ÑŽÑ‰Ð°Ñ Ñ€Ð°Ð½ÑŒÑˆÐµ"
msgid "SortOptions|More weight"
-msgstr ""
+msgstr "Сначала Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð¼ приоритетом"
msgid "SortOptions|Most popular"
msgstr "Ðаиболее популÑрный"
msgid "SortOptions|Most stars"
-msgstr "По рейтингу"
+msgstr "по рейтингу"
msgid "SortOptions|Name"
-msgstr "ИмÑ"
+msgstr "По алфавиту"
msgid "SortOptions|Name, ascending"
-msgstr "ИмÑ, по возраÑтанию"
+msgstr "По алфавиту"
msgid "SortOptions|Name, descending"
-msgstr "ИмÑ, по убыванию"
+msgstr "По алфавиту Ñ ÐºÐ¾Ð½Ñ†Ð°"
msgid "SortOptions|Oldest created"
-msgstr "Давно Ñозданные"
+msgstr "Сначала давно Ñозданные"
msgid "SortOptions|Oldest joined"
msgstr "Старейшие из приÑоединившихÑÑ"
@@ -19360,10 +19797,10 @@ msgid "SortOptions|Oldest sign in"
msgstr "Старейшие из заходивших"
msgid "SortOptions|Oldest starred"
-msgstr ""
+msgstr "Сначала давно избранные"
msgid "SortOptions|Oldest updated"
-msgstr "Давно обновленные"
+msgstr "Сначала давно обновлённые"
msgid "SortOptions|Popularity"
msgstr "ПопулÑронÑÑ‚ÑŒ"
@@ -19372,28 +19809,28 @@ msgid "SortOptions|Priority"
msgstr "Приоритет"
msgid "SortOptions|Project"
-msgstr ""
+msgstr "Проект"
msgid "SortOptions|Recent last activity"
-msgstr ""
+msgstr "По поÑледней активноÑти"
msgid "SortOptions|Recent sign in"
msgstr "Ðедавно заходившие"
msgid "SortOptions|Recently starred"
-msgstr ""
+msgstr "Сначала недавно избранные"
msgid "SortOptions|Size"
msgstr "Размер"
msgid "SortOptions|Sort direction"
-msgstr ""
+msgstr "Ðаправление Ñортировки"
msgid "SortOptions|Stars"
-msgstr ""
+msgstr "По рейтингу"
msgid "SortOptions|Start date"
-msgstr ""
+msgstr "По дате начала"
msgid "SortOptions|Start later"
msgstr "Ðачатые позже"
@@ -19402,13 +19839,13 @@ msgid "SortOptions|Start soon"
msgstr "Ðачатые недавно"
msgid "SortOptions|Type"
-msgstr ""
+msgstr "По типу"
msgid "SortOptions|Version"
-msgstr ""
+msgstr "По верÑии"
msgid "SortOptions|Weight"
-msgstr ""
+msgstr "Приоритет"
msgid "Source"
msgstr "ИÑточник"
@@ -19456,16 +19893,16 @@ msgid "SourcegraphAdmin|e.g. https://sourcegraph.example.com"
msgstr ""
msgid "SourcegraphPreferences|This feature is experimental and currently limited to certain projects."
-msgstr ""
+msgstr "Эта возможноÑÑ‚ÑŒ ÑкÑÐ¿ÐµÑ€Ð¸Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¸ в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð° определенными проектами."
msgid "SourcegraphPreferences|This feature is experimental and limited to public projects."
-msgstr ""
+msgstr "Эта возможноÑÑ‚ÑŒ ÑкÑÐ¿ÐµÑ€Ð¸Ð¼ÐµÐ½Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¸ доÑтупна только Ð´Ð»Ñ Ð¿ÑƒÐ±Ð»Ð¸Ñ‡Ð½Ñ‹Ñ… проектов."
msgid "SourcegraphPreferences|This feature is experimental."
-msgstr ""
+msgstr "Эта возможноÑÑ‚ÑŒ ÑкÑпериментальнаÑ."
msgid "SourcegraphPreferences|Uses %{link_start}Sourcegraph.com%{link_end}."
-msgstr ""
+msgstr "ИÑпользует %{link_start}Sourcegraph.com%{link_end}."
msgid "SourcegraphPreferences|Uses a custom %{link_start}Sourcegraph instance%{link_end}."
msgstr ""
@@ -19515,6 +19952,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr "ПоÑтавьте звёздочку, чтобы Ñделать метку приоритетной. УпорÑдочивайте приоритетные метки перетаÑкиванием Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ñ… отноÑительного приоритета."
@@ -19558,7 +19998,7 @@ msgid "Start a %{new_merge_request} with these changes"
msgstr "Ðачать %{new_merge_request} Ñ Ñтих изменений"
msgid "Start a Free Gold Trial"
-msgstr ""
+msgstr "Ðачать беÑплатный пробный период Gold"
msgid "Start a new discussion..."
msgstr "Ðачать новое обÑуждение ..."
@@ -19609,7 +20049,7 @@ msgid "Start your Free Gold Trial"
msgstr "Ðачните беÑплатный пробный период Gold"
msgid "Start your free trial"
-msgstr ""
+msgstr "Ðачать беÑплатный пробный период"
msgid "Start your trial"
msgstr ""
@@ -19638,6 +20078,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19647,18 +20090,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19702,7 +20157,7 @@ msgid "StatusPage|Active"
msgstr ""
msgid "StatusPage|Bucket %{docsLink}"
-msgstr ""
+msgstr "Bucket %{docsLink}"
msgid "StatusPage|Configure file storage settings to link issues in this project to an external status page."
msgstr ""
@@ -19711,11 +20166,17 @@ msgid "StatusPage|For help with configuration, visit %{docsLink}"
msgstr ""
msgid "StatusPage|S3 Bucket name"
-msgstr ""
+msgstr "Ð˜Ð¼Ñ Bucket'а S3"
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19726,7 +20187,7 @@ msgid "StatusPage|your status page frontend."
msgstr ""
msgid "Stay updated about the performance and health of your environment by configuring Prometheus to monitor your deployments."
-msgstr ""
+msgstr "Будьте в курÑе производительноÑти и работоÑпоÑобноÑти вашего Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ наÑтройки Prometheus Ð´Ð»Ñ Ð¼Ð¾Ð½Ð¸Ñ‚Ð¾Ñ€Ð¸Ð½Ð³Ð° ваших развёртываний."
msgid "Stop Terminal"
msgstr ""
@@ -19750,7 +20211,7 @@ msgid "Storage nodes for new repositories"
msgstr ""
msgid "Storage:"
-msgstr ""
+msgstr "Хранилище:"
msgid "StorageSize|Unknown"
msgstr "ÐеизвеÑтный"
@@ -19774,7 +20235,7 @@ msgid "Subgroups"
msgstr "Подгруппы"
msgid "Subgroups and projects"
-msgstr ""
+msgstr "Подгруппы и проекты"
msgid "Subject Key Identifier:"
msgstr ""
@@ -19849,7 +20310,7 @@ msgid "Subscription successfully deleted."
msgstr ""
msgid "SubscriptionTable|Billing"
-msgstr ""
+msgstr "Оплата"
msgid "SubscriptionTable|Free"
msgstr "БеÑплатно"
@@ -19864,13 +20325,13 @@ msgid "SubscriptionTable|Loading subscriptions"
msgstr "Загрузка подпиÑок"
msgid "SubscriptionTable|Manage"
-msgstr ""
+msgstr "Управление"
msgid "SubscriptionTable|Max seats used"
msgstr "МакÑимальное количеÑтво иÑпользуемых меÑÑ‚"
msgid "SubscriptionTable|Next invoice"
-msgstr ""
+msgstr "Следующий Ñчет"
msgid "SubscriptionTable|Seats currently in use"
msgstr "МеÑта, иÑпользуемые в наÑтоÑщее времÑ"
@@ -19900,7 +20361,7 @@ msgid "SubscriptionTable|This is the number of seats you will be required to pur
msgstr "Это количеÑтво меÑÑ‚, которое вам необходимо будет приобреÑти, еÑли вы перейдете на платный тарифный план."
msgid "SubscriptionTable|Trial"
-msgstr ""
+msgstr "Пробный период"
msgid "SubscriptionTable|Trial end date"
msgstr "Дата Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð½Ð¾Ð³Ð¾ периода"
@@ -19909,13 +20370,13 @@ msgid "SubscriptionTable|Trial start date"
msgstr "Дата начала пробного периода"
msgid "SubscriptionTable|Upgrade"
-msgstr ""
+msgstr "ПовыÑить"
msgid "SubscriptionTable|Usage"
-msgstr ""
+msgstr "ИÑпользование"
msgid "SubscriptionTable|Usage count is performed once a day at 12:00 PM."
-msgstr ""
+msgstr "ПодÑчет иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÑетÑÑ Ð¾Ð´Ð¸Ð½ раз в день в 12:00 ночи."
msgid "Subscriptions"
msgstr ""
@@ -20029,7 +20490,7 @@ msgid "SuggestedColors|Very pale orange"
msgstr ""
msgid "Suggestions:"
-msgstr ""
+msgstr "ПредложениÑ:"
msgid "Suite"
msgstr ""
@@ -20064,6 +20525,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr "СиÑтема"
@@ -20164,7 +20631,7 @@ msgid "TagsPage|New tag"
msgstr "Ðовый тег"
msgid "TagsPage|Optionally, add a message to the tag. Leaving this blank creates a %{link_start}lightweight tag.%{link_end}"
-msgstr ""
+msgstr "При желании, добавьте Ñообщение к метке. ЕÑли оÑтавить его пуÑтым, будет Ñоздана %{link_start}легковеÑÐ½Ð°Ñ Ð¼ÐµÑ‚ÐºÐ°.%{link_end}"
msgid "TagsPage|Optionally, create a public Release of your project, based on this tag. Release notes are displayed on the %{releases_page_link_start}Releases%{link_end} page. %{docs_link_start}More information%{link_end}"
msgstr ""
@@ -20217,6 +20684,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "Шаблон"
@@ -20276,7 +20746,7 @@ msgid "TestHooks|Ensure the project has at least one commit."
msgstr "УбедитеÑÑŒ, что в проекте еÑÑ‚ÑŒ Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один коммит."
msgid "TestHooks|Ensure the project has issues."
-msgstr ""
+msgstr "УбедитеÑÑŒ, что у проекта еÑÑ‚ÑŒ обÑуждениÑ."
msgid "TestHooks|Ensure the project has merge requests."
msgstr "УбедитеÑÑŒ, что у проекта еÑÑ‚ÑŒ запроÑÑ‹ на ÑлиÑние."
@@ -20291,31 +20761,31 @@ msgid "TestReports|%{count} errors"
msgstr ""
msgid "TestReports|%{count} failures"
-msgstr ""
+msgstr "%{count} Ñбоев"
msgid "TestReports|%{count} jobs"
-msgstr ""
+msgstr "%{count} заданий"
msgid "TestReports|%{rate}%{sign} success rate"
msgstr ""
msgid "TestReports|Test suites"
-msgstr ""
+msgstr "Ðаборы теÑтов"
msgid "TestReports|Tests"
-msgstr ""
+msgstr "ТеÑÑ‚Ñ‹"
msgid "TestReports|There are no test cases to display."
-msgstr ""
+msgstr "Ðет теÑтовых примеров Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ."
msgid "TestReports|There are no test suites to show."
-msgstr ""
+msgstr "Ðет теÑтовых наборов Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ."
msgid "TestReports|There are no tests to show."
-msgstr ""
+msgstr "Ðет теÑтов Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ."
msgid "TestReports|There was an error fetching the test reports."
-msgstr ""
+msgstr "При извлечении отчетов о теÑтировании произошла ошибка."
msgid "Tests"
msgstr ""
@@ -20412,7 +20882,7 @@ msgid "The configuration status of the table below only applies to the default b
msgstr ""
msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
-msgstr ""
+msgstr "Соединение будет отключено через %{timeout}. Ð”Ð»Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ², требующих больше времени, иÑпользуйте комбинацию clone/push."
msgid "The content of this page is not encoded in UTF-8. Edits can only be made via the Git repository."
msgstr "Содержание Ñтой Ñтраницы не закодировано в UTF-8. Редактировать можно только через Git репозиторий."
@@ -20433,7 +20903,7 @@ msgid "The dependency list details information about the components used within
msgstr ""
msgid "The deployment of this job to %{environmentLink} did not succeed."
-msgstr ""
+msgstr "Задание Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð½Ð° %{environmentLink} не удалоÑÑŒ."
msgid "The designs you tried uploading did not change."
msgstr ""
@@ -20529,11 +20999,14 @@ msgstr "Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð±Ñ‹Ð»Ð° удалена. У GitLab больше нет
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr "Ð›Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ Ð±Ñ‹Ð»Ð° уÑпешно загружена и теперь активна. Ð’Ñ‹ можете увидеть подробноÑти ниже."
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr "МакÑимальный размер файла - %{size}."
msgid "The maximum file size allowed is 200KB."
-msgstr "МакÑимально допуÑтимый размер файла ÑоÑтавлÑет 200 Кб."
+msgstr "МакÑимально допуÑтимый размер файла ÑоÑтавлÑет 200 Кбайт."
msgid "The merge conflicts for this merge request cannot be resolved through GitLab. Please try to resolve them locally."
msgstr "Конфликты ÑлиÑÐ½Ð¸Ñ Ð´Ð»Ñ Ñтого запроÑа на ÑлиÑние не могут быть разрешены Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ GitLab. ПожалуйÑта, попробуйте разрешить их локально."
@@ -20674,7 +21147,7 @@ msgid "The unique identifier for the Geo node. Must match %{geoNodeName} if it i
msgstr ""
msgid "The update action will time out after %{number_of_minutes} minutes. For big repositories, use a clone/push combination."
-msgstr ""
+msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ñтечет через %{number_of_minutes} минут. Ð”Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… репозиториев иÑпользуйте комбинацию clone/push."
msgid "The uploaded file is not a valid Google Takeout archive."
msgstr "Загруженный файл не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым архивом Google Takeout."
@@ -20710,22 +21183,22 @@ msgid "The vulnerability is no longer detected. Verify the vulnerability has bee
msgstr ""
msgid "There are no GPG keys associated with this account."
-msgstr "Ðет GPG ключей, ÑвÑзанных Ñ Ñтой учетной запиÑью."
+msgstr "Ðет ключей GPG, ÑвÑзанных Ñ Ñтой учетной запиÑью."
msgid "There are no GPG keys with access to your account."
-msgstr "Ðет GPG ключей Ñ Ð´Ð¾Ñтупом к вашей учетной запиÑи."
+msgstr "Ðет ключей GPG Ñ Ð´Ð¾Ñтупом к вашей учетной запиÑи."
msgid "There are no SSH keys associated with this account."
-msgstr "Ðет SSH ключей, ÑвÑзанных Ñ Ñтой учетной запиÑью."
+msgstr "Ðет ключей SSH, ÑвÑзанных Ñ Ñтой учетной запиÑью."
msgid "There are no SSH keys with access to your account."
-msgstr "Ðет SSH ключей Ñ Ð´Ð¾Ñтупом к вашей учетной запиÑи."
+msgstr "Ðет ключей SSH Ñ Ð´Ð¾Ñтупом к вашей учетной запиÑи."
msgid "There are no archived projects yet"
msgstr "Ðрхивных проектов пока нет"
msgid "There are no archived requirements"
-msgstr ""
+msgstr "Ðет архивных требований"
msgid "There are no changes"
msgstr ""
@@ -20761,7 +21234,7 @@ msgid "There are no open merge requests"
msgstr ""
msgid "There are no open requirements"
-msgstr ""
+msgstr "Открытых требований нет"
msgid "There are no packages yet"
msgstr "Пакетов пока нет"
@@ -20800,10 +21273,10 @@ msgid "There was an error adding a To Do."
msgstr ""
msgid "There was an error creating the dashboard, branch name is invalid."
-msgstr ""
+msgstr "Произошла ошибка при Ñоздании панели управлениÑ: Ð¸Ð¼Ñ Ð²ÐµÑ‚ÐºÐ¸ неверно."
msgid "There was an error creating the dashboard, branch named: %{branch} already exists."
-msgstr ""
+msgstr "Произошла ошибка при Ñоздании панели управлениÑ: ветка, называющаÑÑÑ %{branch}, уже ÑущеÑтвует."
msgid "There was an error creating the issue"
msgstr "При Ñоздании обÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð¾ÑˆÐ»Ð° ошибка"
@@ -20848,6 +21321,9 @@ msgid "There was an error gathering the chart data"
msgstr "При Ñборе данных диаграммы произошла ошибка"
msgid "There was an error getting the epic participants."
+msgstr "Произошла ошибка при получении учаÑтников цели."
+
+msgid "There was an error importing the Jira project."
msgstr ""
msgid "There was an error loading users activity calendar."
@@ -20860,12 +21336,12 @@ msgid "There was an error removing your custom stage, please try again"
msgstr ""
msgid "There was an error resetting group pipeline minutes."
-msgstr ""
+msgstr "Произошла ошибка при ÑброÑе минут Ñборочной линии группы."
msgid "There was an error resetting user pipeline minutes."
-msgstr ""
+msgstr "Произошла ошибка при ÑброÑе минут пользовательÑкой Ñборочной линии."
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20928,6 +21404,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20964,6 +21443,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -21007,10 +21489,10 @@ msgid "This device has not been registered with us."
msgstr ""
msgid "This diff is collapsed."
-msgstr ""
+msgstr "Это отличие Ñвёрнуто."
msgid "This diff was suppressed by a .gitattributes entry."
-msgstr ""
+msgstr "Это отличие было подавлено запиÑью .gitattributes."
msgid "This directory"
msgstr "Этот каталог"
@@ -21022,7 +21504,7 @@ msgid "This endpoint has been requested too many times. Try again later."
msgstr ""
msgid "This environment has no deployments yet."
-msgstr ""
+msgstr "В данном окружении пока нет развёртываний."
msgid "This environment is being deployed"
msgstr ""
@@ -21037,7 +21519,7 @@ msgid "This epic does not exist or you don't have sufficient permission."
msgstr "Этой цели не ÑущеÑтвует, или у Ð²Ð°Ñ Ð½ÐµÐ´Ð¾Ñтаточно прав."
msgid "This feature requires local storage to be enabled"
-msgstr ""
+msgstr "Эта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÑ‚, чтобы локальное хранилище было включено"
msgid "This field is required."
msgstr ""
@@ -21097,7 +21579,7 @@ msgid "This is the number of currently active users on your installation, and th
msgstr ""
msgid "This is your current session"
-msgstr ""
+msgstr "Это ваша Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ ÑеÑÑиÑ"
msgid "This issue is %{confidentialLinkStart}confidential%{linkEnd} and %{lockedLinkStart}locked%{linkEnd}."
msgstr ""
@@ -21105,6 +21587,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr "Это обÑуждение ÑвлÑетÑÑ ÐºÐ¾Ð½Ñ„Ð¸Ð´ÐµÐ½Ñ†Ð¸Ð°Ð»ÑŒÐ½Ñ‹Ð¼"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "ОбÑуждение заблокировано."
@@ -21136,16 +21624,16 @@ msgid "This job is an out-of-date deployment to %{environmentLink} using cluster
msgstr ""
msgid "This job is an out-of-date deployment to %{environmentLink} using cluster %{clusterNameOrLink}."
-msgstr ""
+msgstr "Это задание ÑвлÑетÑÑ ÑƒÑтаревшим развёртыванием в %{environmentLink} Ñ Ð¸Ñпользованием клаÑтера %{clusterNameOrLink}."
msgid "This job is an out-of-date deployment to %{environmentLink} using cluster %{clusterNameOrLink}. View the %{deploymentLink}."
-msgstr ""
+msgstr "Это задание ÑвлÑетÑÑ ÑƒÑтаревшим развёртыванием в %{environmentLink} Ñ Ð¸Ñпользованием клаÑтера %{clusterNameOrLink}. Смотрите %{deploymentLink}."
msgid "This job is an out-of-date deployment to %{environmentLink}."
-msgstr ""
+msgstr "Эта работа ÑвлÑетÑÑ ÑƒÑтаревшим развёртыванием в %{environmentLink}."
msgid "This job is an out-of-date deployment to %{environmentLink}. View the %{deploymentLink}."
-msgstr ""
+msgstr "Это задание ÑвлÑетÑÑ ÑƒÑтаревшим развёртыванием в %{environmentLink}. Смотрите %{deploymentLink}."
msgid "This job is archived. Only the complete pipeline can be retried."
msgstr ""
@@ -21160,13 +21648,13 @@ msgid "This job is creating a deployment to %{environmentLink} using cluster %{c
msgstr ""
msgid "This job is creating a deployment to %{environmentLink} using cluster %{clusterNameOrLink}. This will overwrite the %{deploymentLink}."
-msgstr ""
+msgstr "Это задание ÑоздаÑÑ‚ развёртывание в %{environmentLink} Ñ Ð¸Ñпользованием клаÑтера %{clusterNameOrLink}. Оно перезапишет %{deploymentLink}."
msgid "This job is creating a deployment to %{environmentLink}."
-msgstr ""
+msgstr "Это задание Ñоздает развёртывание в %{environmentLink}."
msgid "This job is creating a deployment to %{environmentLink}. This will overwrite the %{deploymentLink}."
-msgstr ""
+msgstr "Это задание ÑоздаÑÑ‚ развёртывание в %{environmentLink}. Оно перезапишет %{deploymentLink}."
msgid "This job is deployed to %{environmentLink} using cluster %{clusterNameOrLink} and namespace %{kubernetesNamespace}."
msgstr ""
@@ -21303,7 +21791,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21333,10 +21824,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21369,7 +21860,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21438,6 +21929,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21457,19 +21951,19 @@ msgid "Time until first merge request"
msgstr "Ð’Ñ€ÐµÐ¼Ñ Ð´Ð¾ первого запроÑа на ÑлиÑние"
msgid "TimeTrackingEstimated|Est"
-msgstr ""
+msgstr "Оцен."
msgid "TimeTracking|%{startTag}Spent: %{endTag}%{timeSpentHumanReadable}"
msgstr ""
msgid "TimeTracking|Estimated:"
-msgstr ""
+msgstr "Запланировано:"
msgid "TimeTracking|Over by %{timeRemainingHumanReadable}"
msgstr ""
msgid "TimeTracking|Spent"
-msgstr ""
+msgstr "Затрачено"
msgid "TimeTracking|Time remaining: %{timeRemainingHumanReadable}"
msgstr ""
@@ -21481,7 +21975,7 @@ msgid "Timeago|%s days remaining"
msgstr "ОÑталоÑÑŒ %s дней"
msgid "Timeago|%s hours ago"
-msgstr "%s чаÑов назад"
+msgstr "%s ч назад"
msgid "Timeago|%s hours remaining"
msgstr "ОÑталоÑÑŒ %s чаÑов"
@@ -21493,10 +21987,10 @@ msgid "Timeago|%s minutes remaining"
msgstr "ОÑталоÑÑŒ %s минут"
msgid "Timeago|%s months ago"
-msgstr "%s меÑÑцев назад"
+msgstr "%s меÑ. назад"
msgid "Timeago|%s months remaining"
-msgstr "ОÑталоÑÑŒ %s меÑÑцев"
+msgstr "ОÑталоÑÑŒ %s меÑ."
msgid "Timeago|%s seconds remaining"
msgstr "ОÑталоÑÑŒ %s Ñекунд(Ñ‹)"
@@ -21595,7 +22089,7 @@ msgid "Timeago|just now"
msgstr "Только что"
msgid "Timeago|right now"
-msgstr "ПрÑмо ÑейчаÑ"
+msgstr "прÑмо ÑейчаÑ"
msgid "Timeout"
msgstr ""
@@ -21626,8 +22120,8 @@ msgstr "Заголовок"
msgid "Title:"
msgstr "Заголовок:"
-msgid "Titles and Filenames"
-msgstr "Заголовки и имена файлов"
+msgid "Titles and Descriptions"
+msgstr ""
msgid "To"
msgstr ""
@@ -21645,7 +22139,7 @@ msgid "To access this domain create a new DNS record"
msgstr ""
msgid "To add an SSH key you need to %{generate_link_start}generate one%{link_end} or use an %{existing_link_start}existing key%{link_end}."
-msgstr "Чтобы добавить SSH-ключ вам нужно %{generate_link_start}Ñгенерировать его%{link_end} или иÑпользовать %{existing_link_start}ÑущеÑтвующий ключ%{link_end}."
+msgstr "Чтобы добавить ключ SSH, вам нужно %{generate_link_start}Ñгенерировать его%{link_end} или иÑпользовать %{existing_link_start}ÑущеÑтвующий ключ%{link_end}."
msgid "To add the entry manually, provide the following details to the application on your phone."
msgstr "Чтобы добавить запиÑÑŒ вручную, предоÑтавьте Ñледующую информацию в приложении на Ñвоем телефоне."
@@ -21660,7 +22154,7 @@ msgid "To connect GitHub repositories, you first need to authorize GitLab to acc
msgstr ""
msgid "To connect an SVN repository, check out %{svn_link}."
-msgstr ""
+msgstr "Чтобы подключить репозиторий SVN, проверьте %{svn_link}."
msgid "To define internal users, first enable new users set to external"
msgstr ""
@@ -21735,7 +22229,7 @@ msgid "To simplify the billing process, GitLab will collect user counts in order
msgstr ""
msgid "To specify the notification level per project of a group you belong to, you need to visit project page and change notification level there."
-msgstr ""
+msgstr "Чтобы указать уровень уведомлений по проекту группы, к которой вы принадлежите, необходимо поÑетить Ñтраницу проекта и изменить уровень уведомлений."
msgid "To start serving your jobs you can add Runners to your group"
msgstr "Чтобы начать выполнÑÑ‚ÑŒ Ñвои заданиÑ, вы можете добавить обработчик заданий в вашу группу"
@@ -21810,10 +22304,10 @@ msgid "Toggle thread"
msgstr ""
msgid "ToggleButton|Toggle Status: OFF"
-msgstr ""
+msgstr "Переключатель: Выкл."
msgid "ToggleButton|Toggle Status: ON"
-msgstr ""
+msgstr "Переключатель: Вкл."
msgid "Toggled :%{name}: emoji award."
msgstr ""
@@ -21828,13 +22322,13 @@ msgid "Too many changes to show."
msgstr "Слишком много изменений Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ."
msgid "Too many namespaces enabled. You will need to manage them via the console or the API."
-msgstr ""
+msgstr "Слишком много проÑтранÑтв имен включено. Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼Ð¸ вам потребуетÑÑ ÐºÐ¾Ð½Ñоль или API."
msgid "Too many projects enabled. You will need to manage them via the console or the API."
-msgstr ""
+msgstr "Слишком много проектов включено. Ð”Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼Ð¸ вам потребуетÑÑ ÐºÐ¾Ð½Ñоль или API."
-msgid "Topics"
-msgstr "Теги"
+msgid "Topics (optional)"
+msgstr ""
msgid "Total"
msgstr ""
@@ -21858,7 +22352,7 @@ msgid "Total test time for all commits/merges"
msgstr "Общее Ð²Ñ€ÐµÐ¼Ñ Ñ‚ÐµÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð¸ÐºÑаций/ÑлиÑний"
msgid "Total weight"
-msgstr ""
+msgstr "Итоговый приоритет"
msgid "Total: %{total}"
msgstr "Ð’Ñего: %{total}"
@@ -21888,19 +22382,19 @@ msgid "Transfer ownership"
msgstr ""
msgid "Transfer project"
-msgstr ""
+msgstr "ÐŸÐµÑ€ÐµÐ½Ð¾Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°"
msgid "TransferGroup|Cannot update the path because there are projects under this group that contain Docker images in their Container Registry. Please remove the images from your projects first and try again."
-msgstr ""
+msgstr "Ðевозможно обновить путь поÑкольку в Ñтой группе еÑÑ‚ÑŒ проекты, Ñодержащие образы Docker в Ñвоих рееÑтрах контейнеров. ПожалуйÑта, Ñначала удалите образы из Ñвоих проектов, а затем попробуйте Ñнова."
msgid "TransferGroup|Database is not supported."
-msgstr ""
+msgstr "База данных не поддерживаетÑÑ."
msgid "TransferGroup|Group contains projects with NPM packages."
-msgstr ""
+msgstr "Группа Ñодержит проекты Ñ Ð¿Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ NPM."
msgid "TransferGroup|Group is already a root group."
-msgstr ""
+msgstr "Группа уже ÑвлÑетÑÑ ÐºÐ¾Ñ€Ð½ÐµÐ²Ð¾Ð¹."
msgid "TransferGroup|Group is already associated to the parent group."
msgstr "Группа уже ÑвÑзана Ñ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑкой группой."
@@ -21921,13 +22415,13 @@ msgid "TransferProject|Please select a new namespace for your project."
msgstr "ПожалуйÑта, выберите новое проÑтранÑтво имен Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ проекта."
msgid "TransferProject|Project cannot be transferred, because tags are present in its container registry"
-msgstr ""
+msgstr "Проект Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ½ÐµÑти, потому что в его рееÑтре контейнеров объÑвлены теги"
msgid "TransferProject|Project with same name or path in target namespace already exists"
msgstr "Проект Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем или путем в целевом проÑтранÑтве имен уже ÑущеÑтвует"
msgid "TransferProject|Root namespace can't be updated if project has NPM packages"
-msgstr ""
+msgstr "Корневое проÑтранÑтво имён не может быть обновлено, пока проект Ñодержит NPM пакеты"
msgid "TransferProject|Transfer failed, please contact an admin."
msgstr "ÐŸÐµÑ€ÐµÐ½Ð¾Ñ Ð½Ðµ удалÑÑ, пожалуйÑта, ÑвÑжитеÑÑŒ Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратором."
@@ -21945,10 +22439,10 @@ msgid "Trials|Skip Trial (Continue with Free Account)"
msgstr ""
msgid "Trials|You can always resume this process by selecting your avatar and choosing 'Start a Gold trial'"
-msgstr ""
+msgstr "Ð’Ñ‹ вÑегда можете продолжить Ñтот процеÑÑ, нажав на Ñвой аватар и выбрав \"Ðачать пробный период Gold\""
msgid "Trials|You won't get a free trial right now but you can always resume this process by clicking on your avatar and choosing 'Start a free trial'"
-msgstr ""
+msgstr "Ð’Ñ‹ не получите беÑплатный пробный период прÑмо ÑейчаÑ, но вы вÑегда можете продолжить Ñтот процеÑÑ, нажав на Ñвой аватар и выбрав \"Ðачать беÑплатный пробный период\""
msgid "Trigger"
msgstr ""
@@ -21995,6 +22489,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -22062,7 +22559,7 @@ msgid "URL must start with %{codeStart}http://%{codeEnd}, %{codeStart}https://%{
msgstr ""
msgid "URL of the external storage that will serve the repository static objects (e.g. archives, blobs, ...)."
-msgstr ""
+msgstr "URL внешнего хранилища, которое будет обÑлуживать ÑтатичеÑкие объекты хранилища (например, архивы, бинарные данные, ...)."
msgid "URL or request ID"
msgstr ""
@@ -22083,11 +22580,14 @@ msgid "Unable to connect to Elasticsearch"
msgstr ""
msgid "Unable to connect to Prometheus server"
-msgstr ""
+msgstr "Ðевозможно подключитьÑÑ Ðº Ñерверу Prometheus"
msgid "Unable to connect to server: %{error}"
msgstr "Ðевозможно подключитьÑÑ Ðº Ñерверу:%{error}"
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22104,7 +22604,7 @@ msgid "Unable to generate new instance ID"
msgstr ""
msgid "Unable to load the diff"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ загрузить отличиÑ"
msgid "Unable to load the diff. %{button_try_again}"
msgstr "Ðе удаетÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ отличиÑ. %{button_try_again}"
@@ -22152,7 +22652,7 @@ msgid "Undo ignore"
msgstr ""
msgid "Unfortunately, your email message to GitLab could not be processed."
-msgstr ""
+msgstr "К Ñожалению, ваше пиÑьмо в GitLab не может быть обработано."
msgid "Uninstall"
msgstr "Удалить"
@@ -22305,7 +22805,7 @@ msgid "Update failed"
msgstr ""
msgid "Update failed. Please try again."
-msgstr "Обновление не удалоÑÑŒ. Попробуйте еще раз."
+msgstr "Обновление не удалоÑÑŒ. Попробуйте ещё раз."
msgid "Update it"
msgstr ""
@@ -22317,7 +22817,7 @@ msgid "Update variable"
msgstr ""
msgid "Update your bookmarked URLs as filtered/sorted branches URL has been changed."
-msgstr ""
+msgstr "Обновите ваши URL-адреÑа из закладок, поÑкольку отфильтрованные/отÑортированные ветки URL были изменены."
msgid "Update your group name, description, avatar, and visibility."
msgstr "Обновить наименование вашей группы, её опиÑание, аватар и видимоÑÑ‚ÑŒ."
@@ -22362,10 +22862,10 @@ msgid "Updating"
msgstr ""
msgid "Upgrade plan to unlock Canary Deployments feature"
-msgstr "ОбновитеÑÑŒ на более выÑокий тарифный план, чтобы разблокировать функциональноÑÑ‚ÑŒ Canary Deployments"
+msgstr "ОбновитеÑÑŒ на более выÑокий тарифный план, чтобы иÑпользовать развёртывание Canary"
msgid "Upgrade your plan"
-msgstr ""
+msgstr "Улучшите Ñвой план"
msgid "Upgrade your plan to activate Advanced Global Search."
msgstr "Обновите Вашу подпиÑку, чтобы активировать раÑширенный глобальный поиÑк."
@@ -22377,7 +22877,7 @@ msgid "Upgrade your plan to activate Contribution Analytics."
msgstr ""
msgid "Upgrade your plan to activate Group Webhooks."
-msgstr ""
+msgstr "Улучшите Ñвой тарифный план, чтобы иÑпользовать веб-обработчики на уровне группы."
msgid "Upgrade your plan to improve Issue boards."
msgstr ""
@@ -22431,28 +22931,28 @@ msgid "Upvotes"
msgstr "ГолоÑа \"за\""
msgid "Usage"
-msgstr ""
+msgstr "Ð¡ÐµÐ¹Ñ‡Ð°Ñ Ð¸ÑпользуетÑÑ"
msgid "Usage ping is not enabled"
msgstr ""
msgid "Usage quotas help link"
-msgstr ""
+msgstr "Справка по квотам иÑпользованиÑ"
msgid "Usage statistics"
msgstr "СтатиÑтика иÑпользованиÑ"
msgid "UsageQuota|%{help_link_start}Shared runners%{help_link_end} are disabled, so there are no limits set on pipeline usage"
-msgstr ""
+msgstr "%{help_link_start}Общие Runner'Ñ‹%{help_link_end} отключены, поÑтому нет наÑтроенных ограничений в иÑпользовании Ñборочных линий"
msgid "UsageQuota|Artifacts"
msgstr "Ðртефакты"
msgid "UsageQuota|Buy additional minutes"
-msgstr ""
+msgstr "Купить дополнительные минуты"
msgid "UsageQuota|Current period usage"
-msgstr ""
+msgstr "Текущий период иÑпользованиÑ"
msgid "UsageQuota|LFS Storage"
msgstr "Хранилище LFS"
@@ -22473,22 +22973,22 @@ msgid "UsageQuota|This namespace has no projects which use shared runners"
msgstr "Ð’ Ñтом проÑтранÑтве имен нет проектов, которые иÑпользуют общие обработчики заданий"
msgid "UsageQuota|Unlimited"
-msgstr ""
+msgstr "Ðе ограничена"
msgid "UsageQuota|Usage"
-msgstr ""
+msgstr "ИÑпользование"
msgid "UsageQuota|Usage Quotas"
-msgstr ""
+msgstr "Квоты иÑпользованиÑ"
msgid "UsageQuota|Usage of group resources across the projects in the %{strong_start}%{group_name}%{strong_end} group"
msgstr "ИÑпользование групповых реÑурÑов по проектам в группе %{strong_start}%{group_name}%{strong_end}"
msgid "UsageQuota|Usage of resources across your projects"
-msgstr ""
+msgstr "ИÑпользование реÑурÑов в ваших проектах"
msgid "UsageQuota|Usage since"
-msgstr ""
+msgstr "ИÑпользование Ñ"
msgid "UsageQuota|Wiki"
msgstr "Wiki"
@@ -22641,7 +23141,7 @@ msgid "UserOnboardingTour|Commits are shown in chronological order and can be fi
msgstr ""
msgid "UserOnboardingTour|Create a project"
-msgstr ""
+msgstr "Создайте проект"
msgid "UserOnboardingTour|Exit 'Learn GitLab'"
msgstr "Выйти из 'Изучить GitLab'"
@@ -22653,16 +23153,16 @@ msgid "UserOnboardingTour|Great job! %{clapHands} We hope the tour was helpful a
msgstr ""
msgid "UserOnboardingTour|Guided GitLab Tour"
-msgstr ""
+msgstr "ЭкÑкурÑÐ¸Ñ Ð¿Ð¾ GitLab"
msgid "UserOnboardingTour|Here you can compare the changes of this branch to another one. Changes are divided by files so that it's easier to see what was changed where."
msgstr ""
msgid "UserOnboardingTour|Here you can create a project from scratch, start with a template or import a repository from other platforms. Whatever you choose, we'll guide you through the process.%{lineBreak}%{lineBreak}Fill in your new project information and click on %{emphasisStart}Create Project%{emphasisEnd} to progress to the next step."
-msgstr ""
+msgstr "ЗдеÑÑŒ вы можете Ñоздать проект Ñ Ð½ÑƒÐ»Ñ, начать Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° или импортировать репозиторий Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… платформ. Что бы вы ни выбрали, мы будем Ñопровождать Ð²Ð°Ñ Ð² течение вÑего процеÑÑа.%{lineBreak}%{lineBreak}Заполните информацию о вашем новом проекте и нажмите %{emphasisStart}Создать проект%{emphasisEnd} Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð° к Ñледующему шагу."
msgid "UserOnboardingTour|Here you can see the breakdown of the pipelines: its stages and jobs in each of the stages and their status.%{lineBreak}%{lineBreak}Our CI/CD pipelines are quite complex, most of our users have fewer and simpler pipelines."
-msgstr ""
+msgstr "ЗдеÑÑŒ вы можете видеть разбивку Ñборочных линий: Ñтадии, Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð½Ð° каждой из Ñтадий, а также их ÑоÑтоÑние.%{lineBreak}%{lineBreak}Ðаши ÑобÑтвенные Ñборочные линии CI/CD довольно Ñложны, у большинÑтва наших пользователей их меньше и они проще."
msgid "UserOnboardingTour|Here you can see the current members of the project (just you at the moment) and invite new members.%{lineBreak}%{lineBreak}You can invite multiple members at once (existing GitLab users or invite by email) and you can also set their roles and permissions.%{lineBreak}%{lineBreak}Add a few members and click on %{emphasisStart}Add to project%{emphasisEnd} to complete this step."
msgstr ""
@@ -22671,10 +23171,10 @@ msgid "UserOnboardingTour|Here you can see what changes were made with this comm
msgstr "ЗдеÑÑŒ вы можете увидеть какие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñодержит Ñтот коммит, в какой ветке, и еÑÑ‚ÑŒ ли ÑвÑзанные Ñ Ð½Ð¸Ð¼ запроÑÑ‹ на ÑлиÑние. СоÑтоÑние Ñборочной линии также будет отображатьÑÑ, еÑли наÑтроены CI/CD. %{lineBreak}%{lineBreak} Ещё вы можете прокомментировать Ñтроки кода, которые были изменены, и начать диÑкуÑÑию Ñо Ñвоими коллегами!"
msgid "UserOnboardingTour|Here's an overview of branches in the %{emphasisStart}%{projectName}%{emphasisEnd} project. They're split into Active and Stale.%{lineBreak}%{lineBreak}From here, you can create a new merge request from a branch, or compare the branch to any other branch in the project. By default, it will compare it to the master branch."
-msgstr ""
+msgstr "Это обзор ветвей проекта %{emphasisStart}%{projectName}%{emphasisEnd}. Они разделены на активные и уÑтаревшие.%{lineBreak}%{lineBreak}ЗдеÑÑŒ вы можете Ñоздать новый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние или Ñравнить одну ветку проекта Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹. По умолчанию Ñравнение будет производитьÑÑ Ñ Ð²ÐµÑ‚ÐºÐ¾Ð¹ master."
msgid "UserOnboardingTour|Invite colleagues"
-msgstr ""
+msgstr "ПриглаÑить коллег"
msgid "UserOnboardingTour|Issues are great for communicating and keeping track of progress in GitLab. These are all issues that are open in the %{emphasisStart}%{projectName}%{emphasisEnd}.%{lineBreak}%{lineBreak}You can help us improve GitLab by contributing work to issues that are labeled <span class=\"badge color-label accept-mr-label\">Accepting merge requests</span>.%{lineBreak}%{lineBreak}This list can be filtered by labels, milestones, assignees, authors... We'll show you how it looks when the list is filtered by a label."
msgstr "ОбÑÑƒÐ¶Ð´ÐµÐ½Ð¸Ñ Ð² GitLab отлично подходÑÑ‚ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÑƒÐ½Ð¸ÐºÐ°Ñ†Ð¸Ð¸ и отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€ÐµÑÑа. Перед вами вÑе обÑуждениÑ, открытые в %{emphasisStart}%{projectName}%{emphasisEnd}.%{lineBreak}%{lineBreak}Ð’Ñ‹ можете помочь нам улучшить GitLab, принÑв учаÑтие в работе над обÑуждениÑми Ñ Ð¼ÐµÑ‚ÐºÐ¾Ð¹ <span class=\"badge color-label accept-mr-label\">Accepting merge requests</span> (принимаютÑÑ Ð·Ð°Ð¿Ñ€Ð¾ÑÑ‹ на ÑлиÑние).%{lineBreak}%{lineBreak}Этот ÑпиÑок может быть отфильтрован по меткам, Ñтапам, иÑпонителÑм, авторам... Мы покажем вам, как выглÑдит отфильтрованный по метке ÑпиÑок."
@@ -22692,10 +23192,10 @@ msgid "UserOnboardingTour|Let's take a closer look at the repository of this pro
msgstr ""
msgid "UserOnboardingTour|No thanks"
-msgstr ""
+msgstr "Ðет, ÑпаÑибо"
msgid "UserOnboardingTour|Ok, let's go"
-msgstr ""
+msgstr "Хорошо, поехали"
msgid "UserOnboardingTour|Ok, show me"
msgstr ""
@@ -22734,7 +23234,7 @@ msgid "UserOnboardingTour|The structure of this page is very similar to issues.
msgstr ""
msgid "UserOnboardingTour|There's a lot of information here but don't worry, we'll go through it.%{lineBreak}%{lineBreak}On the top you can see the status of the issue and when it was opened and by whom. Directly below it is the issue description and below that are other %{emphasisStart}related issues%{emphasisEnd} and %{emphasisStart}merge requests%{emphasisEnd} (if any). Then below that is the %{emphasisStart}discussion%{emphasisEnd}, that's where most of the communication happens.%{lineBreak}%{lineBreak}On the right, there's a sidebar where you can view/change the %{emphasisStart}assignee, milestone, due date, labels, weight%{emphasisEnd}, etc."
-msgstr "Информации много, но не волнуйтеÑÑŒ, мы через Ñто пройдем.%{lineBreak}%{lineBreak}Вверху вы можете видеть ÑоÑтоÑние обÑуждениÑ, когда оно было открыто и кем. ÐепоÑредÑтвенно под ним раÑположено опиÑание обÑуждениÑ, а еще ниже — другие %{emphasisStart}ÑвÑзанные обÑуждениÑ%{emphasisEnd} и %{emphasisStart}запроÑÑ‹ на ÑлиÑние%{emphasisEnd} (при наличии). Далее находитÑÑ %{emphasisStart}диÑкуÑÑиÑ%{emphasisEnd}, где проиÑходит Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‡Ð°ÑÑ‚ÑŒ общениÑ.%{lineBreak}%{lineBreak}Справа — Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ, где вы можете проÑмотреть / изменить %{emphasisStart}назначенных иÑполнителей, Ñтап, Ñрок выполнениÑ, метки, веÑ%{emphasisEnd} и Ñ‚. д."
+msgstr "Информации много, но не волнуйтеÑÑŒ, мы через Ñто пройдем.%{lineBreak}%{lineBreak}Вверху вы можете видеть ÑоÑтоÑние обÑуждениÑ, когда оно было открыто и кем. ÐепоÑредÑтвенно под ним раÑположено опиÑание обÑуждениÑ, а еще ниже — другие %{emphasisStart}ÑвÑзанные обÑуждениÑ%{emphasisEnd} и %{emphasisStart}запроÑÑ‹ на ÑлиÑние%{emphasisEnd} (при наличии). Далее находитÑÑ %{emphasisStart}диÑкуÑÑиÑ%{emphasisEnd}, где проиÑходит Ð±Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‡Ð°ÑÑ‚ÑŒ общениÑ.%{lineBreak}%{lineBreak}Справа — Ð±Ð¾ÐºÐ¾Ð²Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ, где вы можете проÑмотреть / изменить %{emphasisStart}назначенных иÑполнителей, Ñтап, Ñрок выполнениÑ, метки, приоритет%{emphasisEnd} и Ñ‚. д."
msgid "UserOnboardingTour|These are all the CI/CD pipelines we have for our %{emphasisStart}%{projectName}%{emphasisEnd} project.%{lineBreak}%{lineBreak}Here you can see the status of each pipeline, for what commit it's running for, its stages and the status for them."
msgstr ""
@@ -22812,7 +23312,7 @@ msgid "UserProfile|This user doesn't have any personal projects"
msgstr "У Ñтого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð½ÐµÑ‚ личных проектов"
msgid "UserProfile|This user has a private profile"
-msgstr "У Ñтого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¸Ð²Ð°Ñ‚Ð½Ñ‹Ð¹ профиль"
+msgstr "У Ñтого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¹ профиль"
msgid "UserProfile|This user hasn't contributed to any projects"
msgstr ""
@@ -22839,7 +23339,7 @@ msgid "UserProfile|You haven't created any snippets."
msgstr "Ð’Ñ‹ не Ñоздали ни одного Ñниппета."
msgid "UserProfile|Your projects can be available publicly, internally, or privately, at your choice."
-msgstr ""
+msgstr "Ðа ваш выбор проекты могут быть публичными, внутренними или личными."
msgid "Username (optional)"
msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ (необÑзательно)"
@@ -22881,19 +23381,19 @@ msgid "Users with a Guest role or those who don't belong to any projects or grou
msgstr ""
msgid "UsersSelect|%{name} + %{length} more"
-msgstr ""
+msgstr "еще %{name} + %{length}"
msgid "UsersSelect|Any User"
-msgstr ""
+msgstr "Любой пользователь"
msgid "UsersSelect|Assignee"
-msgstr ""
+msgstr "Ðазначенный"
msgid "UsersSelect|No assignee - %{openingTag} assign yourself %{closingTag}"
-msgstr ""
+msgstr "Ðет назначенного - %{openingTag} назначить ÑÐµÐ±Ñ %{closingTag}"
msgid "UsersSelect|Unassigned"
-msgstr ""
+msgstr "Ðе назначено"
msgid "Using %{code_start}::%{code_end} denotes a %{link_start}scoped label set%{link_end}"
msgstr ""
@@ -22959,7 +23459,7 @@ msgid "Verification status"
msgstr ""
msgid "Verified"
-msgstr "Проверено"
+msgstr "Подтверждена"
msgid "Verify SAML Configuration"
msgstr ""
@@ -22993,7 +23493,7 @@ msgid "View dependency details for your project"
msgstr ""
msgid "View deployment"
-msgstr ""
+msgstr "ПроÑмотр развёртываниÑ"
msgid "View details"
msgstr ""
@@ -23021,7 +23521,7 @@ msgid "View file @ "
msgstr "ПроÑмотр файла @ "
msgid "View full dashboard"
-msgstr ""
+msgstr "Показать вÑÑŽ панель"
msgid "View full log"
msgstr ""
@@ -23035,6 +23535,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23057,7 +23560,7 @@ msgid "View open merge request"
msgstr "ПроÑмотреть открытый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние"
msgid "View performance dashboard."
-msgstr ""
+msgstr "ПроÑмотр панели производительноÑти."
msgid "View project"
msgstr ""
@@ -23069,13 +23572,13 @@ msgid "View replaced file @ "
msgstr "ПроÑмотр заменённого файла @ "
msgid "View supported languages and frameworks"
-msgstr ""
+msgstr "ПроÑмотр поддерживаемых Ñзыков и фреймворков"
msgid "View the documentation"
msgstr ""
msgid "View the latest successful deployment to this environment"
-msgstr ""
+msgstr "ПроÑмотр поÑледнего уÑпешного Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² Ñто окружение"
msgid "View the performance dashboard at"
msgstr ""
@@ -23132,7 +23635,7 @@ msgid "VisualReviewApp|Cancel"
msgstr ""
msgid "VisualReviewApp|Copy merge request ID"
-msgstr ""
+msgstr "Скопировать ID запроÑа на ÑлиÑние"
msgid "VisualReviewApp|Copy script"
msgstr "Копировать Ñкрипт"
@@ -23180,7 +23683,7 @@ msgid "VulnerabilityChart|%{formattedStartDate} to today"
msgstr ""
msgid "VulnerabilityChart|Severity"
-msgstr ""
+msgstr "СерьёзноÑÑ‚ÑŒ"
msgid "VulnerabilityManagement|A true-positive and will fix"
msgstr ""
@@ -23212,6 +23715,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23242,6 +23754,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23258,7 +23773,7 @@ msgid "Vulnerability|Identifiers"
msgstr ""
msgid "Vulnerability|Image"
-msgstr ""
+msgstr "Образ"
msgid "Vulnerability|Instances"
msgstr ""
@@ -23275,8 +23790,11 @@ msgstr "ПроÑтранÑтво имён"
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
-msgstr "Тип отчета"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
+msgstr ""
msgid "Vulnerability|Severity"
msgstr ""
@@ -23303,7 +23821,7 @@ msgid "Warning: Displaying this diagram might cause performance issues on this p
msgstr ""
msgid "We could not determine the path to remove the epic"
-msgstr ""
+msgstr "Мы не Ñмогли раÑпознать путь Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ð¸"
msgid "We could not determine the path to remove the issue"
msgstr "Мы не можем определить путь Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±ÑуждениÑ"
@@ -23329,9 +23847,15 @@ msgstr "Мы получили ответ от вашего уÑтройÑтва
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr "Мы хотим быть уверены, что Ñто вы, пожалуйÑта, подтвердите, что вы не робот."
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23345,28 +23869,28 @@ msgid "Web terminal"
msgstr "Web терминал"
msgid "WebIDE|Merge request"
-msgstr ""
+msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние"
msgid "Webhook"
-msgstr ""
+msgstr "Веб-обработчик"
msgid "Webhook Logs"
-msgstr ""
+msgstr "Журналы веб-обработчика"
msgid "Webhook Settings"
-msgstr ""
+msgstr "ÐаÑтройки веб-обработчика"
msgid "Webhooks"
-msgstr ""
+msgstr "Веб-обработчики"
msgid "Webhooks Help"
-msgstr ""
+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 "Webhooks have moved. They can now be found under the Settings menu."
-msgstr ""
+msgstr "Веб-обработчики были перемещены. Теперь их можно найти под меню наÑтроек."
msgid "Wednesday"
msgstr "Среда"
@@ -23378,13 +23902,13 @@ msgid "Weeks"
msgstr ""
msgid "Weight"
-msgstr "ВеÑ"
+msgstr "Приоритет"
msgid "Weight %{weight}"
-msgstr "Ð’ÐµÑ %{weight}"
+msgstr "Приоритет %{weight}"
msgid "Welcome back! Your account had been deactivated due to inactivity but is now reactivated."
-msgstr "Добро пожаловать! Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ была деактивирована из-за неактивноÑти, но ÑÐµÐ¹Ñ‡Ð°Ñ Ð²Ð¾ÑÑтановлена."
+msgstr "Добро пожаловать! Ваша ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ была деактивирована из-за неактивноÑти, но ÑÐµÐ¹Ñ‡Ð°Ñ Ð²Ð¾ÑÑтановлена."
msgid "Welcome to GitLab"
msgstr ""
@@ -23396,7 +23920,7 @@ msgid "Welcome to GitLab, %{first_name}!"
msgstr ""
msgid "Welcome to GitLab.com<br>@%{name}!"
-msgstr ""
+msgstr "Добро пожаловать в GitLab.com<br>@%{name}!"
msgid "Welcome to the Guided GitLab Tour"
msgstr ""
@@ -23438,15 +23962,6 @@ msgstr "ИÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ <code>http://</code> или <code>https://</code> пÑ
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23477,9 +23992,6 @@ msgstr ""
msgid "Wiki"
msgstr "Wiki"
-msgid "Wiki pages"
-msgstr "Wiki Ñтраницы"
-
msgid "Wiki was successfully updated."
msgstr "Wiki была уÑпешно обновлена."
@@ -23499,10 +24011,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 "WikiEmptyIssueMessage|Suggest wiki improvement"
msgstr ""
@@ -23559,16 +24071,16 @@ msgid "WikiPageConfirmDelete|Are you sure you want to delete this page?"
msgstr "Ð’Ñ‹ уверены, что вы хотите удалить Ñту Ñтраницу?"
msgid "WikiPageConfirmDelete|Delete page"
-msgstr ""
+msgstr "Удалить Ñтраницу"
msgid "WikiPageConfirmDelete|Delete page %{pageTitle}?"
-msgstr ""
+msgstr "Удалить Ñтраницу %{pageTitle}?"
msgid "WikiPageConflictMessage|Someone edited the page the same time you did. Please check out %{page_link} and make sure your changes will not unintentionally remove theirs."
msgstr "Кто-то редактирует Ñтраницу одновременно Ñ Ð²Ð°Ð¼Ð¸. ПожалуйÑта проверьте %{page_link} и убедитеÑÑŒ, что внеÑенные Вами Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ затрут чужие."
msgid "WikiPageConflictMessage|the page"
-msgstr "Ñтраница"
+msgstr "WikiСтраницаСообщениÑПриКонфликте | Ñтраницы"
msgid "WikiPageCreate|Create %{pageTitle}"
msgstr ""
@@ -23663,6 +24175,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23676,7 +24191,7 @@ msgid "You are about to delete %{domain} from your instance. This domain will no
msgstr ""
msgid "You are about to transfer the control of your account to %{group_name} group. This action is NOT reversible, you won't be able to access any of your groups and projects outside of %{group_name} once this transfer is complete."
-msgstr ""
+msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ передать контроль над вашим аккаунтом группе %{group_name}. Это ÐЕОБРÐТИМО, вы не будете иметь доÑтуп ко вÑем группам и проектам %{group_name}, как только передача будет завершена."
msgid "You are an admin, which means granting access to <strong>%{client_name}</strong> will allow them to interact with GitLab as an admin as well. Proceed with caution."
msgstr ""
@@ -23688,7 +24203,7 @@ msgid "You are attempting to update a file that has changed since you started ed
msgstr "Ð’Ñ‹ пытаетеÑÑŒ обновить файл, который изменилÑÑ Ñ Ñ‚ÐµÑ… пор, как вы начали его редактировать."
msgid "You are connected to the Prometheus server, but there is currently no data to display."
-msgstr ""
+msgstr "Ð’Ñ‹ подключены к Ñерверу Prometheus, но в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½ÐµÑ‚ данных Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ."
msgid "You are going to remove %{group_name}, this will also remove all of its subgroups and projects. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?"
msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ удалить %{group_name}, при Ñтом также удалитÑÑ Ð²Ñе подгруппы и проекты. Удаленные группы ÐЕ МОГУТ быть воÑÑтановлены! Ð’Ñ‹ ÐБСОЛЮТÐО уверены?"
@@ -23724,7 +24239,7 @@ msgid "You are trying to upload something other than an image. Please upload a .
msgstr ""
msgid "You can %{linkStart}view the blob%{linkEnd} instead."
-msgstr ""
+msgstr "ВмеÑто Ñтого вы можете %{linkStart}проÑмотреть бинарные данные%{linkEnd}."
msgid "You can also create a project from the command line."
msgstr "Ð’Ñ‹ также можете Ñоздать проект из командной Ñтроки."
@@ -23739,7 +24254,7 @@ msgid "You can also star a label to make it a priority label."
msgstr ""
msgid "You can also test your %{gitlab_ci_yml} in %{lint_link_start}CI Lint%{lint_link_end}"
-msgstr ""
+msgstr "Вы также можете проверить ваш %{gitlab_ci_yml} в %{lint_link_start}CI Lint%{lint_link_end}"
msgid "You can also upload existing files from your computer using the instructions below."
msgstr "Ð’Ñ‹ также можете загрузить ÑущеÑтвующие файлы Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿Ñ€Ð¸Ð²ÐµÐ´Ñ‘Ð½Ð½Ñ‹Ðµ ниже инÑтрукции."
@@ -23763,7 +24278,7 @@ msgid "You can create new ones at your Personal Access Tokens settings %{pat_lin
msgstr ""
msgid "You can easily contribute to them by requesting to join these groups."
-msgstr "Ð’Ñ‹ можете легко внеÑти Ñвой вклад в них, попроÑив приÑоединить Ð²Ð°Ñ Ðº Ñтим группам."
+msgstr "Ð’Ñ‹ можете легко поучаÑтвовать в них, попроÑив приÑоединитьÑÑ."
msgid "You can easily install a Runner on a Kubernetes cluster. %{link_to_help_page}"
msgstr "Ð’Ñ‹ можете легко уÑтановить Runner в клаÑтер Kubernetes. %{link_to_help_page}"
@@ -23829,7 +24344,7 @@ msgid "You can specify notification level per group or per project."
msgstr "Вы можете указать уровень уведомлений в каждой группе или в проекте."
msgid "You can test your .gitlab-ci.yml in %{linkStart}CI Lint%{linkEnd}."
-msgstr ""
+msgstr "Ð’Ñ‹ можете протеÑтировать Ñвой файл .gitlab-ci.yml Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ %{linkStart}CI Lint%{linkEnd}."
msgid "You can try again using %{begin_link}basic search%{end_link}"
msgstr ""
@@ -23844,7 +24359,7 @@ msgid "You cannot impersonate a user who cannot log in"
msgstr ""
msgid "You cannot impersonate an internal user"
-msgstr ""
+msgstr "Ð’Ñ‹ не можете выдать ÑÐµÐ±Ñ Ð·Ð° внутреннего пользователÑ"
msgid "You cannot play this scheduled pipeline at the moment. Please wait a minute."
msgstr ""
@@ -23858,6 +24373,9 @@ msgstr "Ð’Ñ‹ не можете запиÑывать на Ñтот Ñкземпл
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23874,13 +24392,13 @@ msgid "You do not have permissions to run the import."
msgstr ""
msgid "You do not have the correct permissions to override the settings from the LDAP group sync."
-msgstr ""
+msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ необходимых прав Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² из групповой Ñинхронизации LDAP."
msgid "You don't have any U2F devices registered yet."
-msgstr "У Ð²Ð°Ñ ÐµÑ‰Ðµ нет зарегиÑтрированных U2F уÑтройÑтв."
+msgstr "У Ð²Ð°Ñ ÐµÑ‰Ñ‘ нет зарегиÑтрированных уÑтройÑтв U2F."
msgid "You don't have any active chat names."
-msgstr ""
+msgstr "У Ð²Ð°Ñ Ð½ÐµÑ‚ активных имен в чатах."
msgid "You don't have any applications"
msgstr ""
@@ -23889,7 +24407,7 @@ msgid "You don't have any authorized applications"
msgstr ""
msgid "You don't have any deployments right now."
-msgstr ""
+msgstr "Ðа текущий момент у Ð²Ð°Ñ Ð½ÐµÑ‚ развёртываний."
msgid "You don't have any open merge requests"
msgstr ""
@@ -23924,6 +24442,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23934,7 +24455,7 @@ msgid "You have reached your project limit"
msgstr "Ð’Ñ‹ доÑтигли Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² вашем проекте"
msgid "You have successfully purchased a %{plan} plan subscription for %{seats}. You’ll receive a receipt via email."
-msgstr ""
+msgstr "Ð’Ñ‹ уÑпешно приобрели подпиÑку на план %{plan} на %{seats} меÑÑ‚. Ð’Ñ‹ получите чек по Ñлектронной почте."
msgid "You haven't added any issues to your project yet"
msgstr ""
@@ -23964,16 +24485,16 @@ msgid "You must have permission to create a project in a namespace before forkin
msgstr ""
msgid "You must provide a valid current password"
-msgstr ""
+msgstr "Ð’Ñ‹ должны ввеÑти правильный текущий пароль"
msgid "You must provide your current password in order to change it."
-msgstr ""
+msgstr "Ð”Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð¾ ввеÑти текущий пароль."
msgid "You must select a stack for configuring your cloud provider. Learn more about"
msgstr ""
msgid "You must set up incoming email before it becomes active."
-msgstr ""
+msgstr "Ð’Ñ‹ должны наÑтроить входÑщую почту, прежде чем она Ñтанет активной."
msgid "You must upload a file with the same file name when dropping onto an existing design."
msgstr ""
@@ -23988,7 +24509,7 @@ msgid "You need permission."
msgstr "Вам нужно разрешение."
msgid "You need to be logged in."
-msgstr ""
+msgstr "Вы должны быть авторизованы."
msgid "You need to register a two-factor authentication app before you can set up a U2F device."
msgstr "Вам необходимо зарегиÑтрировать приложение Ð´Ð»Ñ Ð´Ð²ÑƒÑ…Ñ„Ð°ÐºÑ‚Ð¾Ñ€Ð½Ð¾Ð¹ аутентификации, прежде чем вы Ñможете наÑтроить уÑтройÑтво U2F."
@@ -23997,7 +24518,7 @@ msgid "You need to set terms to be enforced"
msgstr ""
msgid "You need to specify both an Access Token and a Host URL."
-msgstr ""
+msgstr "Вам необходимо указать и токен доÑтупа, так и URL хоÑта."
msgid "You need to upload a GitLab project export archive (ending in .gz)."
msgstr "Вам необходимо загрузить ÑкÑпортированный архив проекта GitLab (заканчивающийÑÑ Ð½Ð° .gz)."
@@ -24005,6 +24526,9 @@ msgstr "Вам необходимо загрузить ÑкÑпортироваÐ
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -24021,7 +24545,7 @@ msgid "You will lose all uncommitted changes you've made in this project. This a
msgstr ""
msgid "You will need to update your local repositories to point to the new location."
-msgstr ""
+msgstr "Вам нужно будет обновить ваши локальные репозитории, чтобы указать новое меÑтоположение."
msgid "You will not get any notifications via email"
msgstr "Ð’Ñ‹ не получите никаких уведомлений по Ñлектронной почте"
@@ -24042,7 +24566,7 @@ msgid "You won't be able to pull or push project code via %{protocol} until you
msgstr "Ð’Ñ‹ не Ñможете получать и отправлÑÑ‚ÑŒ код в данный проект через %{protocol} пока не %{set_password_link} в вашей учетной запиÑи"
msgid "You won't be able to pull or push project code via SSH until you add an SSH key to your profile"
-msgstr "Ð’Ñ‹ не Ñможете работать Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð¼ через SSH, пока не добавите в Ñвой профиль SSH ключ"
+msgstr "Ð’Ñ‹ не Ñможете работать Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð¼ через SSH, пока не добавите в Ñвой профиль ключ SSH"
msgid "You'll be signed out from your current account automatically."
msgstr ""
@@ -24051,7 +24575,7 @@ msgid "You'll need to use different branch names to get a valid comparison."
msgstr "Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð³Ð¾ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð²Ð°Ð¼ нужно иÑпользовать разные имена веток."
msgid "You're about to reduce the visibility of the project %{strong_start}%{project_name}%{strong_end} in %{strong_start}%{group_name}%{strong_end}."
-msgstr ""
+msgstr "Ð’Ñ‹ ÑобираетеÑÑŒ уменьшить облаÑÑ‚ÑŒ видимоÑти проекта %{strong_start}%{project_name}%{strong_end} в %{strong_start}%{group_name}%{strong_end}."
msgid "You're about to reduce the visibility of the project %{strong_start}%{project_name}%{strong_end}."
msgstr ""
@@ -24089,12 +24613,24 @@ msgstr "Вы уже включили двухфакторную аутентиф
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
-msgid "Your Commit Email will be used for web based operations, such as edits and merges."
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
msgstr ""
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your Commit Email will be used for web based operations, such as edits and merges."
+msgstr "Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼Ð¸Ñ‚Ð¾Ð² будет иÑпользоватьÑÑ Ð´Ð»Ñ Ð²ÐµÐ±-операций, таких как редактирование и ÑлиÑние."
+
msgid "Your Default Notification Email will be used for account notifications if a %{openingTag}group-specific email address%{closingTag} is not set."
msgstr ""
@@ -24102,13 +24638,13 @@ msgid "Your DevOps Score gives an overview of how you are using GitLab from a fe
msgstr ""
msgid "Your GPG keys (%{count})"
-msgstr "Ваши GPG ключи (%{count})"
+msgstr "Ваши ключи GPG (%{count})"
msgid "Your GitLab group"
msgstr ""
msgid "Your Gitlab Gold trial will last 30 days after which point you can keep your free Gitlab account forever. We just need some additional information to activate your trial."
-msgstr ""
+msgstr "Ваша пробный период GitLab Gold продлитÑÑ 30 дней, поÑле которых вы будете иметь возможноÑÑ‚ÑŒ оÑтавить Ñвой беÑплатный аккаунт GitLab навÑегда. Ðам потребуетÑÑ Ð»Ð¸ÑˆÑŒ немного дополнительной информации, чтобы активировать ваш пробный период."
msgid "Your Groups"
msgstr "Ваши Группы"
@@ -24120,7 +24656,7 @@ msgid "Your Personal Access Tokens will expire in %{days_to_expire} days or less
msgstr ""
msgid "Your Primary Email will be used for avatar detection."
-msgstr ""
+msgstr "Ваш оÑновной email будет иÑпользоватьÑÑ Ð´Ð»Ñ Ð¾Ð±Ð½Ð°Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð°Ð²Ð°Ñ‚Ð°Ñ€Ð°."
msgid "Your Projects (default)"
msgstr "Ваши проекты (по умолчанию)"
@@ -24129,10 +24665,10 @@ msgid "Your Projects' Activity"
msgstr "ÐктивноÑÑ‚ÑŒ ваших проектов"
msgid "Your Public Email will be displayed on your public profile."
-msgstr ""
+msgstr "Ваш публичный email будет отображатьÑÑ Ð² вашем профиле."
msgid "Your SSH keys (%{count})"
-msgstr "Ваши SSH ключи (%{count})"
+msgstr "Ваши ключи SSH (%{count})"
msgid "Your To-Do List"
msgstr ""
@@ -24150,7 +24686,7 @@ msgid "Your access request to the %{source_type} has been withdrawn."
msgstr "Ваш Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð´Ð¾Ñтупа к %{source_type} был отозван."
msgid "Your account has been deactivated by your administrator. Please log back in to reactivate your account."
-msgstr ""
+msgstr "Ваша ÑƒÑ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ была деактивирована админиÑтратором. ПожалуйÑта Ñнова войдите в ÑиÑтему Ð´Ð»Ñ Ñ€ÐµÐ°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¸ вашей учётной запиÑи."
msgid "Your account is locked."
msgstr ""
@@ -24188,17 +24724,20 @@ msgstr "Ваш комментарий не может быть отправлеÐ
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr "Ваш комментарий не может быть обновлен! ПожалуйÑта, проверьте подключение к Ñети и повторите попытку."
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
msgid "Your dashboard has been copied. You can %{web_ide_link_start}edit it here%{web_ide_link_end}."
-msgstr ""
+msgstr "Ваша панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð° Ñкопирована. Ð’Ñ‹ можете %{web_ide_link_start}отредактировать Ñто здеÑÑŒ%{web_ide_link_end}."
msgid "Your dashboard has been updated. You can %{web_ide_link_start}edit it here%{web_ide_link_end}."
-msgstr ""
+msgstr "Ваша панель ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð° обновлена. Ð’Ñ‹ можете %{web_ide_link_start}отредактировать её здеÑÑŒ%{web_ide_link_end}."
msgid "Your deployment services will be broken, you will need to manually fix the services after renaming."
-msgstr ""
+msgstr "Ваши Ñлужбы Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ ÑломаютÑÑ, и вам нужно будет вручную иÑправить Ñлужбы поÑле переименованиÑ."
msgid "Your device was successfully set up! Give it a name and register it with the GitLab server."
msgstr "Ваше уÑтройÑтво было уÑпешно наÑтроено! Дайте ему Ð¸Ð¼Ñ Ð¸ зарегиÑтрируйте его на Ñервере GitLab."
@@ -24227,6 +24766,9 @@ msgstr "Ваш новый токен SCIM"
msgid "Your new personal access token has been created."
msgstr "Ваш новый перÑональный токен доÑтупа был Ñоздан."
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24245,12 +24787,18 @@ msgstr "Ваши проекты"
msgid "Your request for access has been queued for review."
msgstr "Ваш Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° доÑтуп был поÑтавлен в очередь на проверку."
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24291,8 +24839,8 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
-msgstr "уже иÑпользуетÑÑ Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ группы или Ñтапа проекта."
+msgid "already being used for another group or project %{timebox_name}."
+msgstr ""
msgid "already has a \"created\" issue link"
msgstr ""
@@ -24369,6 +24917,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24471,10 +25022,10 @@ msgid "ciReport|Container Scanning"
msgstr "Сканирование контейнеров"
msgid "ciReport|Container scanning"
-msgstr ""
+msgstr "Сканирование контейнера"
msgid "ciReport|Container scanning detects known vulnerabilities in your docker images."
-msgstr ""
+msgstr "Сканирование контейнеров обнаруживает извеÑтные уÑзвимоÑти в ваших образах Docker."
msgid "ciReport|Create a merge request to implement this solution, or download and apply the patch manually."
msgstr ""
@@ -24513,7 +25064,7 @@ msgid "ciReport|Found %{issuesWithCount}"
msgstr ""
msgid "ciReport|Investigate this vulnerability by creating an issue"
-msgstr ""
+msgstr "РаÑÑледуйте Ñту уÑзвимоÑÑ‚ÑŒ, вынеÑÑ Ð½Ð° обÑуждение"
msgid "ciReport|Learn more about interacting with security reports"
msgstr ""
@@ -24542,6 +25093,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24595,7 +25152,7 @@ msgid "confidentiality|You are going to turn on the confidentiality. This means
msgstr ""
msgid "connecting"
-msgstr ""
+msgstr "подключение"
msgid "container_name cannot be larger than %{max_length} chars"
msgstr ""
@@ -24687,7 +25244,7 @@ msgid "error code:"
msgstr ""
msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command."
-msgstr ""
+msgstr "%{slash_command} обновит раÑчетное Ð²Ñ€ÐµÐ¼Ñ Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ поÑледней команды."
msgid "exceeds the limit of %{bytes} bytes"
msgstr ""
@@ -24747,6 +25304,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24821,7 +25381,7 @@ msgid "is not a valid X509 certificate."
msgstr ""
msgid "is not allowed. Try again with a different email address, or contact your GitLab admin."
-msgstr ""
+msgstr "не разрешено. Попробуйте ещё раз Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ адреÑом Ñлектронной почты или ÑвÑжитеÑÑŒ Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратором GitLab."
msgid "is not an email you own"
msgstr "не Ñ Ñлектронной почты, которой вы владеете"
@@ -24872,7 +25432,7 @@ msgid "latest"
msgstr "поÑледние"
msgid "latest deployment"
-msgstr ""
+msgstr "поÑледнее развертывание"
msgid "latest version"
msgstr "поÑледнÑÑ Ð²ÐµÑ€ÑиÑ"
@@ -24899,7 +25459,7 @@ msgid "manual"
msgstr "ручной"
msgid "math|The math in this entry is taking too long to render and may not be displayed as expected. For performance reasons, math blocks are also limited to %{maxChars} characters. Consider splitting up large formulae, splitting math blocks among multiple entries, or using an image instead."
-msgstr ""
+msgstr "МатематичеÑÐºÐ°Ñ ÑоÑтавлÑÑŽÑ‰Ð°Ñ Ñтой запиÑи занимает Ñлишком долго рендеритÑÑ Ð¸ может отображатьÑÑ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾. Ð”Ð»Ñ Ð»ÑƒÑ‡ÑˆÐµÐ¹ производительноÑти, математичеÑкие блоки также ограничены %{maxChars} Ñимволами. Попробуйте разделить большие формулы, разделить математичеÑкие блоки на неÑколько запиÑей или иÑпользовать вмеÑто них изображение."
msgid "math|There was an error rendering this math block"
msgstr ""
@@ -24914,14 +25474,11 @@ msgstr[3] "запроÑов на ÑлиÑние"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr "Ñтап должен принадлежать либо проекту, либо группе."
-
msgid "missing"
msgstr "отÑутÑтвует"
msgid "most recent deployment"
-msgstr ""
+msgstr "наиболее недавнее развёртывание"
msgid "mrWidgetCommitsAdded|%{commitCount} and %{mergeCommitCount} will be added to %{targetBranch}."
msgstr "%{commitCount} и %{mergeCommitCount} будут добавлены в %{targetBranch}."
@@ -24942,19 +25499,19 @@ msgid "mrWidgetNothingToMerge|Merge requests are a place to propose changes you
msgstr ""
msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch"
-msgstr ""
+msgstr " ПожалуйÑта, воÑÑтановите её или иÑпользуйте другую ветку %{missingBranchName}"
msgid "mrWidget|%{link_start}Learn more about resolving conflicts%{link_end}"
msgstr "%{link_start}подробнее о разрешении конфликтов%{link_end}"
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB"
-msgstr ""
+msgstr "Потребление %{metricsLinkStart} памÑти %{metricsLinkEnd} %{emphasisStart} уменьшено %{emphasisEnd} Ñ %{memoryFrom}Мбайт до %{memoryTo}Мбайт"
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB"
-msgstr ""
+msgstr "Потребление %{metricsLinkStart} памÑти %{metricsLinkEnd} %{emphasisStart} увеличелоÑÑŒ %{emphasisEnd} Ñ %{memoryFrom}Мбайт до %{memoryTo}Мбайт"
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
-msgstr ""
+msgstr "Потребление %{metricsLinkStart} памÑти %{metricsLinkEnd} оÑталоÑÑŒ %{emphasisStart} неизменным %{emphasisEnd} на %{memoryFrom}Мбайт"
msgid "mrWidget|%{prefixToLinkStart}No pipeline%{prefixToLinkEnd} %{addPipelineLinkStart}Add the .gitlab-ci.yml file%{addPipelineLinkEnd} to create one."
msgstr ""
@@ -24993,25 +25550,25 @@ msgid "mrWidget|Cancel automatic merge"
msgstr "Отменить автоматичеÑкое ÑлиÑние"
msgid "mrWidget|Check out branch"
-msgstr ""
+msgstr "Проверить ветку"
msgid "mrWidget|Checking ability to merge automatically…"
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|Create an issue to resolve them later"
msgstr "Создать обÑуждение Ð´Ð»Ñ ÐµÐ³Ð¾ поÑледующего решениÑ"
@@ -25020,19 +25577,19 @@ msgid "mrWidget|Delete source branch"
msgstr ""
msgid "mrWidget|Deployment statistics are not available currently"
-msgstr ""
+msgstr "Ðа данный момент ÑтатиÑтика Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна"
msgid "mrWidget|Detect issues before deployment with a CI pipeline"
msgstr ""
msgid "mrWidget|Did not close"
-msgstr ""
+msgstr "Ðе закрыт"
msgid "mrWidget|Email patches"
-msgstr ""
+msgstr "Патчи по Ñлектронной почте"
msgid "mrWidget|Failed to load deployment statistics"
-msgstr ""
+msgstr "Ðе удалоÑÑŒ загрузить ÑтатиÑтику развёртываниÑ"
msgid "mrWidget|Fast-forward merge is not possible. To merge this request, first rebase locally."
msgstr ""
@@ -25041,31 +25598,31 @@ msgid "mrWidget|Fork merge requests do not create merge request pipelines which
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 ""
msgid "mrWidget|In the merge train at position %{mergeTrainPosition}"
-msgstr ""
+msgstr "Добавлено в цепочку ÑлиÑÐ½Ð¸Ñ Ð½Ð° позицию %{mergeTrainPosition}"
msgid "mrWidget|Loading deployment statistics"
-msgstr ""
+msgstr "Загрузка ÑтатиÑтики развертываниÑ"
msgid "mrWidget|Mentions"
-msgstr ""
+msgstr "УпоминаниÑ"
msgid "mrWidget|Merge"
-msgstr ""
+msgstr "Слить"
msgid "mrWidget|Merge failed."
-msgstr ""
+msgstr "СлиÑние не удалоÑÑŒ."
msgid "mrWidget|Merge failed: %{mergeError}. Please try again."
-msgstr "СлиÑние не удалоÑÑŒ: %{mergeError}. ПожалуйÑта, попробуйте еще раз."
+msgstr "СлиÑние не удалоÑÑŒ: %{mergeError}. ПожалуйÑта, попробуйте ещё раз."
msgid "mrWidget|Merge locally"
-msgstr ""
+msgstr "Слить локально"
msgid "mrWidget|Merge request approved."
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние одобрен."
@@ -25083,19 +25640,19 @@ msgid "mrWidget|No approval required; you can still approve"
msgstr ""
msgid "mrWidget|Open in Web IDE"
-msgstr ""
+msgstr "Открыть в Web IDE"
msgid "mrWidget|Pipeline blocked. The pipeline for this merge request requires a manual action to proceed"
msgstr ""
msgid "mrWidget|Plain diff"
-msgstr ""
+msgstr "Обычное отличие"
msgid "mrWidget|Ready to be merged automatically. Ask someone with write access to this repository to merge this request"
-msgstr ""
+msgstr "Готово к автоматичеÑкому ÑлиÑнию. ПопроÑите кого-нибудь Ñ Ð¿Ñ€Ð°Ð²Ð¾Ð¼ запиÑи в Ñтот репозиторий Ñделать ÑлиÑние данного запроÑа"
msgid "mrWidget|Refresh"
-msgstr ""
+msgstr "Обновить"
msgid "mrWidget|Refresh now"
msgstr "Обновить ÑейчаÑ"
@@ -25107,7 +25664,7 @@ msgid "mrWidget|Remove from merge train"
msgstr ""
msgid "mrWidget|Request to merge"
-msgstr ""
+msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние"
msgid "mrWidget|Resolve WIP status"
msgstr ""
@@ -25116,34 +25673,34 @@ msgid "mrWidget|Resolve conflicts"
msgstr "Разрешить конфликты"
msgid "mrWidget|Resolve these conflicts or ask someone with write access to this repository to merge it locally"
-msgstr ""
+msgstr "Разрешите Ñти конфликты или попроÑите кого-нибудь Ñ Ð´Ð¾Ñтупом на запиÑÑŒ в Ñтот репозиторий Ñлить его локально"
msgid "mrWidget|Revert"
-msgstr ""
+msgstr "Откатить"
msgid "mrWidget|Revert this merge request in a new merge request"
-msgstr ""
+msgstr "Откатить Ñтот Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние в новом запроÑе"
msgid "mrWidget|Revoke approval"
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 pipeline for this merge request failed. Please retry the job or push a new commit to fix the failure"
msgstr ""
msgid "mrWidget|The source branch HEAD has recently changed. Please reload the page and review the changes before merging"
-msgstr ""
+msgstr "СÑылка HEAD иÑходной ветви недавно изменилаÑÑŒ. ПожалуйÑта, обновите Ñтраницу и проÑмотрите Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ ÑлиÑнием"
msgid "mrWidget|The source branch has been deleted"
msgstr ""
@@ -25152,28 +25709,28 @@ msgid "mrWidget|The source branch is %{commitsBehindLinkStart}%{commitsBehind}%{
msgstr ""
msgid "mrWidget|The source branch is being deleted"
-msgstr ""
+msgstr "ИÑÑ…Ð¾Ð´Ð½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° удалÑетÑÑ"
msgid "mrWidget|The source branch will be deleted"
-msgstr ""
+msgstr "ИÑÑ…Ð¾Ð´Ð½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° будет удалена"
msgid "mrWidget|The source branch will not be deleted"
-msgstr ""
+msgstr "ИÑÑ…Ð¾Ð´Ð½Ð°Ñ Ð²ÐµÑ‚ÐºÐ° не будет удалена"
msgid "mrWidget|There are merge conflicts"
-msgstr ""
+msgstr "ЕÑÑ‚ÑŒ конфликты ÑлиÑниÑ"
msgid "mrWidget|There are unresolved threads. Please resolve these threads"
-msgstr ""
+msgstr "ЕÑÑ‚ÑŒ неразрешенные темы. ПожалуйÑта, разрешите их"
msgid "mrWidget|This feature merges changes from the target branch to the source branch. You cannot use this feature since the source branch is protected."
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 merge request will be added to the merge train when pipeline %{linkStart}#%{pipelineId}%{linkEnd} succeeds."
msgstr ""
@@ -25197,7 +25754,7 @@ msgid "mrWidget|You can delete the source branch now"
msgstr "Ð’Ñ‹ можете удалить иÑходную ветку прÑмо ÑейчаÑ"
msgid "mrWidget|You can merge this merge request manually using the"
-msgstr ""
+msgstr "Ð’Ñ‹ можете выполнить Ñтот Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние вручную Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ"
msgid "mrWidget|Your password"
msgstr "Ваш пароль"
@@ -25206,13 +25763,13 @@ msgid "mrWidget|a quick guide that'll show you how to create"
msgstr ""
msgid "mrWidget|branch does not exist."
-msgstr ""
+msgstr "ветка не ÑущеÑтвует."
msgid "mrWidget|command line"
msgstr "командную Ñтроку"
msgid "mrWidget|into"
-msgstr ""
+msgstr "в"
msgid "mrWidget|one. Make your code more secure and more"
msgstr ""
@@ -25227,7 +25784,7 @@ msgid "mrWidget|to be added to the merge train when the pipeline succeeds"
msgstr "будет добавлен в цепочку ÑлиÑÐ½Ð¸Ñ Ð¿Ñ€Ð¸ уÑпешном выполнении Ñборочной линии"
msgid "mrWidget|to be merged automatically when the pipeline succeeds"
-msgstr ""
+msgstr "будет Ñлито автоматичеÑки, еÑли ÑÐ±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑÑ ÑƒÑпешно"
msgid "mrWidget|to start a merge train when the pipeline succeeds"
msgstr ""
@@ -25239,18 +25796,21 @@ msgid "n/a"
msgstr "н/д"
msgid "need attention"
-msgstr ""
+msgstr "требуют вниманиÑ"
msgid "needs to be between 10 minutes and 1 month"
-msgstr ""
+msgstr "должно быть от 10 минут до 1 меÑÑца"
msgid "never expires"
-msgstr ""
+msgstr "никогда не иÑтекает"
msgid "new merge request"
msgstr "новый Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние"
msgid "no contributions"
+msgstr "не учаÑтвовали"
+
+msgid "no expiration"
msgstr ""
msgid "no one can merge"
@@ -25309,6 +25869,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25341,6 +25904,12 @@ msgstr[3] "проектов"
msgid "project avatar"
msgstr "логотип проекта"
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr "быÑтрые дейÑтвиÑ"
@@ -25363,13 +25932,13 @@ msgid "remove due date"
msgstr "удалить дату завершениÑ"
msgid "remove weight"
-msgstr ""
+msgstr "удалить приоритет"
msgid "removed a Zoom call from this issue"
msgstr ""
msgid "rendered diff"
-msgstr ""
+msgstr "отображенное отличие"
msgid "reply"
msgid_plural "replies"
@@ -25418,37 +25987,37 @@ msgid "should be greater than or equal to %{access} inherited membership from gr
msgstr ""
msgid "show %{count} more"
-msgstr ""
+msgstr "показать еще %{count}"
msgid "show fewer"
-msgstr ""
+msgstr "показать меньше"
msgid "show less"
msgstr "Ñвернуть"
msgid "sign in"
-msgstr ""
+msgstr "войти"
msgid "sort:"
-msgstr ""
+msgstr "Ñортировка:"
msgid "source"
msgstr "иÑходный текÑÑ‚"
msgid "source diff"
-msgstr ""
+msgstr "отличиÑ"
msgid "specified top is not part of the tree"
msgstr "ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð°Ñ Ð²ÐµÑ€ÑˆÐ¸Ð½Ð° не ÑвлÑетÑÑ Ñ‡Ð°Ñтью дерева"
msgid "spendCommand|%{slash_command} will update the sum of the time spent."
-msgstr ""
+msgstr "%{slash_command} обновит Ñумму потраченного времени."
msgid "started"
msgstr "запущено"
msgid "started a discussion on %{design_link}"
-msgstr ""
+msgstr "начата диÑкуÑÑÐ¸Ñ Ð¿Ð¾ %{design_link}"
msgid "started on %{milestone_start_date}"
msgstr "началоÑÑŒ Ñ %{milestone_start_date}"
@@ -25457,7 +26026,7 @@ msgid "starts on %{milestone_start_date}"
msgstr "начинаетÑÑ Ñ %{milestone_start_date}"
msgid "stuck"
-msgstr ""
+msgstr "заÑÑ‚Ñ€Ñл"
msgid "success"
msgstr "уÑпешно"
@@ -25475,27 +26044,20 @@ msgid "suggestPipeline|We recommend the %{boldStart}Code Quality%{boldEnd} templ
msgstr ""
msgid "syntax is correct"
-msgstr ""
+msgstr "ÑинтакÑÐ¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹"
msgid "syntax is incorrect"
-msgstr ""
+msgstr "ÑинтакÑÐ¸Ñ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¹"
msgid "tag name"
msgstr "название тега"
msgid "the following issue(s)"
-msgstr ""
+msgstr "Ñледующее(ие) обÑуждение(Ñ)"
msgid "this document"
msgstr "Ñтот документ"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "to help your contributors communicate effectively!"
msgstr "чтобы помочь вашим учаÑтникам взаимодейÑтвовать Ñффективнее!"
@@ -25518,7 +26080,7 @@ msgid "updated"
msgstr "обновлено"
msgid "updated %{timeAgo}"
-msgstr ""
+msgstr "обновлено %{timeAgo}"
msgid "updated %{time_ago}"
msgstr "обновлено %{time_ago}"
@@ -25530,19 +26092,19 @@ msgid "username"
msgstr "Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ"
msgid "uses Kubernetes clusters to deploy your code!"
-msgstr ""
+msgstr "иÑпользует клаÑтеры Kubernetes Ð´Ð»Ñ Ñ€Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ кода!"
msgid "verify ownership"
-msgstr ""
+msgstr "подтвердить право ÑобÑтвенноÑти"
msgid "version %{versionIndex}"
-msgstr ""
+msgstr "верÑÐ¸Ñ %{versionIndex}"
msgid "via %{closed_via}"
-msgstr ""
+msgstr "через %{closed_via}"
msgid "via merge request %{link}"
-msgstr ""
+msgstr "через Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние %{link}"
msgid "view it on GitLab"
msgstr "проÑмотреть Ñто на GitLab"
@@ -25550,9 +26112,12 @@ msgstr "проÑмотреть Ñто на GitLab"
msgid "view the blob"
msgstr "проÑмотреть бинарные данные"
-msgid "vulnerability|Add a comment or reason for dismissal"
+msgid "vulnerability|Add a comment"
msgstr ""
+msgid "vulnerability|Add a comment or reason for dismissal"
+msgstr "Добавить комментарий или причину отклонениÑ"
+
msgid "vulnerability|Add comment"
msgstr "Добавить комментарий"
@@ -25560,29 +26125,29 @@ msgid "vulnerability|Add comment & dismiss"
msgstr "Добавить комментарий и отклонить"
msgid "vulnerability|Dismiss vulnerability"
-msgstr ""
+msgstr "ПропуÑтить уÑзвимоÑÑ‚ÑŒ"
msgid "vulnerability|Save comment"
-msgstr ""
+msgstr "Сохранить комментарий"
msgid "vulnerability|Undo dismiss"
-msgstr ""
+msgstr "Отменить отклонение"
msgid "vulnerability|dismissed"
-msgstr ""
+msgstr "отклонено"
msgid "wiki page"
-msgstr ""
+msgstr "wiki-Ñтраница"
msgid "with %{additions} additions, %{deletions} deletions."
-msgstr ""
+msgstr "Ñ %{additions} добавлениÑми, %{deletions} удалениÑми."
msgid "with expiry changing from %{old_expiry} to %{new_expiry}"
-msgstr ""
+msgstr "Ñ Ð¸Ñтечением, изменившимÑÑ Ñ %{old_expiry} на %{new_expiry}"
msgid "with expiry remaining unchanged at %{old_expiry}"
-msgstr ""
+msgstr "Ñ Ð¾ÑтавшимÑÑ Ð¸Ñтечением, неизменным на %{old_expiry}"
msgid "yaml invalid"
-msgstr ""
+msgstr "неверный YAML"
diff --git a/locale/sk_SK/gitlab.po b/locale/sk_SK/gitlab.po
index c7573f21cc8..57ed9829c0c 100644
--- a/locale/sk_SK/gitlab.po
+++ b/locale/sk_SK/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: sk\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:27\n"
+"PO-Revision-Date: 2020-05-05 21:35\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -272,6 +272,13 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -443,6 +450,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -455,6 +465,13 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -590,6 +607,9 @@ msgstr[3] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -903,12 +923,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -942,6 +968,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1158,6 +1187,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1167,6 +1202,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1411,6 +1449,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1784,6 +1825,72 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1853,6 +1960,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1871,6 +1981,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1979,6 +2092,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -2060,6 +2176,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2297,6 +2416,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2520,10 +2642,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2553,6 +2675,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2731,6 +2856,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2771,6 +2899,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -3053,9 +3202,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3185,6 +3331,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3404,6 +3553,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3524,6 +3676,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3692,6 +3847,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3728,9 +3886,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3746,9 +3901,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4199,9 +4351,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4589,6 +4738,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4895,6 +5050,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4991,6 +5155,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5421,18 +5591,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5580,9 +5765,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5595,6 +5786,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5604,18 +5798,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5637,9 +5825,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5655,12 +5840,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5677,22 +5874,22 @@ msgstr[3] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5701,16 +5898,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5731,16 +5937,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5995,7 +6201,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -6010,6 +6216,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -6067,6 +6276,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6172,6 +6384,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6193,6 +6408,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6551,6 +6769,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6929,6 +7150,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7082,6 +7306,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7602,9 +7829,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8226,9 +8450,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8238,6 +8459,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8289,6 +8513,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8343,6 +8570,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8352,9 +8582,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8496,6 +8723,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8700,12 +8930,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8775,9 +9011,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8817,6 +9050,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8826,7 +9062,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8850,6 +9086,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9225,7 +9467,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9237,12 +9482,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9531,10 +9782,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9576,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9591,6 +9845,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9621,7 +9878,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9648,6 +9908,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9687,16 +9950,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9708,9 +9971,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9735,9 +10004,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9774,7 +10040,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9783,7 +10049,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10125,9 +10391,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10572,6 +10835,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10650,6 +10916,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10919,15 +11188,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10991,6 +11257,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -11030,6 +11299,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11141,6 +11413,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11207,6 +11482,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11556,15 +11834,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11586,10 +11864,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11643,6 +11921,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -12034,6 +12315,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -12046,6 +12330,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12387,9 +12674,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12540,9 +12824,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12573,6 +12854,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12837,6 +13121,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12990,6 +13277,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13099,12 +13392,15 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13135,9 +13431,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13216,6 +13509,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13665,10 +13961,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13728,6 +14024,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13866,15 +14165,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13998,6 +14288,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14169,6 +14462,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14272,9 +14568,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14377,6 +14670,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14428,6 +14724,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14449,6 +14748,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14482,6 +14784,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14491,6 +14799,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14509,12 +14820,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14551,6 +14868,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14566,6 +14886,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14659,6 +14982,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14674,9 +15000,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14707,7 +15030,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14788,9 +15111,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14800,6 +15120,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14878,15 +15201,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14908,10 +15222,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15142,6 +15459,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15187,6 +15507,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15304,7 +15627,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15325,10 +15648,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15361,6 +15684,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16189,6 +16515,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16252,6 +16581,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16471,13 +16803,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16663,6 +16995,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16687,6 +17022,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16889,6 +17227,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17268,9 +17609,31 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17376,7 +17739,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17564,6 +17927,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17634,6 +18000,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17682,6 +18051,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17736,6 +18108,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17820,12 +18195,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17883,6 +18264,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -18044,13 +18428,6 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -18065,6 +18442,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -18092,184 +18472,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18281,6 +18709,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18686,9 +19117,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18773,6 +19201,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -19089,6 +19520,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19230,6 +19664,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19515,6 +19952,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19638,6 +20078,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19647,18 +20090,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19716,6 +20171,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -20064,6 +20525,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20217,6 +20684,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20529,6 +20999,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20850,6 +21323,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20865,7 +21341,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20928,6 +21404,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20964,6 +21443,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -21105,6 +21587,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21303,7 +21791,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21333,10 +21824,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21369,7 +21860,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21438,6 +21929,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21626,7 +22120,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21833,7 +22327,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21995,6 +22489,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -22088,6 +22585,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -23035,6 +23535,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23212,6 +23715,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23242,6 +23754,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23275,7 +23790,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23329,9 +23847,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23438,15 +23962,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23477,9 +23992,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23663,6 +24175,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23858,6 +24373,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23924,6 +24442,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -24005,6 +24526,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -24089,9 +24613,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24188,6 +24724,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24227,6 +24766,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24245,12 +24787,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24291,7 +24839,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24369,6 +24917,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24542,6 +25093,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24747,6 +25304,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24914,9 +25474,6 @@ msgstr[3] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25253,6 +25810,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25309,6 +25869,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25341,6 +25904,12 @@ msgstr[3] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25489,13 +26058,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25550,6 +26112,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/sl_SI/gitlab.po b/locale/sl_SI/gitlab.po
index 0efa281f6c2..283b8912e67 100644
--- a/locale/sl_SI/gitlab.po
+++ b/locale/sl_SI/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: sl\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:27\n"
+"PO-Revision-Date: 2020-05-05 21:34\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -272,6 +272,13 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -443,6 +450,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -455,6 +465,13 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -590,6 +607,9 @@ msgstr[3] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -903,12 +923,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -942,6 +968,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1158,6 +1187,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1167,6 +1202,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1411,6 +1449,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1784,6 +1825,72 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1853,6 +1960,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1871,6 +1981,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1979,6 +2092,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -2060,6 +2176,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2297,6 +2416,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2520,10 +2642,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2553,6 +2675,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2731,6 +2856,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2771,6 +2899,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -3053,9 +3202,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3185,6 +3331,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3404,6 +3553,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3524,6 +3676,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3692,6 +3847,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3728,9 +3886,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3746,9 +3901,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4199,9 +4351,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4589,6 +4738,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4895,6 +5050,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4991,6 +5155,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5421,18 +5591,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5580,9 +5765,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5595,6 +5786,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5604,18 +5798,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5637,9 +5825,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5655,12 +5840,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5677,22 +5874,22 @@ msgstr[3] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5701,16 +5898,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5731,16 +5937,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5995,7 +6201,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -6010,6 +6216,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -6067,6 +6276,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6172,6 +6384,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6193,6 +6408,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6551,6 +6769,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6929,6 +7150,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7082,6 +7306,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7602,9 +7829,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8226,9 +8450,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8238,6 +8459,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8289,6 +8513,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8343,6 +8570,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8352,9 +8582,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8496,6 +8723,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8700,12 +8930,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8775,9 +9011,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8817,6 +9050,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8826,7 +9062,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8850,6 +9086,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9225,7 +9467,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9237,12 +9482,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9531,10 +9782,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9576,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9591,6 +9845,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9621,7 +9878,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9648,6 +9908,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9687,16 +9950,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9708,9 +9971,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9735,9 +10004,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9774,7 +10040,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9783,7 +10049,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10125,9 +10391,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10572,6 +10835,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10650,6 +10916,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10919,15 +11188,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10991,6 +11257,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -11030,6 +11299,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11141,6 +11413,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11207,6 +11482,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11556,15 +11834,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11586,10 +11864,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11643,6 +11921,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -12034,6 +12315,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -12046,6 +12330,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12387,9 +12674,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12540,9 +12824,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12573,6 +12854,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12837,6 +13121,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12990,6 +13277,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13099,12 +13392,15 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13135,9 +13431,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13216,6 +13509,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13665,10 +13961,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13728,6 +14024,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13866,15 +14165,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13998,6 +14288,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14169,6 +14462,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14272,9 +14568,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14377,6 +14670,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14428,6 +14724,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14449,6 +14748,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14482,6 +14784,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14491,6 +14799,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14509,12 +14820,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14551,6 +14868,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14566,6 +14886,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14659,6 +14982,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14674,9 +15000,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14707,7 +15030,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14788,9 +15111,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14800,6 +15120,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14878,15 +15201,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14908,10 +15222,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15142,6 +15459,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15187,6 +15507,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15304,7 +15627,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15325,10 +15648,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15361,6 +15684,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16189,6 +16515,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16252,6 +16581,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16471,13 +16803,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16663,6 +16995,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16687,6 +17022,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16889,6 +17227,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17268,9 +17609,31 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17376,7 +17739,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17564,6 +17927,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17634,6 +18000,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17682,6 +18051,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17736,6 +18108,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17820,12 +18195,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17883,6 +18264,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -18044,13 +18428,6 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -18065,6 +18442,9 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -18092,184 +18472,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18281,6 +18709,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18686,9 +19117,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18773,6 +19201,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -19089,6 +19520,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19230,6 +19664,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19515,6 +19952,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19638,6 +20078,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19647,18 +20090,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19716,6 +20171,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -20064,6 +20525,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20217,6 +20684,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20529,6 +20999,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20850,6 +21323,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20865,7 +21341,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20928,6 +21404,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20964,6 +21443,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -21105,6 +21587,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21303,7 +21791,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21333,10 +21824,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21369,7 +21860,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21438,6 +21929,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21626,7 +22120,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21833,7 +22327,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21995,6 +22489,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -22088,6 +22585,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -23035,6 +23535,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23212,6 +23715,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23242,6 +23754,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23275,7 +23790,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23329,9 +23847,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23438,15 +23962,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23477,9 +23992,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23663,6 +24175,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23858,6 +24373,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23924,6 +24442,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -24005,6 +24526,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -24089,9 +24613,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24188,6 +24724,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24227,6 +24766,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24245,12 +24787,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24291,7 +24839,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24369,6 +24917,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24542,6 +25093,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24747,6 +25304,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24914,9 +25474,6 @@ msgstr[3] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25253,6 +25810,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25309,6 +25869,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25341,6 +25904,12 @@ msgstr[3] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25489,13 +26058,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25550,6 +26112,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/sq_AL/gitlab.po b/locale/sq_AL/gitlab.po
index b4854a29402..0aac7350673 100644
--- a/locale/sq_AL/gitlab.po
+++ b/locale/sq_AL/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: sq\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:25\n"
+"PO-Revision-Date: 2020-05-05 21:36\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/sr_CS/gitlab.po b/locale/sr_CS/gitlab.po
index faca2e9cd51..b50e11c7485 100644
--- a/locale/sr_CS/gitlab.po
+++ b/locale/sr_CS/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: sr-CS\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:27\n"
+"PO-Revision-Date: 2020-05-05 21:34\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -242,6 +242,12 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -407,6 +413,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -419,6 +428,12 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -548,6 +563,9 @@ msgstr[2] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -842,12 +860,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -881,6 +905,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1097,6 +1124,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1106,6 +1139,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1349,6 +1385,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1721,6 +1760,72 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1790,6 +1895,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1808,6 +1916,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1916,6 +2027,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1997,6 +2111,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2234,6 +2351,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2453,10 +2573,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2486,6 +2606,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2663,6 +2786,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2702,6 +2828,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2984,9 +3131,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3116,6 +3260,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3335,6 +3482,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3455,6 +3605,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3623,6 +3776,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3659,9 +3815,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3677,9 +3830,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4130,9 +4280,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4520,6 +4667,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4826,6 +4979,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4922,6 +5084,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5351,18 +5519,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5510,9 +5693,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5525,6 +5714,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5534,18 +5726,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5567,9 +5753,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5585,12 +5768,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5606,22 +5801,22 @@ msgstr[2] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5630,16 +5825,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5660,16 +5864,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5924,7 +6128,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5939,6 +6143,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5996,6 +6203,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6101,6 +6311,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6122,6 +6335,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6479,6 +6695,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6851,6 +7070,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7004,6 +7226,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7523,9 +7748,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8147,9 +8369,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8159,6 +8378,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8210,6 +8432,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8264,6 +8489,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8273,9 +8501,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8417,6 +8642,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8621,12 +8849,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8696,9 +8930,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8738,6 +8969,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8747,7 +8981,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8771,6 +9005,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9146,7 +9386,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9158,12 +9401,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9452,10 +9701,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9497,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9512,6 +9764,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9542,7 +9797,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9569,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9608,16 +9869,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9629,9 +9890,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9656,9 +9923,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9695,7 +9959,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9704,7 +9968,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10046,9 +10310,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10493,6 +10754,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10571,6 +10835,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10838,15 +11105,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10910,6 +11174,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10949,6 +11216,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11060,6 +11330,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11126,6 +11399,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11474,15 +11750,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11504,10 +11780,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11561,6 +11837,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11951,6 +12230,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11963,6 +12245,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12299,9 +12584,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12452,9 +12734,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12485,6 +12764,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12749,6 +13031,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12902,6 +13187,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13010,12 +13301,15 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13046,9 +13340,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13127,6 +13418,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13574,10 +13868,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13637,6 +13931,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13775,15 +14072,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13907,6 +14195,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14078,6 +14369,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14180,9 +14474,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14285,6 +14576,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14336,6 +14630,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14357,6 +14654,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14390,6 +14690,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14399,6 +14705,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14417,12 +14726,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14459,6 +14774,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14474,6 +14792,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14567,6 +14888,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14582,9 +14906,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14615,7 +14936,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14696,9 +15017,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14708,6 +15026,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14786,15 +15107,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14816,10 +15128,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15050,6 +15365,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15095,6 +15413,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15212,7 +15533,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15233,10 +15554,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15269,6 +15590,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16097,6 +16421,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16160,6 +16487,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16379,13 +16709,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16571,6 +16901,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16595,6 +16928,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16796,6 +17132,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17174,9 +17513,30 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17282,7 +17642,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17468,6 +17828,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17537,6 +17900,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17585,6 +17951,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17639,6 +18008,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17723,12 +18095,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17786,6 +18164,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17939,12 +18320,6 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17957,6 +18332,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17984,184 +18362,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18173,6 +18599,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18578,9 +19007,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18665,6 +19091,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18980,6 +19409,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19121,6 +19553,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19406,6 +19841,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19529,6 +19967,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19538,18 +19979,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19607,6 +20060,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19955,6 +20414,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20108,6 +20573,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20417,6 +20885,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20738,6 +21209,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20753,7 +21227,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20816,6 +21290,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20852,6 +21329,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20993,6 +21473,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21191,7 +21677,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21221,10 +21710,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21257,7 +21746,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21326,6 +21815,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21512,7 +22004,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21719,7 +22211,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21881,6 +22373,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21974,6 +22469,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22919,6 +23417,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23096,6 +23597,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23126,6 +23636,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23159,7 +23672,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23213,9 +23729,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23321,15 +23843,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23360,9 +23873,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23546,6 +24056,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23741,6 +24254,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23807,6 +24323,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23888,6 +24407,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23972,9 +24494,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24071,6 +24605,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24110,6 +24647,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24128,12 +24668,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24173,7 +24719,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24251,6 +24797,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24419,6 +24968,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24620,6 +25175,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24785,9 +25343,6 @@ msgstr[2] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25124,6 +25679,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25178,6 +25736,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25208,6 +25769,12 @@ msgstr[2] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25355,12 +25922,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25415,6 +25976,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/sr_SP/gitlab.po b/locale/sr_SP/gitlab.po
index 8bcbed5adcc..b856d8a60ea 100644
--- a/locale/sr_SP/gitlab.po
+++ b/locale/sr_SP/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: sr\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:27\n"
+"PO-Revision-Date: 2020-05-05 21:36\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -242,6 +242,12 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -407,6 +413,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -419,6 +428,12 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -548,6 +563,9 @@ msgstr[2] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -842,12 +860,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -881,6 +905,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1097,6 +1124,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1106,6 +1139,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1349,6 +1385,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1721,6 +1760,72 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1790,6 +1895,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1808,6 +1916,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1916,6 +2027,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1997,6 +2111,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2234,6 +2351,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2453,10 +2573,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2486,6 +2606,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2663,6 +2786,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2702,6 +2828,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2984,9 +3131,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3116,6 +3260,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3335,6 +3482,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3455,6 +3605,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3623,6 +3776,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3659,9 +3815,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3677,9 +3830,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4130,9 +4280,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4520,6 +4667,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4826,6 +4979,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4922,6 +5084,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5351,18 +5519,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5510,9 +5693,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5525,6 +5714,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5534,18 +5726,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5567,9 +5753,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5585,12 +5768,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5606,22 +5801,22 @@ msgstr[2] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5630,16 +5825,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5660,16 +5864,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5924,7 +6128,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5939,6 +6143,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5996,6 +6203,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6101,6 +6311,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6122,6 +6335,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6479,6 +6695,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6851,6 +7070,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -7004,6 +7226,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7523,9 +7748,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8147,9 +8369,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8159,6 +8378,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8210,6 +8432,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8264,6 +8489,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8273,9 +8501,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8417,6 +8642,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8621,12 +8849,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8696,9 +8930,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8738,6 +8969,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8747,7 +8981,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8771,6 +9005,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9146,7 +9386,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9158,12 +9401,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9452,10 +9701,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9497,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9512,6 +9764,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9542,7 +9797,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9569,6 +9827,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9608,16 +9869,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9629,9 +9890,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9656,9 +9923,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9695,7 +9959,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9704,7 +9968,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -10046,9 +10310,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10493,6 +10754,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10571,6 +10835,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10838,15 +11105,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10910,6 +11174,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10949,6 +11216,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -11060,6 +11330,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11126,6 +11399,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11474,15 +11750,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11504,10 +11780,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11561,6 +11837,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11951,6 +12230,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11963,6 +12245,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12299,9 +12584,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12452,9 +12734,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12485,6 +12764,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12749,6 +13031,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12902,6 +13187,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -13010,12 +13301,15 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13046,9 +13340,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13127,6 +13418,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13574,10 +13868,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13637,6 +13931,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13775,15 +14072,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13907,6 +14195,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -14078,6 +14369,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14180,9 +14474,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14285,6 +14576,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14336,6 +14630,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14357,6 +14654,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14390,6 +14690,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14399,6 +14705,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14417,12 +14726,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14459,6 +14774,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14474,6 +14792,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14567,6 +14888,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14582,9 +14906,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14615,7 +14936,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14696,9 +15017,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14708,6 +15026,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14786,15 +15107,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14816,10 +15128,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -15050,6 +15365,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15095,6 +15413,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15212,7 +15533,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15233,10 +15554,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15269,6 +15590,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16097,6 +16421,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16160,6 +16487,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16379,13 +16709,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16571,6 +16901,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16595,6 +16928,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16796,6 +17132,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17174,9 +17513,30 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17282,7 +17642,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17468,6 +17828,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17537,6 +17900,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17585,6 +17951,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17639,6 +18008,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17723,12 +18095,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17786,6 +18164,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17939,12 +18320,6 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17957,6 +18332,9 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17984,184 +18362,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
+
+msgid "SecurityReports|More info"
+msgstr ""
+
+msgid "SecurityReports|More information"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
+
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
+
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
+
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|There was an error deleting the comment."
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|There was an error reverting the dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18173,6 +18599,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18578,9 +19007,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18665,6 +19091,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18980,6 +19409,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19121,6 +19553,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19406,6 +19841,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19529,6 +19967,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19538,18 +19979,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19607,6 +20060,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19955,6 +20414,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -20108,6 +20573,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20417,6 +20885,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20738,6 +21209,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20753,7 +21227,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20816,6 +21290,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20852,6 +21329,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20993,6 +21473,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21191,7 +21677,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21221,10 +21710,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21257,7 +21746,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21326,6 +21815,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21512,7 +22004,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21719,7 +22211,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21881,6 +22373,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21974,6 +22469,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22919,6 +23417,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -23096,6 +23597,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23126,6 +23636,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23159,7 +23672,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23213,9 +23729,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23321,15 +23843,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23360,9 +23873,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23546,6 +24056,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23741,6 +24254,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23807,6 +24323,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23888,6 +24407,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23972,9 +24494,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -24071,6 +24605,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24110,6 +24647,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24128,12 +24668,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24173,7 +24719,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24251,6 +24797,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24419,6 +24968,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24620,6 +25175,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24785,9 +25343,6 @@ msgstr[2] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -25124,6 +25679,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25178,6 +25736,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25208,6 +25769,12 @@ msgstr[2] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25355,12 +25922,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25415,6 +25976,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/sv_SE/gitlab.po b/locale/sv_SE/gitlab.po
index 6a721987e6c..144b97410e8 100644
--- a/locale/sv_SE/gitlab.po
+++ b/locale/sv_SE/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: sv-SE\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:28\n"
+"PO-Revision-Date: 2020-05-05 21:36\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/sw_KE/gitlab.po b/locale/sw_KE/gitlab.po
index 32e344661ae..1a6b5db2c39 100644
--- a/locale/sw_KE/gitlab.po
+++ b/locale/sw_KE/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: sw\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:27\n"
+"PO-Revision-Date: 2020-05-05 21:33\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/tr_TR/gitlab.po b/locale/tr_TR/gitlab.po
index 8349ab12f36..5473bc15651 100644
--- a/locale/tr_TR/gitlab.po
+++ b/locale/tr_TR/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: tr\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:28\n"
+"PO-Revision-Date: 2020-05-05 21:36\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] "%d etiket"
msgstr[1] "%d etiket"
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr "%{mergeLength}/%{usersLength} birleÅŸtirebilir"
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText}, bu sorun otomatik olarak kapatılacaktır."
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} %{resultsString} ifadesini içeriyor"
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "%{name} kullanıcısının profil resmi"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] "%{text} %{files} dosyaları"
msgid "%{text} is available"
msgstr "%{text} kullanılabilir"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<isim belirlenmemiÅŸ>"
msgid "<no scopes selected>"
msgstr "<hiçbir kapsam seçilmedi>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "<strong>%{group_name}</strong> grup üyeleri"
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "Boş bir proje için bir varsayılan dal seçilemez."
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr "sıfırla"
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Hesap"
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr "Tarihinde eklendi"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr "Bu sürümde eklendi"
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] "Uyarı"
msgstr[1] "Uyarı"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr "Tüm projeler"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "Tüm kullanıcılar"
@@ -1745,6 +1851,9 @@ msgstr "Grup sahiplerinin LDAP ile ilgili ayarları yönetmesine izin ver"
msgid "Allow only the selected protocols to be used for Git access."
msgstr "Git erişimi için yalnızca seçili protokollerin kullanılmasına izin ver."
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr "Yeni kuralın onaylayanları alınırken bir hata oluştu."
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "Blob datanın öngösteriminde, bir hata meydana geldi"
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr "Kenar çubuğu verileri getirilirken bir hata oluştu"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr "Anti-spam doÄŸrulama"
msgid "Any"
msgstr "Herhangi"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "Herhangi bir etiket"
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "Bu yapıyı silmek istediğinizden emin misiniz?"
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr "Hedef"
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "AÄŸustos"
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr "Bekleyen tüm yorumları sil"
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr "Panolar"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr "Daralt"
@@ -3266,6 +3411,9 @@ msgstr "EE satın al"
msgid "Buy GitLab Enterprise Edition"
msgstr "Gitlab Kurumsal Sürümünü satın alın"
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr "%{user_name} tarafından"
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr "Etiket"
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr "başarısız"
-
msgid "ChatMessage|has failed"
msgstr "başarısız oldu"
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr "geçti"
-
msgid "Check again"
msgstr "Tekrar kontrol et"
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr "Buraya tıklayın"
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "<strong>İndirme</strong> düğmesini tıklayın ve indirme işleminin tamamlanmasını bekleyin."
@@ -4451,6 +4596,12 @@ msgstr "Projeler getiriliyor"
msgid "ClusterIntegration|Fetching zones"
msgstr "Alanlar getiriliyor"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "GitLab Bütünleşmesi"
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "DeÄŸiÅŸiklikleri kaydet"
@@ -4853,6 +5013,12 @@ msgstr "Alan seç"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "Makine türünü seçmek için alan seç"
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "Depoyu kaldır"
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr "Etiket"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr "Yeni bir dal oluÅŸtur"
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr "Proje etiketi oluÅŸtur"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr "kiÅŸisel eriÅŸim belirteci oluÅŸtur"
msgid "Created"
msgstr "OluÅŸturdu:"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr "OluÅŸturma tarihi"
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr "Dağıtım anahtarı başarıyla güncellendi."
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr "Açıklamayı düzenle"
msgid "Edit environment"
msgstr "Ortamı düzenle"
-msgid "Edit epic description"
-msgstr "Epik açıklamasını düzenle"
-
msgid "Edit file"
msgstr "Dosyayı düzenle"
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr "Etiketler getirilirken hata oluÅŸtu."
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr "Dal verileri yüklenirken hata oluştu. Lütfen tekrar deneyin."
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr "Genel grupları keşfedin"
msgid "Export as CSV"
msgstr "CSV olarak dışa aktar"
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr "Dışa aktarma sorunları"
msgid "Export project"
msgstr "Projeyi dışa aktar"
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr "Viki oluşturma başarısız"
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,8 +9305,11 @@ msgstr "İşlem mesajına göre süz"
msgid "Filter by milestone name"
msgstr "Dönüm noktası adına göre süz"
-msgid "Filter by name..."
-msgstr "İsme göre filtrele..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
+msgstr ""
msgid "Filter by two-factor authentication"
msgstr "İki adımlı kimlik doğrulamasına göre süz"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr "Projeleri filtrele"
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr "Sonuçları gruba göre süz"
msgid "Filter results by project"
msgstr "Projeye göre sonuçları süz"
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr "Projelerinizi isme göre filtreleyin"
@@ -9373,11 +9620,11 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr "Sağlama yapıldı"
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
-msgstr "Veriler, %{timeago} itibaren güncel değil"
+msgid "GeoNodes|Container repositories"
+msgstr ""
msgid "GeoNodes|Data replication lag"
msgstr "Veri çoğaltma gecikmesi"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr "Düğümler yükleniyor"
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
+msgid "Geo|All %{replicable_type}"
+msgstr ""
+
msgid "Geo|All projects"
msgstr "Geo|Tüm projeler"
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
-msgstr ""
-
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr "CoÄŸrafi Durum"
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr "Sonraki senkronizasyon planlandı"
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr "Yeniden senkronize et"
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr "Dosya kalıcı bağlantısına git (bir dosyayı görüntülerken)"
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr "Gruplar"
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr "Geri"
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr "Sorunlar"
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,11 +11696,11 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr "Ortalama/Ay:"
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
-msgstr "Aylık oluşturulan sorunlar"
+msgid "IssuesAnalytics|Issues opened per month"
+msgstr ""
msgid "IssuesAnalytics|Last 12 months"
msgstr "Son 12 ay"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr "Daha fazlasını öğrenin"
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr "Canlı önizleme"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr "Yönet"
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr "BirleÅŸtirme istekleri oluÅŸturuldu"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr "Birleştirme işlemi mesajı"
@@ -12814,6 +13097,12 @@ msgstr "BirleÅŸtirildi"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr "ör. ist/sn"
msgid "Microsoft Azure"
msgstr "Microsoft Azure"
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr "Ön izlenecek bir şey yok."
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "Bildirim etkinlikleri"
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr "Dışa aktarılan dosya hazır olduğunda, indirme bağlantısına sahip bir bildirim e-postası alacaksınız veya bu sayfadan indirebilirsiniz."
@@ -14088,9 +14380,6 @@ msgstr "Ham olarak aç"
msgid "Open sidebar"
msgstr "Kenar çubuğunu aç"
-msgid "Open source software to collaborate on code"
-msgstr "Kod üzerinde ortak çalışmak için açık kaynaklı yazılım"
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "Genel bakış"
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr "Paketler"
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr "Yol"
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr "Yol:"
@@ -14523,8 +14842,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "Yolu değiştirme, grubu aktarma veya kaldırma gibi gelişmiş seçenekleri uygulayın."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr ""
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr "İş hattı dakika kotası"
-msgid "Pipeline quota"
-msgstr "İş Hattı Kotası"
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr "İş hattı: %{status}"
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr "'%{project_name}' için iş hattı ayarları başarıyla güncellendi."
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,12 +15034,15 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
-msgstr "İş Hatları Yükleniyor"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
+msgid "Pipelines|Loading Pipelines"
+msgstr "İş Hatları Yükleniyor"
+
msgid "Pipelines|Project cache successfully reset."
msgstr ""
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr "Lütfen bir ülke seçin"
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr "Önizleme yükü"
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr "Özel profil"
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr "Viki"
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr "GitLab Pages ile statik web sitelerinizi GitLab üzerinde barındırabilirsiniz"
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] "Güncellenmiş durumu göstermek için bir saniye içinde yenilenecek..."
msgstr[1] "Güncellenmiş durumu göstermek için %d saniye içinde yenilenecek..."
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr "Sınıf"
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr "Çalıştırıcı güncellenemedi."
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr "Dalları ara"
msgid "Search branches and tags"
msgstr "Dalları ve etiketleri ara"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr "Dosyaları ara"
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] "parçacık"
msgstr[1] "parçacık"
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] "parçacık sonucu"
-msgstr[1] "parçacık sonucu"
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] "viki sonucu"
msgstr[1] "viki sonucu"
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr "Güvenlik Yapılandırması"
msgid "Security Dashboard"
msgstr "Güvenlik Kontrol Panosu"
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security dashboard"
+msgstr "Güvenlik gösterge panosu"
+
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
-msgstr "Sorun oluÅŸturuldu"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgstr ""
+
+msgid "SecurityConfiguration|Configured"
+msgstr "Yapılandırılan"
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Create issue"
-msgstr "Sorun oluÅŸtur"
+msgid "SecurityConfiguration|Secure features"
+msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Status"
+msgstr "Durum"
+
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
-msgstr "Gösterge panonuzu ayarlama hakkında daha fazla bilgi edinin"
+msgid "SecurityReports|Add projects"
+msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security dashboard"
-msgstr "Güvenlik gösterge panosu"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
+msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Configured"
-msgstr "Yapılandırılan"
+msgid "SecurityReports|Learn more about setting up your dashboard"
+msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityConfiguration|Status"
-msgstr "Durum"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Add projects"
-msgstr "Proje ekle"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
-msgstr "Reddedilenleri gizle"
+msgid "SecurityReports|Projects added"
+msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|More information"
-msgstr "Daha fazla bilgi"
+msgid "SecurityReports|Report type"
+msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Project"
-msgstr "Proje"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
+msgstr ""
+
+msgid "SecurityReports|Select a project to add by using the project search field above."
+msgstr ""
+
+msgid "SecurityReports|Select a reason"
+msgstr ""
-msgid "SecurityDashboard|Projects added"
-msgstr "Projeler eklendi"
+msgid "SecurityReports|Severity"
+msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Report type"
-msgstr "Rapor türü"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
-msgstr "Gösterge panosuna geri dön"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
-msgstr "Güvenlik Kontrol Panosu"
+msgid "SecurityReports|There was an error adding the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error creating the issue."
+msgstr ""
+
+msgid "SecurityReports|There was an error creating the merge request."
+msgstr ""
+
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|There was an error dismissing the vulnerability."
msgstr ""
-msgid "SecurityDashboard|Severity"
-msgstr "Önem Derecesi"
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|Unable to add %{invalidProjects}"
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|Undo dismiss"
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr "Metrikleri gör"
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr "Sistem"
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr "Telefon numarası"
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "Åžablon"
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr "Kullanıcı etkinlik takvimi yüklenirken bir hata oluştu."
@@ -20641,7 +21113,7 @@ msgstr "Grup iş hattı dakikaları sıfırlanırken bir hata oluştu."
msgid "There was an error resetting user pipeline minutes."
msgstr "Kullanıcı iş hattı dakikaları sıfırlanırken bir hata oluştu."
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr "Üçüncü taraf teklifleri"
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr "Bu sorun gizlidir"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "Bu sorun kilitlendi."
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ msgstr "Son işlemden birleştirmeye kadar geçen süre"
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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr "Kalan süre"
@@ -21398,8 +21888,8 @@ msgstr "Başlık"
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
-msgstr "Başlıklar ve dosya adları"
+msgid "Titles and Descriptions"
+msgstr ""
msgid "To"
msgstr ""
@@ -21605,8 +22095,8 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
-msgstr "Konular"
+msgid "Topics (optional)"
+msgstr ""
msgid "Total"
msgstr ""
@@ -21767,6 +22257,9 @@ msgstr "Tekrar denensin mi?"
msgid "Try all GitLab has to offer for 30 days."
msgstr "GitLab’ın sunduğu her şeyi 30 gün boyunca deneyin."
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr "Tekrar çatallamayı dene"
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr "GitLab'da görüntüle"
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,8 +23554,11 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr "Proje"
-msgid "Vulnerability|Report Type"
-msgstr "Rapor Türü"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
+msgstr ""
msgid "Vulnerability|Severity"
msgstr ""
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr "Viki"
-msgid "Wiki pages"
-msgstr "Viki sayfaları"
-
msgid "Wiki was successfully updated."
msgstr "Wiki başarıyla güncellendi."
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr "Evet, bunu ekle"
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr "Bu salt okunur GitLab örneğine yazamazsınız."
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr "Ä°zinleriniz yok"
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr "İşlem e-postanız, düzenlemeler ve birleştirmeler gibi web tabanlı işlemler için kullanılacaktır."
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr "Projeleriniz"
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr "önce"
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr "Güvenlik taraması"
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr "grup"
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] "birleÅŸtirme isteÄŸi"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr "yeni birleÅŸtirme isteÄŸi"
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] "proje"
msgid "project avatar"
msgstr "proje profil resmi"
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr "bu belge"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr "katkıda bulunanlara yardım etmek için etkili şekilde iletişim kurun!"
@@ -25280,6 +25840,9 @@ msgstr "GitLab'da görüntüle"
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/uk/gitlab.po b/locale/uk/gitlab.po
index 65f23335450..e09df16fe38 100644
--- a/locale/uk/gitlab.po
+++ b/locale/uk/gitlab.po
@@ -12,10 +12,10 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: uk\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 01:23\n"
+"PO-Revision-Date: 2020-05-05 21:36\n"
msgid " %{start} to %{end}"
-msgstr ""
+msgstr "%{start} до %{end}"
msgid " (from %{timeoutSource})"
msgstr " (з %{timeoutSource})"
@@ -82,10 +82,10 @@ msgstr[3] ""
msgid "%d changed file"
msgid_plural "%d changed files"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d змінений файл"
+msgstr[1] "%d змінених файли"
+msgstr[2] "%d змінених файлів"
+msgstr[3] "%d змінених файлів"
msgid "%d child epic"
msgid_plural "%d child epics"
@@ -141,10 +141,10 @@ msgstr[3] "%d внеÑків"
msgid "%d error"
msgid_plural "%d errors"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "%d помилка"
+msgstr[1] "%d помилки"
+msgstr[2] "%d помилок"
+msgstr[3] "%d помилок"
msgid "%d exporter"
msgid_plural "%d exporters"
@@ -272,13 +272,20 @@ msgstr[1] "%d теги"
msgstr[2] "%d тегів"
msgstr[3] "%d тегів"
-msgid "%d vulnerability dismissed"
-msgid_plural "%d vulnerabilities dismissed"
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
+msgid "%d vulnerability dismissed"
+msgid_plural "%d vulnerabilities dismissed"
+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 доданий коміт був виключений Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð±Ñ–Ð³Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼ із продуктивніÑÑ‚ÑŽ."
@@ -443,6 +450,9 @@ msgstr "%{mergeLength}/%{usersLength} можуть виконувати злит
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText}, Ñ†Ñ Ð·Ð°Ð´Ð°Ñ‡Ð° буде закрита автоматично."
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} міÑтить %{resultsString}"
@@ -455,6 +465,13 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "Ðватар %{name}"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "на %{number_commits_behind} комітів позаду %{default_branch}, на %{number_commits_ahead} комітів попереду"
@@ -477,7 +494,7 @@ msgid "%{percent}%{percentSymbol} complete"
msgstr "%{percent}%{percentSymbol} завершено"
msgid "%{placeholder} is not a valid color scheme"
-msgstr ""
+msgstr "%{placeholder} не Ñ” дійÑною кольоровою Ñхемою"
msgid "%{placeholder} is not a valid theme"
msgstr ""
@@ -549,7 +566,7 @@ msgid "%{strong_start}%{human_size}%{strong_end} Files"
msgstr "%{strong_start}%{human_size}%{strong_end} Файлів"
msgid "%{strong_start}%{human_size}%{strong_end} Storage"
-msgstr ""
+msgstr "%{strong_start}%{human_size}%{strong_end} Cховище"
msgid "%{strong_start}%{release_count}%{strong_end} Release"
msgid_plural "%{strong_start}%{release_count}%{strong_end} Releases"
@@ -575,7 +592,7 @@ msgid "%{tags} tags per image name"
msgstr "%{tags} теги на кожне Ñ–Ð¼â€™Ñ Ð¾Ð±Ñ€Ð°Ð·Ñƒ"
msgid "%{tag}-%{evidence}-%{filename}"
-msgstr ""
+msgstr "%{tag}-%{evidence}-%{filename}"
msgid "%{template_project_id} is unknown or invalid"
msgstr "%{template_project_id} невідомий або неправильний"
@@ -590,6 +607,9 @@ msgstr[3] "%{text} %{files} файлів"
msgid "%{text} is available"
msgstr "%{text} доÑтупний"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -597,7 +617,7 @@ msgid "%{title} changes"
msgstr "%{title} зміни"
msgid "%{token}..."
-msgstr ""
+msgstr "%{token}..."
msgid "%{totalWeight} total weight"
msgstr "%{totalWeight} загальна вага"
@@ -670,7 +690,7 @@ msgid "(revoked)"
msgstr ""
msgid "*"
-msgstr ""
+msgstr "*"
msgid "+ %{amount} more"
msgstr "+ %{amount} більше"
@@ -695,7 +715,7 @@ msgid "+%{approvers} more approvers"
msgstr ""
msgid "+%{tags} more"
-msgstr ""
+msgstr "+%{tags} більше"
msgid ", or "
msgstr ", або "
@@ -800,7 +820,7 @@ msgstr[2] "%d хвилин"
msgstr[3] "%d хвилин"
msgid "1 month"
-msgstr ""
+msgstr "1 міÑÑць"
msgid "1 open issue"
msgid_plural "%{issues} open issues"
@@ -903,12 +923,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> дод
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> додаÑÑ‚ÑŒ \"<a href=\"#\">johnsmith@example.com</a>\" до вÑÑ–Ñ… задач та коментарів, Ñкі були Ñтворені johnsmith@example.com. За замовчуваннÑм Ñ–Ð¼â€™Ñ ÐºÐ¾Ñ€Ð¸Ñтувача та його електронна адреÑа заблоковані Ð´Ð»Ñ Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ„Ñ–Ð´ÐµÐ½Ñ†Ñ–Ð¹Ð½Ð¾ÑÑ‚Ñ–. ВикориÑтовуйте цю опцію, Ñкщо ви хочете показувати електронну адреÑу повніÑÑ‚ÑŽ."
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<Ñ–Ð¼â€™Ñ Ð½Ðµ задане>"
msgid "<no scopes selected>"
msgstr "<облаÑÑ‚ÑŒ дії не вибрано>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "<strong>%{group_name}</strong> кориÑтувачі групи"
@@ -942,6 +968,9 @@ msgstr "Обліковий Ð·Ð°Ð¿Ð¸Ñ Let's Encrypt буде налаштоваÐ
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr "Базова Ñторінка та Serverless функціÑ, що викориÑтовує AWS Lambda, AWS API Gateway та GitLab Pages"
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "Гілку за замовчуваннÑм не може бути обрано Ð´Ð»Ñ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŒÐ¾Ð³Ð¾ проекту."
@@ -1158,15 +1187,24 @@ msgstr "Ваш токен Ñтатичних об’єктів викориÑÑ‚Ð
msgid "AccessTokens|reset it"
msgstr "перегенерувати його"
-msgid "AccessibilityReport|Learn More"
+msgid "AccessibilityReport|Accessibility report artifact not found"
msgstr ""
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
+msgid "AccessibilityReport|Learn More"
+msgstr "ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ"
+
msgid "AccessibilityReport|Message: %{message}"
msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "Обліковий запиÑ"
@@ -1198,7 +1236,7 @@ msgid "Active Sessions"
msgstr "Ðктивні ÑеÑÑ–Ñ—"
msgid "Active Users:"
-msgstr ""
+msgstr "Ðктивні кориÑтувачі:"
msgid "Activity"
msgstr "ÐктивніÑÑ‚ÑŒ"
@@ -1241,7 +1279,7 @@ msgid "Add README"
msgstr "Додати інÑтрукцію (README)"
msgid "Add Variable"
-msgstr ""
+msgstr "Додати змінну"
msgid "Add Zoom meeting"
msgstr "Додати Zoom-зуÑтріч"
@@ -1295,7 +1333,7 @@ msgid "Add an issue"
msgstr "Додати задачу"
msgid "Add another link"
-msgstr ""
+msgstr "Додати ще одне поÑиланнÑ"
msgid "Add approval rule"
msgstr "Додати правило затвердженнÑ"
@@ -1310,13 +1348,13 @@ msgid "Add comment now"
msgstr "Додати коментар"
msgid "Add domain"
-msgstr ""
+msgstr "Додати домен"
msgid "Add email address"
msgstr "Додати адреÑу електронної пошти"
msgid "Add environment"
-msgstr ""
+msgstr "Додати Ñередовище"
msgid "Add header and footer to emails. Please note that color settings will only be applied within the application interface"
msgstr "Додати заголовок Ñ– футер в електронні лиÑти. Будь лаÑка, зверніть увагу, що Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ñƒ будуть викориÑтовуватиÑÑ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ в інтерфейÑÑ– заÑтоÑунку"
@@ -1382,7 +1420,7 @@ msgid "Add users to group"
msgstr "Додати кориÑтувача до групи"
msgid "Add variable"
-msgstr ""
+msgstr "Додати змінну"
msgid "Add webhook"
msgstr "Додати вебхук"
@@ -1411,6 +1449,9 @@ msgstr "Додано задачу до епіку."
msgid "Added at"
msgstr "Додано"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr "Додано в цій верÑÑ–Ñ—"
@@ -1466,34 +1507,34 @@ msgid "Admin notes"
msgstr "Ðотатки адмініÑтратора"
msgid "AdminArea|Active users"
-msgstr ""
+msgstr "Ðктивні кориÑтувачі"
msgid "AdminArea|Billable users"
msgstr ""
msgid "AdminArea|Blocked users"
-msgstr ""
+msgstr "Заблоковані кориÑтувачі"
msgid "AdminArea|Bots"
-msgstr ""
+msgstr "Боти"
msgid "AdminArea|Developer"
-msgstr ""
+msgstr "Розробник"
msgid "AdminArea|Guest"
-msgstr ""
+msgstr "ГіÑÑ‚ÑŒ"
msgid "AdminArea|Included Free in license"
msgstr ""
msgid "AdminArea|Maintainer"
-msgstr ""
+msgstr "Керівник"
msgid "AdminArea|Owner"
-msgstr ""
+msgstr "ВлаÑник"
msgid "AdminArea|Reporter"
-msgstr ""
+msgstr "Репортер"
msgid "AdminArea|Stop all jobs"
msgstr "Зупинити вÑÑ– завданнÑ"
@@ -1508,16 +1549,16 @@ msgid "AdminArea|Stopping jobs failed"
msgstr "Зупинка завдань пройшла невдало"
msgid "AdminArea|Total users"
-msgstr ""
+msgstr "Загальна кількіÑÑ‚ÑŒ кориÑтувачів"
msgid "AdminArea|Users statistics"
-msgstr ""
+msgstr "СтатиÑтика кориÑтувачів"
msgid "AdminArea|Users with highest role"
-msgstr ""
+msgstr "КориÑтувачі з найвищою роллю"
msgid "AdminArea|Users without a Group and Project"
-msgstr ""
+msgstr "КориÑтувачі без групи та проєкту"
msgid "AdminArea|You’re about to stop all jobs.This will halt all current jobs that are running."
msgstr "Зараз ви зупинете вÑÑ– завданнÑ. Це обірве уÑÑ– запущені завданнÑ."
@@ -1556,7 +1597,7 @@ msgid "AdminSettings|Environment variables are protected by default"
msgstr "Змінні Ñередовища Ñ” захищеними за замовчуваннÑм"
msgid "AdminSettings|Go to General Settings"
-msgstr ""
+msgstr "Перейти до загальних налаштувань"
msgid "AdminSettings|Integrations configured here will automatically apply to all projects on this instance."
msgstr ""
@@ -1694,10 +1735,10 @@ msgid "AdminUsers|Owned groups will be left"
msgstr "Групи, що Ñ” у влаÑноÑÑ‚Ñ– буде збережено"
msgid "AdminUsers|Personal projects will be left"
-msgstr "ПерÑональні проекти буде збережено"
+msgstr ""
msgid "AdminUsers|Personal projects, group and user history will be left intact"
-msgstr "ПерÑональні проекти, групи, та Ñ–Ñторію кориÑтувача буде залишено без змін"
+msgstr ""
msgid "AdminUsers|Reactivating a user will:"
msgstr "Повторна Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ ÐºÐ¾Ñ€Ð¸Ñтувача зробить:"
@@ -1757,13 +1798,13 @@ msgid "AdminUsers|You are about to permanently delete the user %{username}. This
msgstr "Ви збираєтеÑÑ Ð¾Ñтаточно видалити кориÑтувача %{username}. Ð’ÑÑ– пов'Ñзані з ним задачі, запити на Ð·Ð»Ð¸Ñ‚Ñ‚Ñ Ñ– групи будуть видалені. Щоб уникнути втрати даних, розглÑньте можливіÑÑ‚ÑŒ %{strong_start}Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача%{strong_end} заміÑÑ‚ÑŒ видаленнÑ. ПіÑÐ»Ñ %{strong_start}Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувача%{strong_end}, його неможливо буде відновити."
msgid "Administration"
-msgstr ""
+msgstr "ÐдмініÑтруваннÑ"
msgid "Advanced"
msgstr "Розширений"
msgid "Advanced Settings"
-msgstr ""
+msgstr "Додаткові налаштуваннÑ"
msgid "Advanced permissions, Large File Storage and Two-Factor authentication settings."
msgstr "Додаткові дозволи, Ñховище великих файлів (LFS) Ñ– Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð²Ð¾Ñ„Ð°ÐºÑ‚Ð¾Ñ€Ð½Ð¾Ñ— автентифікації."
@@ -1784,6 +1825,72 @@ msgstr[1] "ПопередженнÑ"
msgstr[2] "Попереджень"
msgstr[3] "Попереджень"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr "%{linkStart}ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ%{linkEnd} про Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— кінцевої точки Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½ÑŒ."
@@ -1806,7 +1913,7 @@ msgid "All %{replicableType} are being scheduled for %{action}"
msgstr ""
msgid "All (default)"
-msgstr ""
+msgstr "Ð’ÑÑ– (за замовчуваннÑм)"
msgid "All Members"
msgstr "Ð’ÑÑ– учаÑники"
@@ -1824,13 +1931,13 @@ msgid "All email addresses will be used to identify your commits."
msgstr "Ð’ÑÑ– адреÑи електронної пошти будуть викориÑтовуватиÑÑ Ð´Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— ваших комітів."
msgid "All environments"
-msgstr ""
+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 "All groups and projects"
-msgstr "Ð’ÑÑ– групи та проекти"
+msgstr ""
msgid "All issues for this milestone are closed."
msgstr "Ð’ÑÑ– задачі в цьому етапі закриті."
@@ -1848,11 +1955,14 @@ msgid "All paths are relative to the GitLab URL. Do not include %{relative_url_l
msgstr "Ð’ÑÑ– шлÑхи Ñ” відноÑними до URL-адреÑи GitLab. Ðе включайте %{relative_url_link_start}відноÑну URL-адреÑу%{relative_url_link_end}."
msgid "All projects"
-msgstr "Ð’ÑÑ– проекти"
+msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr "Ð’ÑÑ– ÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸ увімкнені, тому що %{linkStart}Auto DevOps%{linkEnd} увімкнено в цьому проєкті"
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "Ð’ÑÑ– кориÑтувачі"
@@ -1871,6 +1981,9 @@ msgstr "Дозволити влаÑникам груп керувати нала
msgid "Allow only the selected protocols to be used for Git access."
msgstr "Дозволити викориÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ вибраних протоколів Ð´Ð»Ñ Ð´Ð¾Ñтупу до Git."
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1979,6 +2092,9 @@ msgstr "Помилка при отриманні затверджуючих оÑ
msgid "An error occurred fetching the dropdown data."
msgstr "Помилка при отриманні даних Ð´Ð»Ñ Ð²Ð¸Ð¿Ð°Ð´Ð°ÑŽÑ‡Ð¾Ð³Ð¾ ÑпиÑку."
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° під Ñ‡Ð°Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ переглÑду об'єкта"
@@ -2060,6 +2176,9 @@ msgstr "Помилка при отриманні Ð°Ð²Ñ‚Ð¾Ð´Ð¾Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¿
msgid "An error occurred while fetching sidebar data"
msgstr "Виникла помилка під Ñ‡Ð°Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ Ð±Ñ–Ñ‡Ð½Ð¾Ñ— панелі"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr "СталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° під Ñ‡Ð°Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи Служби підтримки."
@@ -2274,10 +2393,10 @@ msgid "Analyze a review version of your web application."
msgstr "Проаналізуйте верÑÑ–ÑŽ Ð´Ð»Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ оглÑду вашого веб-заÑтоÑунка."
msgid "Analyze your dependencies for known vulnerabilities."
-msgstr ""
+msgstr "Проаналізуйте ваші залежноÑÑ‚Ñ– на предмет відомих вразливоÑтей."
msgid "Analyze your source code for known vulnerabilities."
-msgstr ""
+msgstr "Проаналізуйте ваш вихідний код на предмет відомих вразливоÑтей."
msgid "Ancestors"
msgstr "Предки"
@@ -2297,6 +2416,9 @@ msgstr "Перевірка проти Ñпаму"
msgid "Any"
msgstr "Будь-Ñкий"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "Будь-Ñка мітка"
@@ -2304,7 +2426,7 @@ msgid "Any Milestone"
msgstr "Будь-Ñкий етап"
msgid "Any branch"
-msgstr ""
+msgstr "Будь-Ñка гілка"
msgid "Any eligible user"
msgstr "Будь-Ñкий кориÑтувач з необхідним доÑтупом"
@@ -2470,7 +2592,7 @@ msgid "Approve the current merge request."
msgstr "Затвердити поточний запит на злиттÑ."
msgid "Approved by: "
-msgstr ""
+msgstr "Затверджено кориÑтувачем: "
msgid "Approved the current merge request."
msgstr "Затверджено поточний запит на злиттÑ."
@@ -2488,7 +2610,7 @@ msgid "April"
msgstr "квітень"
msgid "Archive"
-msgstr ""
+msgstr "Ðрхів"
msgid "Archive jobs"
msgstr "Ðрхівувати завданнÑ"
@@ -2497,7 +2619,7 @@ msgid "Archive project"
msgstr "Ðрхівувати проект"
msgid "Archived"
-msgstr ""
+msgstr "Заархівовано"
msgid "Archived project! Repository and other project resources are read only"
msgstr "Ðрхівований проєкт! Репозиторій та інші реÑурÑи проєкту доÑтупні лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
@@ -2506,10 +2628,10 @@ msgid "Archived project! Repository and other project resources are read-only"
msgstr "Ðрхівований проект! Репозиторій та інші реÑурÑи проекту доÑтупні лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ"
msgid "Archived projects"
-msgstr "Заархівовані проекти"
+msgstr ""
msgid "Archiving the project will make it entirely read only. It is hidden from the dashboard and doesn't show up in searches. %{strong_start}The repository cannot be committed to, and no issues, comments, or other entities can be created.%{strong_end}"
-msgstr ""
+msgstr "ÐÑ€Ñ…Ñ–Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ”ÐºÑ‚Ñƒ зробить його доÑтупним лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ. Він буде прихований з панелі ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ– не відображатиметьÑÑ Ð² пошуках. %{strong_start}Ð’ репозиторій не можна буде комітити, Ñ– не можливо буде Ñтворити жодних задач, коментарів чи інших об'єктів.%{strong_end}"
msgid "Are you setting up GitLab for a company?"
msgstr "Ви налаштовуєте GitLab Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ñ–Ñ—?"
@@ -2520,12 +2642,12 @@ msgstr "Ви впевнені, що хочете заархівувати цей
msgid "Are you sure that you want to unarchive this project?"
msgstr "Ви впевнені, що хочете розархівувати цей проект?"
-msgid "Are you sure you want to cancel creating this comment?"
-msgstr "Ви впевнені, що хочете ÑкаÑувати цей коментар?"
-
msgid "Are you sure you want to cancel editing this comment?"
msgstr "Ви впевнені, що хочете ÑкаÑувати Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ коментарÑ?"
+msgid "Are you sure you want to close this blocked issue?"
+msgstr ""
+
msgid "Are you sure you want to delete %{name}?"
msgstr ""
@@ -2553,6 +2675,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "Ви впевнені, що хочете видалити цей білд?"
@@ -2731,6 +2856,9 @@ msgstr "Призначає %{assignee_users_sentence}."
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr "Потрібне щонайменше одне Ð·Ð°Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ влаÑника коду Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ файлів, що задовільнÑÑŽÑ‚ÑŒ відповідним правилам CODEOWNER."
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr "Треба зазначити принаймні group_id або project_id"
@@ -2771,6 +2899,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr "Ціль"
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "Ñерп."
@@ -3053,9 +3202,6 @@ msgstr "Коренева URL-адреÑа Bamboo, наприклад https://bam
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr "Ви повинні налаштувати автоматичне вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¼Ñ–Ñ‚Ð¾Ðº на ревізії, а також тригер репозиторію в Bamboo."
-msgid "Batch operations"
-msgstr "Пакетні операції"
-
msgid "BatchComments|Delete all pending comments"
msgstr "Видалити вÑÑ– коментарі в очікуванні"
@@ -3150,7 +3296,7 @@ msgid "Blocked"
msgstr "Заблокований"
msgid "Blocked issue"
-msgstr ""
+msgstr "Заблокована задача"
msgid "Blocks"
msgstr ""
@@ -3185,6 +3331,9 @@ msgstr "Початок роботи з типовим набором ÑпиÑкÑ
msgid "Boards"
msgstr "Дошки"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr "Згорнути"
@@ -3404,6 +3553,9 @@ msgstr "Купити ЕЕ"
msgid "Buy GitLab Enterprise Edition"
msgstr "Купити GitLab Enterprise Edition"
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr "Від %{user_name}"
@@ -3411,7 +3563,7 @@ msgid "By default GitLab sends emails in HTML and plain text formats so mail cli
msgstr "За замовчуваннÑм GitLab відправлÑÑ” електронні лиÑти в форматі HTML та у звичайному текÑтовому форматі, щоб поштові клієнти могли вибирати Ñкий з форматів викориÑтовувати. Вимкніть це налаштуваннÑ, Ñкщо ви хочете відправлÑти лиÑти лише у звичайному текÑтовому форматі."
msgid "By default, all projects and groups will use the global notifications setting."
-msgstr "За замовчуваннÑм уÑÑ– проекти та групи будуть викориÑтовувати глобальні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñповіщень."
+msgstr ""
msgid "ByAuthor|by"
msgstr "від"
@@ -3524,6 +3676,9 @@ msgstr "Ðеможливо видалити учаÑників групи без
msgid "Can't scan the code?"
msgstr "Ðеможливо Ñканувати код?"
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr "Canary"
@@ -3692,6 +3847,9 @@ msgstr "Зміна тегу релізу підтримуєтьÑÑ Ð»Ð¸ÑˆÐµ чÐ
msgid "Changing group path can have unintended side effects."
msgstr "Зміна шлÑху групи може мати небажані побічні ефекти."
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr "Графіки не можуть відображатиÑÑ, оÑкільки вичерпано Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñƒ даних. %{documentationLink}"
@@ -3728,9 +3886,6 @@ msgstr "Тег"
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr "і [%{count} більше](%{pipeline_failed_jobs_url})"
-msgid "ChatMessage|failed"
-msgstr "провалено"
-
msgid "ChatMessage|has failed"
msgstr "провалено"
@@ -3746,9 +3901,6 @@ msgstr "за %{duration}"
msgid "ChatMessage|in %{project_link}"
msgstr "в %{project_link}"
-msgid "ChatMessage|passed"
-msgstr "уÑпішно пройдено"
-
msgid "Check again"
msgstr "Перевірити знову"
@@ -3762,7 +3914,7 @@ msgid "Check your .gitlab-ci.yml"
msgstr "Перевірте Ñвій .gitlab-ci.yml"
msgid "Check your Docker images for known vulnerabilities."
-msgstr ""
+msgstr "Перевірте Ñвої образи Docker на наÑвніÑÑ‚ÑŒ відомих вразливоÑтей."
msgid "Checking %{text} availability…"
msgstr "Перевірка доÑтупноÑÑ‚Ñ– %{text}…"
@@ -3816,13 +3968,13 @@ msgid "Checkout|Checkout"
msgstr "ÐžÑ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð¼Ð¾Ð²Ð»ÐµÐ½Ð½Ñ"
msgid "Checkout|City"
-msgstr ""
+msgstr "МіÑто"
msgid "Checkout|Confirm purchase"
msgstr ""
msgid "Checkout|Confirming..."
-msgstr ""
+msgstr "ПідтвердженнÑ..."
msgid "Checkout|Continue to billing"
msgstr "Перейти до оплати"
@@ -3831,10 +3983,10 @@ msgid "Checkout|Continue to payment"
msgstr ""
msgid "Checkout|Country"
-msgstr ""
+msgstr "Країна"
msgid "Checkout|Create a new group"
-msgstr ""
+msgstr "Створити нову групу"
msgid "Checkout|Credit card form failed to load. Please try again."
msgstr ""
@@ -3864,7 +4016,7 @@ msgid "Checkout|Failed to register credit card. Please try again."
msgstr ""
msgid "Checkout|GitLab group"
-msgstr ""
+msgstr "Група GitLab"
msgid "Checkout|GitLab plan"
msgstr "GitLab план"
@@ -3882,7 +4034,7 @@ msgid "Checkout|Number of users"
msgstr "КількіÑÑ‚ÑŒ кориÑтувачів"
msgid "Checkout|Payment method"
-msgstr ""
+msgstr "СпоÑіб оплати"
msgid "Checkout|Please select a country"
msgstr ""
@@ -3891,7 +4043,7 @@ msgid "Checkout|Please select a state"
msgstr ""
msgid "Checkout|Select"
-msgstr ""
+msgstr "Вибрати"
msgid "Checkout|State"
msgstr ""
@@ -3927,7 +4079,7 @@ msgid "Checkout|Your subscription will be applied to this group"
msgstr ""
msgid "Checkout|Zip code"
-msgstr ""
+msgstr "Поштовий індекÑ"
msgid "Checkout|company or team"
msgstr "ÐºÐ¾Ð¼Ð¿Ð°Ð½Ñ–Ñ Ð°Ð±Ð¾ команда"
@@ -3939,7 +4091,7 @@ msgid "Cherry-pick this merge request"
msgstr "Вибрати (cherry-pick) цей запит на злиттÑ"
msgid "Child"
-msgstr ""
+msgstr "Дочірний"
msgid "Child epic does not exist."
msgstr "Дочірній епік не Ñ–Ñнує."
@@ -4083,7 +4235,7 @@ msgid "CiVariables|Cannot use Masked Variable with current value"
msgstr "Ðеможливо викориÑтовувати приховану змінну із поточним значеннÑм"
msgid "CiVariables|Environments"
-msgstr ""
+msgstr "Середовища"
msgid "CiVariables|Input variable key"
msgstr "Ключ вхідної змінної"
@@ -4098,7 +4250,7 @@ msgid "CiVariables|Masked"
msgstr "Приховано"
msgid "CiVariables|Protected"
-msgstr ""
+msgstr "Захищений"
msgid "CiVariables|Remove variable row"
msgstr "Видалити Ñ€Ñдок змінних"
@@ -4158,7 +4310,7 @@ msgid "Class"
msgstr "КлаÑ"
msgid "Class:"
-msgstr ""
+msgstr "КлаÑ:"
msgid "Classification Label (optional)"
msgstr "Мітка клаÑифікації (необов'Ñзково)"
@@ -4170,7 +4322,7 @@ msgid "Clear"
msgstr "ОчиÑтити"
msgid "Clear chart filters"
-msgstr ""
+msgstr "ОчиÑтити фільтри графіків"
msgid "Clear input"
msgstr "ОчиÑтити ввід"
@@ -4199,9 +4351,6 @@ msgstr "Очищає вагу."
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "Клікніть по будь-Ñкому <strong>імені проекту</strong> зі ÑпиÑку нижче Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб перейти до етапу проекту."
-msgid "Click here"
-msgstr "ÐатиÑніть тут"
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "ÐатиÑніть кнопку <strong>ЗавантаженнÑ</strong> Ñ– зачекайте поки Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ðµ завершитьÑÑ."
@@ -4287,7 +4436,7 @@ msgid "Closes this %{quick_action_target}."
msgstr "Закриває %{quick_action_target}."
msgid "Cluster"
-msgstr ""
+msgstr "КлаÑтер"
msgid "Cluster Health"
msgstr "Стан клаÑтера"
@@ -4299,7 +4448,7 @@ msgid "Cluster does not exist"
msgstr ""
msgid "Cluster level"
-msgstr ""
+msgstr "Рівень клаÑтера"
msgid "ClusterIntegration| %{custom_domain_start}More information%{custom_domain_end}."
msgstr "%{custom_domain_start}Детальніше%{custom_domain_end}."
@@ -4317,7 +4466,7 @@ msgid "ClusterIntegration|%{appList} was successfully installed on your Kubernet
msgstr "%{appList} були уÑпішно вÑтановлені на ваш Kubernetes-клаÑтер"
msgid "ClusterIntegration|%{external_ip}.nip.io"
-msgstr ""
+msgstr "%{external_ip}.nip.io"
msgid "ClusterIntegration|%{title} uninstalled successfully."
msgstr "%{title} уÑпішно видалено."
@@ -4434,7 +4583,7 @@ msgid "ClusterIntegration|Choose which of your environments will use this cluste
msgstr "Виберіть, Ñке із ваших Ñередовищ буде викориÑтовувати цей клаÑтер."
msgid "ClusterIntegration|Clear cluster cache"
-msgstr ""
+msgstr "ОчиÑтити кеш клаÑтера"
msgid "ClusterIntegration|Clear the local cache of namespace and service accounts. This is necessary if your integration has become out of sync. The cache is repopulated during the next CI job that requires namespace and service accounts."
msgstr ""
@@ -4551,7 +4700,7 @@ msgid "ClusterIntegration|Enable this setting if using role-based access control
msgstr "Увімкніть цей параметр, Ñкщо викориÑтовуєтьÑÑ Ñ€Ð¾Ð»ÑŒÐ¾Ð²Ðµ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупом (RBAC)."
msgid "ClusterIntegration|Enabled stack"
-msgstr ""
+msgstr "Увімкнений Ñтек"
msgid "ClusterIntegration|Enter the details for your Amazon EKS Kubernetes cluster"
msgstr "Введіть параметри вашого Amazon EKS Kubernetes-клаÑтера"
@@ -4589,6 +4738,12 @@ msgstr "ÐžÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ñ–Ð²"
msgid "ClusterIntegration|Fetching zones"
msgstr "ÐžÑ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð·Ð¾Ð½"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "Ð†Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ñ–Ñ Ð· GitLab"
@@ -4602,7 +4757,7 @@ msgid "ClusterIntegration|GitLab-managed cluster"
msgstr "КлаÑтер, що керуєтьÑÑ GitLab"
msgid "ClusterIntegration|Gitlab Integration"
-msgstr ""
+msgstr "Ð†Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ñ–Ñ Ð· Gitlab"
msgid "ClusterIntegration|Global default"
msgstr ""
@@ -4755,7 +4910,7 @@ msgid "ClusterIntegration|Loading instance types"
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñ–Ð² інÑтанÑів"
msgid "ClusterIntegration|Loading networks"
-msgstr ""
+msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼ÐµÑ€ÐµÐ¶"
msgid "ClusterIntegration|Loading security groups"
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð³Ñ€ÑƒÐ¿ безпеки"
@@ -4895,6 +5050,15 @@ msgstr "Запит про початок вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ðµ викоÐ
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr "Запит про початок Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð½Ðµ виконано"
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "Зберегти зміни"
@@ -4991,6 +5155,12 @@ msgstr "Вибрати зону"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "Виберіть зону, щоб вибрати тип машин"
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr "Токен СервіÑа"
@@ -5106,7 +5276,7 @@ msgid "ClusterIntegration|We could not verify that one of your projects on GCP h
msgstr "Ми не змогли перевірити, що один із ваших проектів в GCP має ввімкнений білінг. Будь лаÑка, Ñпробуйте ще раз."
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 "За допомогою підключеного до цього проекту Kubernetes-клаÑтера, ви можете викориÑтовувати Review Apps, розгортати ваші проекти, запуÑкати конвеєри збірки тощо."
+msgstr ""
msgid "ClusterIntegration|You are about to remove your cluster integration and all GitLab-created resources associated with this cluster."
msgstr "Ви збираєтеÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ інтеграцію вашого клаÑтера та вÑÑ– реÑурÑи пов'Ñзані з цим клаÑтером, Ñкі були Ñтворені GitLab."
@@ -5136,7 +5306,7 @@ msgid "ClusterIntegration|Your cluster API is unreachable. Please ensure your AP
msgstr "API вашого клаÑтера недоÑтупний. ПереконайтеÑÑ, що ваш API URL правильний."
msgid "ClusterIntegration|Your service role is distinct from the provision role used when authenticating. It will allow Amazon EKS and the Kubernetes control plane to manage AWS resources on your behalf. To use a new role, first create one on %{startLink}Amazon Web Services %{externalLinkIcon} %{endLink}."
-msgstr ""
+msgstr "Ваша Ñлужбова роль відмінна від ролі Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²Ñ–Ð·Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ, Ñка викориÑтовувалаÑÑ Ð¿Ñ€Ð¸ автентифікації. Це дозволить Amazon EKS та панелі ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Kubernetes керувати реÑурÑами AWS від вашого імені. Ð”Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ імені ролі, Ñпочатку Ñтворіть Ñ—Ñ— в %{startLink}Amazon Web Services %{externalLinkIcon} %{endLink}."
msgid "ClusterIntegration|Zone"
msgstr "Зона"
@@ -5196,7 +5366,7 @@ msgid "Code Owners to the merge request changes."
msgstr ""
msgid "Code Quality"
-msgstr ""
+msgstr "ЯкіÑÑ‚ÑŒ коду"
msgid "Code Review"
msgstr ""
@@ -5241,7 +5411,7 @@ msgid "Collapse approvers"
msgstr "Згорнути ÑпиÑок затверджуючих оÑіб"
msgid "Collapse child epics"
-msgstr ""
+msgstr "Згорнути дочірні епіки"
msgid "Collapse sidebar"
msgstr "Згорнути панель"
@@ -5421,18 +5591,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5527,7 +5712,7 @@ msgid "Connect your external repositories, and CI/CD pipelines will run for new
msgstr "Підключіть ваші зовнішні репозиторії, Ñ– CI/CD конвеєри будуть запуÑкатиÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñ… комітів. Створений GitLab-проект буде мати лише CI/CD фунції."
msgid "Connected"
-msgstr ""
+msgstr "Підключено"
msgid "Connecting"
msgstr "З'єднаннÑ"
@@ -5563,7 +5748,7 @@ msgid "Container Registry"
msgstr "РеєÑÑ‚Ñ€ Контейнерів"
msgid "Container Registry tag expiration policy"
-msgstr ""
+msgstr "Політика Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ñƒ дії тегу контейнерів"
msgid "Container Scanning"
msgstr "Ð¡ÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€Ð°"
@@ -5580,9 +5765,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5595,6 +5786,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr "РеєÑÑ‚Ñ€ контейнерів"
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr "Скопіювати команду збірки"
@@ -5604,18 +5798,12 @@ msgstr "Скопіювати команду входу"
msgid "ContainerRegistry|Copy push command"
msgstr "Скопіювати команду відправленнÑ"
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr "Помилка Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Docker"
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5623,10 +5811,10 @@ msgid "ContainerRegistry|Expiration interval:"
msgstr ""
msgid "ContainerRegistry|Expiration policy successfully saved."
-msgstr ""
+msgstr "Політика щодо терміну дії уÑпішно збережена."
msgid "ContainerRegistry|Expiration policy:"
-msgstr ""
+msgstr "Політика завершеннÑ:"
msgid "ContainerRegistry|Expiration schedule:"
msgstr ""
@@ -5637,9 +5825,6 @@ msgstr "Якщо ви ще не виконали вхід вам необхідÐ
msgid "ContainerRegistry|Image ID"
msgstr "Ідентифікатор образу"
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5647,7 +5832,7 @@ msgid "ContainerRegistry|Last Updated"
msgstr "ВоÑтаннє оновлено"
msgid "ContainerRegistry|Login"
-msgstr ""
+msgstr "Увійти"
msgid "ContainerRegistry|Missing or insufficient permission, delete button disabled"
msgstr ""
@@ -5655,12 +5840,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr "Швидкий Ñтарт"
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "Видалити репозиторій"
@@ -5677,22 +5874,22 @@ msgstr[3] "Видалити тегів"
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5701,16 +5898,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr "Тег"
-msgid "ContainerRegistry|Tag deleted successfully"
+msgid "ContainerRegistry|Tag expiration policy"
+msgstr "Політика Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ñƒ дії тегу"
+
+msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tag expiration policy"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
msgstr ""
-msgid "ContainerRegistry|Tag expiration policy is designed to:"
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5731,18 +5937,18 @@ msgstr "В цій групі немає образів контейнерів"
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr "Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ проекту не збережено жодного образу контейнерів"
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr "Образ не має активних тегів"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr "У Ð½Ð°Ñ Ð²Ð¸Ð½Ð¸ÐºÐ»Ð¸ проблеми при з’єднанні з Docker, що може бути Ñпричинено помилкою пов’Ñзаною із іменем проекту або шлÑхом. %{docLinkStart}ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ%{docLinkEnd}"
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
-msgstr ""
-
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
msgstr "За допомогою РеєÑтру контейнерів, кожен проект може мати влаÑний проÑÑ‚Ñ–Ñ€ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¾Ð±Ñ€Ð°Ð·Ñ–Ð² Docker. %{docLinkStart}ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ%{docLinkEnd}"
@@ -5804,16 +6010,16 @@ msgid "ContributionAnalytics|Issues"
msgstr "Задачі"
msgid "ContributionAnalytics|Last 3 months"
-msgstr ""
+msgstr "ОÑтанні 3 міÑÑці"
msgid "ContributionAnalytics|Last month"
-msgstr ""
+msgstr "ОÑтанній міÑÑць"
msgid "ContributionAnalytics|Last week"
-msgstr ""
+msgstr "ОÑтанній тиждень"
msgid "ContributionAnalytics|Merge Requests"
-msgstr ""
+msgstr "Запити на злиттÑ"
msgid "ContributionAnalytics|No issues for the selected time period."
msgstr ""
@@ -5912,7 +6118,7 @@ msgid "Copy commit SHA"
msgstr "Скопіювати SHA коміту"
msgid "Copy environment"
-msgstr ""
+msgstr "Копіювати Ñередовище"
msgid "Copy evidence SHA"
msgstr ""
@@ -5927,7 +6133,7 @@ msgid "Copy impersonation token"
msgstr "Скопіювати токен імітуваннÑ"
msgid "Copy key"
-msgstr ""
+msgstr "Копіювати ключ"
msgid "Copy labels and milestone from %{source_issuable_reference}."
msgstr "Скопіювати мітки та етап із %{source_issuable_reference}."
@@ -5957,7 +6163,7 @@ msgid "Copy trigger token"
msgstr "Скопіювати токен тригера"
msgid "Copy value"
-msgstr ""
+msgstr "Копіювати значеннÑ"
msgid "Could not add admins as members"
msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ адмініÑтраторів Ñк учаÑників"
@@ -5995,8 +6201,8 @@ msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ %{design}. Будь лаÑка, ÑÐ
msgid "Could not delete chat nickname %{chat_name}."
msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ пÑевдонім Ð´Ð»Ñ Ñ‡Ð°Ñ‚Ñƒ %{chat_name}."
-msgid "Could not find design"
-msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ дизайн"
+msgid "Could not find design."
+msgstr ""
msgid "Could not remove the trigger."
msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ тригер."
@@ -6010,6 +6216,9 @@ msgstr "Ðеможливо відкликати токен імітуваннÑ
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr "Ðеможливо відкликати перÑональний токен доÑтупу %{personal_access_token_name}."
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -6067,6 +6276,9 @@ msgstr "Створити запит на злиттÑ"
msgid "Create a new branch"
msgstr "Створити нову гілку"
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr "Створіть новий файл, тому що наразі немає жодного файлу. Пізніше ви зможете закомітити ваші зміни."
@@ -6172,6 +6384,9 @@ msgstr "Створити мітку проекту"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6193,11 +6408,14 @@ msgstr "Створити токен Ð´Ð»Ñ Ð¾ÑобиÑтого доÑтупу"
msgid "Created"
msgstr "Створено"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr "Створено в"
msgid "Created On"
-msgstr ""
+msgstr "Створено"
msgid "Created a branch and a merge request to resolve this issue."
msgstr "Створено гілку та запит на Ð·Ð»Ð¸Ñ‚Ñ‚Ñ Ð´Ð»Ñ Ð²Ð¸Ñ€Ñ–ÑˆÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— задачі."
@@ -6242,7 +6460,7 @@ msgid "Creation date"
msgstr "Дата ÑтвореннÑ"
msgid "Credentials"
-msgstr ""
+msgstr "Облікові дані"
msgid "CredentialsInventory|No credentials found"
msgstr ""
@@ -6510,7 +6728,7 @@ msgstr[2] ""
msgstr[3] ""
msgid "CycleAnalytics|Select labels"
-msgstr ""
+msgstr "Вибрати мітки"
msgid "CycleAnalytics|Show"
msgstr "Показати"
@@ -6537,7 +6755,7 @@ msgid "CycleAnalytics|Total days to completion"
msgstr "Загальна кількіÑÑ‚ÑŒ днів до завершеннÑ"
msgid "CycleAnalytics|Type of work"
-msgstr ""
+msgstr "Тип роботи"
msgid "CycleAnalytics|group dropdown filter"
msgstr "випадаючий фільтр груп"
@@ -6551,6 +6769,9 @@ msgstr "випадаючий ÑпиÑок проєктів"
msgid "CycleAnalytics|stage dropdown"
msgstr "Випадаючий ÑпиÑок Ñтадій"
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6591,7 +6812,7 @@ msgid "Date range cannot exceed %{maxDateRange} days."
msgstr ""
msgid "Day of month"
-msgstr ""
+msgstr "День міÑÑцÑ"
msgid "DayTitle|F"
msgstr "Пт"
@@ -6822,10 +7043,10 @@ msgstr[3] "%d вразливоÑтей"
msgid "Dependencies|%d vulnerability detected"
msgid_plural "Dependencies|%d vulnerabilities detected"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "виÑвлено %d вразливіÑÑ‚ÑŒ"
+msgstr[1] "виÑвлено %d вразливоÑÑ‚Ñ–"
+msgstr[2] "виÑвлено %d вразливоÑтей"
+msgstr[3] "виÑвлено %d вразливоÑтей"
msgid "Dependencies|%{remainingLicensesCount} more"
msgstr "ще %{remainingLicensesCount}"
@@ -6867,7 +7088,7 @@ msgid "Dependencies|The %{codeStartTag}dependency_scanning%{codeEndTag} job has
msgstr "Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ %{codeStartTag}dependency_scanning%{codeEndTag} закінчилоÑÑ Ð½ÐµÑƒÑпішно Ñ– неможе згенерувати ÑпиÑок. Будь лаÑка, переконайтеÑÑ, що Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€ÑƒÑ”Ñ‚ÑŒÑÑ Ð½Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¼ чином Ñ– перезапуÑÑ‚Ñ–Ñ‚ÑŒ конвеєр."
msgid "Dependencies|Toggle vulnerability list"
-msgstr ""
+msgstr "Увімкнути/вимкнути ÑпиÑок вразливоÑтей"
msgid "Dependencies|Unsupported file(s) detected"
msgstr "ВиÑвлено непідтимувані файли"
@@ -6929,6 +7150,9 @@ msgstr "Ключі Ð´Ð»Ñ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ"
msgid "Deploy key was successfully updated."
msgstr "Ключ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ ÑƒÑпішно оновлено."
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr "Хід Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð½Ðµ знайдено. Щоб побачити pod'и, переконайтеÑÑŒ, що ваше Ñередовище відповідає %{linkStart}критеріÑм дошки розгортань%{linkEnd}."
@@ -7082,6 +7306,9 @@ msgstr "Розгорнуто на"
msgid "Deploying to"
msgstr "Ð Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð´Ð¾"
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr "API"
@@ -7155,7 +7382,7 @@ msgid "DesignManagement|Are you sure you want to delete the selected designs?"
msgstr "Ви впевнені, що хочете видалити вибрані дизайни?"
msgid "DesignManagement|Cancel comment confirmation"
-msgstr ""
+msgstr "СкаÑувати Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ"
msgid "DesignManagement|Could not add a new comment. Please try again."
msgstr ""
@@ -7179,7 +7406,7 @@ msgid "DesignManagement|Deselect all"
msgstr "ЗнÑти Ð²Ð¸Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð· уÑÑ–Ñ…"
msgid "DesignManagement|Discard comment"
-msgstr ""
+msgstr "Відхилити коментар"
msgid "DesignManagement|Error uploading a new design. Please try again."
msgstr ""
@@ -7194,7 +7421,7 @@ msgid "DesignManagement|Go to previous design"
msgstr "Перейти до попереднього дизайну"
msgid "DesignManagement|Keep comment"
-msgstr ""
+msgstr "Залишити коментар"
msgid "DesignManagement|Requested design version does not exist. Showing latest version instead"
msgstr "Бажана верÑÑ–Ñ Ð´Ð¸Ð·Ð°Ð¹Ð½Ñƒ не Ñ–Ñнує. ЗаміÑÑ‚ÑŒ неї відображаєтьÑÑ Ð¾ÑтаннÑ"
@@ -7290,7 +7517,7 @@ msgid "Discard all changes"
msgstr "Відхилити вÑÑ– зміни"
msgid "Discard all changes?"
-msgstr ""
+msgstr "СкаÑувати вÑÑ– зміни?"
msgid "Discard changes"
msgstr "Відхилити зміни"
@@ -7317,7 +7544,7 @@ msgid "Discover projects, groups and snippets. Share your projects with others"
msgstr "Відкрийте Ð´Ð»Ñ Ñебе групи, проекти та фрагменти коду. ПоділітьÑÑ Ñвоїми проектами з іншими"
msgid "Discover|Check your application for security vulnerabilities that may lead to unauthorized access, data leaks, and denial of services."
-msgstr ""
+msgstr "Перевірте Ñвій заÑтоÑунок на наÑвніÑÑ‚ÑŒ вразливоÑтей безпеки, що можуть привеÑти до неавторизованого доÑтупу, витоку даних, або відмови ÑевіÑів."
msgid "Discover|For code that's already live in production, our dashboards give you an easy way to prioritize any issues that are found, empowering your team to ship quickly and securely."
msgstr ""
@@ -7338,7 +7565,7 @@ msgid "Discover|Start a free trial"
msgstr ""
msgid "Discover|Upgrade now"
-msgstr ""
+msgstr "Оновити зараз"
msgid "Discuss a specific suggestion or question"
msgstr "Обговорити конкретну пропозицію чи питаннÑ"
@@ -7366,10 +7593,10 @@ msgstr "Відхилити"
msgid "Dismiss %d selected vulnerability as"
msgid_plural "Dismiss %d selected vulnerabilities as"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "Відхилити %d виділену вразливіÑÑ‚ÑŒ Ñк"
+msgstr[1] "Відхилити %d виділені вразливоÑÑ‚Ñ– Ñк"
+msgstr[2] "Відхилити %d виділених вразливоÑтей Ñк"
+msgstr[3] "Відхилити %d виділених вразливоÑтей Ñк"
msgid "Dismiss DevOps Score introduction"
msgstr ""
@@ -7558,7 +7785,7 @@ msgid "Edit Deploy Key"
msgstr "Редагувати ключ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ"
msgid "Edit Geo Node"
-msgstr ""
+msgstr "Редагувати Гео-вузол"
msgid "Edit Group Hook"
msgstr "Редагувати хук групи"
@@ -7602,9 +7829,6 @@ msgstr "Редагувати опиÑ"
msgid "Edit environment"
msgstr "Редагувати Ñередовище"
-msgid "Edit epic description"
-msgstr "Редагувати Ð¾Ð¿Ð¸Ñ ÐµÐ¿Ñ–ÐºÑƒ"
-
msgid "Edit file"
msgstr "Редагувати файл"
@@ -8026,7 +8250,7 @@ msgid "EnvironmentsDashboard|More actions"
msgstr "Додаткові дії"
msgid "EnvironmentsDashboard|Read more."
-msgstr ""
+msgstr "Читати більше."
msgid "EnvironmentsDashboard|Remove"
msgstr "Видалити"
@@ -8077,10 +8301,10 @@ msgid "Environments|Currently showing all results."
msgstr ""
msgid "Environments|Delete"
-msgstr ""
+msgstr "Видалити"
msgid "Environments|Delete environment"
-msgstr ""
+msgstr "Видалити Ñередовище"
msgid "Environments|Deleting the '%{environmentName}' environment cannot be undone. Do you want to delete it anyway?"
msgstr ""
@@ -8226,9 +8450,6 @@ msgstr "Події епіків"
msgid "Epics"
msgstr "Епіки"
-msgid "Epics (Ultimate / Gold license only)"
-msgstr "Епіки (лише Ultimate / Gold ліцензіÑ)"
-
msgid "Epics Roadmap"
msgstr "План-графік епіків"
@@ -8238,6 +8459,9 @@ msgstr "Епіки та задачі"
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr "Епіки дозволÑÑŽÑ‚ÑŒ керувати вашим портфелем проектів ефективніше та з меншими зуÑиллÑми"
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr "Додати епік"
@@ -8289,6 +8513,9 @@ msgstr "ЩоÑÑŒ пішло не так при отриманні дочірні
msgid "Epics|Something went wrong while fetching group epics."
msgstr "Помилка при отриманні епіків групи."
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr "Помилка при вÑтановленні порÑдку елементу."
@@ -8343,6 +8570,9 @@ msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ñ–Ñ‚Ð¾Ðº."
msgid "Error fetching network graph."
msgstr "Помилка при отриманні графа мережі."
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr "Помилка Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ñ–Ð²"
@@ -8352,9 +8582,6 @@ msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ refs"
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr "Помилка при отриманні ÑпиÑку залежноÑтей. Будь лаÑка, перевірте ваше Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· мережею."
-msgid "Error fetching usage ping data."
-msgstr "Помилка при отриманні данних про викориÑтаннÑ."
-
msgid "Error loading branch data. Please try again."
msgstr "Помилка при завантаженні даних про гілку. Будь лаÑка, Ñпробуйте знову."
@@ -8496,6 +8723,9 @@ msgstr "Ð”Ð»Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– вибору проектів введіть
msgid "Errors"
msgstr "Помилки"
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr "За оцінками"
@@ -8700,12 +8930,18 @@ msgstr "ПереглÑнути публічні групи"
msgid "Export as CSV"
msgstr "ЕкÑпортувати Ñк CSV"
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr "ЕкÑпортувати задачі"
msgid "Export project"
msgstr "ЕкÑпорт проекту"
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr "ЕкÑпортувати цей проект з уÑіма пов'Ñзаними даними Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб переміÑтити його на новий інÑÑ‚Ð°Ð½Ñ GitLab. ПіÑÐ»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ ÐµÐºÑпорту ви зможете імпортувати файл на Ñторінці \"Ðовий проект\"."
@@ -8775,9 +9011,6 @@ msgstr "Ðевдало"
msgid "Failed Jobs"
msgstr "Провалені завданнÑ"
-msgid "Failed create wiki"
-msgstr "Ðе вдалоÑÑ Ñтворити вікі"
-
msgid "Failed to add a Zoom meeting"
msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ Zoom-зуÑтріч"
@@ -8817,6 +9050,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr "Ðе вдалоÑÑ Ñтворити реÑурÑ"
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ дошку. Будь лаÑка, Ñпробуйте знову."
@@ -8826,7 +9062,7 @@ msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ð½ÑƒÑ‚Ð¸ до"
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr "Ðе вдалоÑÑ Ð²ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ð¸ rebase в чергу, можливо через довгоживучу транзакцію. Спробуйте знову через деÑкий чаÑ."
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8850,6 +9086,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ групи та кориÑтувачів."
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ пов’Ñзані гілки"
@@ -9154,7 +9396,7 @@ msgid "Fetching licenses failed. You are not permitted to perform this action."
msgstr "Ðе вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ліцензії. У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” дозовлів виконувати цю дію."
msgid "File"
-msgstr ""
+msgstr "Файл"
msgid "File Hooks"
msgstr ""
@@ -9193,7 +9435,7 @@ msgid "File upload error."
msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ."
msgid "File:"
-msgstr ""
+msgstr "Файл:"
msgid "Files"
msgstr "Файли"
@@ -9225,8 +9467,11 @@ msgstr "Фільтрувати за повідомленнÑм Ð´Ð»Ñ ÐºÐ¾Ð¼Ñ–Ñ‚
msgid "Filter by milestone name"
msgstr "Фільтрувати за назвою етапу"
-msgid "Filter by name..."
-msgstr "Фільтр по імені..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
+msgstr ""
msgid "Filter by two-factor authentication"
msgstr "Фільтрувати за двофакторною автентифікацією"
@@ -9235,7 +9480,10 @@ msgid "Filter by user"
msgstr "Сортувати по кориÑтувачах"
msgid "Filter projects"
-msgstr "Фільтрувати проекти"
+msgstr ""
+
+msgid "Filter results"
+msgstr ""
msgid "Filter results by group"
msgstr "Фільтрувати результати за групою"
@@ -9243,6 +9491,9 @@ msgstr "Фільтрувати результати за групою"
msgid "Filter results by project"
msgstr "Фільтрувати результати за проектом"
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr "Відфільтрувати ваші проекти за іменами"
@@ -9310,7 +9561,7 @@ msgid "Fixed:"
msgstr "Виправлено:"
msgid "Flags"
-msgstr ""
+msgstr "Прапори"
msgid "FlowdockService|Flowdock Git source token"
msgstr "Токен джерела Git Ð´Ð»Ñ Flowdock"
@@ -9531,12 +9782,12 @@ msgstr "ВкладеннÑ"
msgid "GeoNodes|Checksummed"
msgstr "Із контрольною Ñумою"
+msgid "GeoNodes|Consult Geo troubleshooting information"
+msgstr ""
+
msgid "GeoNodes|Container repositories"
msgstr "Репозиторії контейнерів"
-msgid "GeoNodes|Data is out of date from %{timeago}"
-msgstr "Дані заÑтаріли на %{timeago}"
-
msgid "GeoNodes|Data replication lag"
msgstr "Затримка реплікації даних"
@@ -9576,6 +9827,9 @@ msgstr "ОÑтанній ідентифікатор події, оброблен
msgid "GeoNodes|Last event ID seen from primary"
msgstr "ОÑтанній ідентифікатор події, видимий з оÑновного"
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²ÑƒÐ·Ð»Ñ–Ð²"
@@ -9591,6 +9845,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr "Вузол уÑпішно видалено."
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr "Без контрольної Ñуми"
@@ -9621,8 +9878,11 @@ msgstr "Стан обчиÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ñ— Ñуми репоз
msgid "GeoNodes|Repository verification progress"
msgstr "Стан перевірки репозиторію"
-msgid "GeoNodes|Selective"
-msgstr "Вибіркові"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
+msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
msgstr "Проблема при зміні ÑтатуÑа вузла"
@@ -9648,6 +9908,9 @@ msgstr "ÐевикориÑтані Ñлоти"
msgid "GeoNodes|Unverified"
msgstr "Ðепідтверджені"
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr "ВикориÑтані Ñлоти"
@@ -9687,17 +9950,17 @@ msgstr "%{name} заплановано Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ñ— перевірÐ
msgid "Geo|All"
msgstr "Ð’ÑÑ–"
-msgid "Geo|All projects"
-msgstr "Ð’ÑÑ– проекти"
+msgid "Geo|All %{replicable_type}"
+msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
-msgstr "Ð’ÑÑ– проекти плануютьÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ñ— Ñинхронізації"
+msgid "Geo|All projects"
+msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
-msgstr "Ð’ÑÑ– проекти заплановано Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾Ñ— перевірки"
+msgid "Geo|All projects are being scheduled for resync"
+msgstr ""
-msgid "Geo|Batch operations"
-msgstr "Групові операції"
+msgid "Geo|All projects are being scheduled for reverify"
+msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð²Ñ–Ð´ÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ–Ñнуючого проекту."
@@ -9708,9 +9971,15 @@ msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð²Ñ–Ð´ÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð
msgid "Geo|Failed"
msgstr "Ðевдало"
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr "Geo ÑтатуÑ"
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr "Синхронізовано"
@@ -9735,9 +10004,6 @@ msgstr "ÐаÑтупна ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð·Ð°Ð¿Ð»Ð°Ð½Ð¾Ð²Ð°Ð½Ð° на"
msgid "Geo|Not synced yet"
msgstr "Ðе Ñинхронізовано"
-msgid "Geo|Pending"
-msgstr "В очікуванні"
-
msgid "Geo|Pending synchronization"
msgstr "ÐžÑ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñинхронізації"
@@ -9774,8 +10040,8 @@ msgstr ""
msgid "Geo|Resync"
msgstr "Повторна ÑинхронізаціÑ"
-msgid "Geo|Resync all projects"
-msgstr "Повторна ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ Ð²ÑÑ–Ñ… проектів"
+msgid "Geo|Resync all"
+msgstr ""
msgid "Geo|Retry count"
msgstr "КількіÑÑ‚ÑŒ Ñпроб"
@@ -9783,8 +10049,8 @@ msgstr "КількіÑÑ‚ÑŒ Ñпроб"
msgid "Geo|Reverify"
msgstr "Повторно перевірити"
-msgid "Geo|Reverify all projects"
-msgstr "Повторно перевірити уÑÑ– проекти"
+msgid "Geo|Reverify all"
+msgstr ""
msgid "Geo|Status"
msgstr "СтатуÑ"
@@ -9889,7 +10155,7 @@ msgid "GitHub import"
msgstr "GitHub-імпорт"
msgid "GitLab / Unsubscribe"
-msgstr ""
+msgstr "GitLab / СкаÑувати підпиÑку"
msgid "GitLab Enterprise Edition %{plan}"
msgstr "GitLab Enterprise Edition %{plan}"
@@ -10108,7 +10374,7 @@ msgid "Go to %{link_to_google_takeout}."
msgstr "Перейти до %{link_to_google_takeout}."
msgid "Go to Pipelines"
-msgstr ""
+msgstr "Перейти до конвеєрів"
msgid "Go to Webhooks"
msgstr ""
@@ -10125,9 +10391,6 @@ msgstr "Перейти до Ñередовищ"
msgid "Go to file"
msgstr "Перейти до файлу"
-msgid "Go to file (MRs only)"
-msgstr "Перейти до файлу (лише запити на злиттÑ)"
-
msgid "Go to file permalink (while viewing a file)"
msgstr "Перейти до поÑтійного поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° файл (при переглÑді)"
@@ -10213,7 +10476,7 @@ msgid "Golden Tanuki"
msgstr "Золотий Танукі"
msgid "Google Cloud Platform"
-msgstr ""
+msgstr "Google Cloud Platform"
msgid "Google Code import"
msgstr "Імпорт з Google Code"
@@ -10339,7 +10602,7 @@ msgid "Group maintainers can register group runners in the %{link}"
msgstr "Керівники групи можуть зареєÑтрувати групові runner'и через %{link}"
msgid "Group members"
-msgstr ""
+msgstr "КориÑтувачі групи"
msgid "Group name"
msgstr "Ðазва групи"
@@ -10462,7 +10725,7 @@ msgid "GroupSAML|Manage your group’s membership while adding another level of
msgstr "Керуйте членÑтвом у вашій групі додаючи ще один рівень безпеки із SAML."
msgid "GroupSAML|Members"
-msgstr ""
+msgstr "УчаÑники"
msgid "GroupSAML|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 "УчаÑники будуть перенаправлені Ñюди, коли будуть заходити до вашої групи. Отримайте його від Ñвого провайдера ідентифікації, де вона також може називатиÑÑ \"SSO Service Location\", \"SAML Token Issuance Endpoint\", або \"SAML 2.0/W-Federation URL\"."
@@ -10572,6 +10835,9 @@ msgstr "Вимкнути ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð¾ÑŽ поштоÑ
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr "Якщо видиміÑÑ‚ÑŒ батьківÑької групи нижча, за поточну видиміÑÑ‚ÑŒ групи, тоді рівні видимоÑÑ‚Ñ– Ð´Ð»Ñ Ð¿Ñ–Ð´Ð³Ñ€ÑƒÐ¿ та проектів будуть змінені, щоб відповідати новій видимоÑÑ‚Ñ– батьківÑької групи."
@@ -10650,6 +10916,9 @@ msgstr "Групи"
msgid "Groups (%{count})"
msgstr "Групи (%{count})"
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr "Групи також можуть бути вкладеними при викориÑтанні %{subgroup_docs_link_start}підгруп%{subgroup_docs_link_end}."
@@ -10747,7 +11016,7 @@ msgid "Header message"
msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ°"
msgid "Health"
-msgstr ""
+msgstr "Здоров'Ñ"
msgid "Health Check"
msgstr "Перевірка ПрацездатноÑÑ‚Ñ–"
@@ -10842,7 +11111,7 @@ msgid "Hiding all labels"
msgstr "ÐŸÑ€Ð¸Ñ…Ð¾Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÑÑ–Ñ… міток"
msgid "High or unknown vulnerabilities present"
-msgstr ""
+msgstr "ПриÑутні вразливоÑÑ‚Ñ– виÑокого або невідомого рівнÑ"
msgid "Highest number of requests per minute for each raw path, default to 300. To disable throttling set to 0."
msgstr "Ðайвища кількіÑÑ‚ÑŒ запитів за хвилину Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ необробленого шлÑÑ…, за замовчуваннÑм Ñкладає 300. Ð”Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð²Ñтановіть в 0."
@@ -10919,15 +11188,12 @@ msgstr "ID"
msgid "ID:"
msgstr "ID:"
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
-msgstr "Дозволити попередній переглÑд JavaScript-проектів у веб-IDE за допомогою Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° клієнті CodeSandbox."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
+msgstr ""
msgid "IDE|Back"
msgstr "Ðазад"
-msgid "IDE|Client side evaluation"
-msgstr "Ð’Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð° клієнті"
-
msgid "IDE|Commit"
msgstr "Коміт"
@@ -10991,6 +11257,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr "Якщо будь-Ñке Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰Ð¸Ñ‚ÑŒ цей чаÑовий поріг, воно буде відмічене Ñк невдале. Ð”Ð»Ñ Ð²Ð²Ð¾Ð´Ñƒ чаÑу підтримуєтьÑÑ \"людÑкий\" формат, наприклад \"1 hour\" (1 година). Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±ÐµÐ· одиниць виміру предÑтавлÑÑŽÑ‚ÑŒ Ñекунди."
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr "Якщо увімкнено, тоді влаÑники груп зможуть керувати зв'Ñзками груп LDAP та перевизначеннÑм членів LDAP"
@@ -11030,6 +11299,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr "Якщо ви втратите коди відновленнÑ, ви можете Ñтворити нові, Ñ– вÑÑ– попередні коди Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð±ÑƒÐ´ÑƒÑ‚ÑŒ недійÑними."
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr "Якщо ваш HTTP-репозиторій не Ñ” загальнодоÑтупним, додайте Ñвої облікові дані."
@@ -11043,7 +11315,7 @@ msgid "Ignored"
msgstr ""
msgid "Image: %{image}"
-msgstr ""
+msgstr "Образ: %{image}"
msgid "ImageDiffViewer|2-up"
msgstr "2 поруч"
@@ -11141,6 +11413,9 @@ msgstr "Імпорт репозиторіїв з GitHub"
msgid "Import repository"
msgstr "Імпорт репозиторію"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr "Імпорт завдань"
@@ -11207,6 +11482,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr "Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб адаптувати GitLab до Ð²Ð°Ñ Ð½Ð°Ð¼<br>потрібно більше про Ð²Ð°Ñ Ð´Ñ–Ð·Ð½Ð°Ñ‚Ð¸ÑÑ."
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr "Ðа наÑтупному кроці ви зможете вибрати проекти, Ñкі хочете імпортувати."
@@ -11332,7 +11610,7 @@ msgid "Instance license"
msgstr "Ð›Ñ–Ñ†ÐµÐ½Ð·Ñ–Ñ Ñ–Ð½ÑтанÑу"
msgid "Integration"
-msgstr ""
+msgstr "ІнтеграціÑ"
msgid "Integration Settings"
msgstr ""
@@ -11413,7 +11691,7 @@ msgid "Invalid input, please avoid emojis"
msgstr "Ðекорректний ввід, будь лаÑка, уникайте Ñмайликів"
msgid "Invalid login or password"
-msgstr ""
+msgstr "Ðеправильний логін або пароль"
msgid "Invalid pin code"
msgstr "Ðеправильний PIN-код"
@@ -11556,15 +11834,15 @@ msgstr "РеєÑÑ‚Ñ€ задач YouTrack"
msgid "Issues"
msgstr "Задачі"
-msgid "Issues / Merge Requests"
-msgstr "Задачі / запити на злиттÑ"
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr "Задачі можуть бути помилками, нагадуваннÑми чи ідеÑми Ð´Ð»Ñ Ð¾Ð±Ð³Ð¾Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ. Крім того, задачі доÑтупні Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ та фільтруваннÑ."
@@ -11586,11 +11864,11 @@ msgstr "ПіÑÐ»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð´Ð°Ñ‡ Ð´Ð»Ñ Ð²Ð°ÑˆÐ¸Ñ… проектÑ
msgid "IssuesAnalytics|Avg/Month:"
msgstr "Ð’ Ñередньому за міÑÑць:"
-msgid "IssuesAnalytics|Issues created"
-msgstr "Створені задачі"
+msgid "IssuesAnalytics|Issues opened"
+msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
-msgstr "Створені задачі за міÑÑць"
+msgid "IssuesAnalytics|Issues opened per month"
+msgstr ""
msgid "IssuesAnalytics|Last 12 months"
msgstr "ОÑтанні 12 міÑÑців"
@@ -11643,6 +11921,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr "Події Ð´Ð»Ñ %{noteable_model_name} вимкнені."
@@ -12034,6 +12315,9 @@ msgstr "ОÑтанній конвеєр Ð´Ð»Ñ Ð¾Ñтаннього коміту
msgid "Lead"
msgstr "Керувати"
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr "ДізнатиÑÑ Ð¿Ñ€Ð¾ GitLab"
@@ -12046,6 +12330,9 @@ msgstr "ДізнайтеÑÑ Ñк %{link_start}зробити внеÑок до
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr "ДізнайтеÑÑ Ñк %{no_packages_link_start}публікувати та ділитиÑÑ Ð²Ð°ÑˆÐ¸Ð¼Ð¸ пакетами%{no_packages_link_end} через GitLab."
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr "ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ"
@@ -12387,11 +12674,8 @@ msgstr "СпиÑко репозиторіїв вашого Bitbucket Server"
msgid "Live preview"
msgstr "Попередній переглÑд"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
-msgstr ""
+msgstr "ЗавантаженнÑ"
msgid "Loading contribution stats for group members"
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ÑтатиÑтики учаÑників групи"
@@ -12478,7 +12762,7 @@ msgid "Logs|To see the logs, deploy your code to an environment."
msgstr ""
msgid "Low vulnerabilities present"
-msgstr ""
+msgstr "ПриÑутні вразливоÑÑ‚Ñ– низького рівнÑ"
msgid "MB"
msgstr "МБ"
@@ -12493,7 +12777,7 @@ msgid "MR widget|Take a look at our %{beginnerLinkStart}Beginner's Guide to Cont
msgstr ""
msgid "MR widget|The pipeline will now run automatically every time you commit code. Pipelines are useful for deploying static web pages, detecting vulnerabilities in dependencies, static or dynamic application security testing (SAST and DAST), and so much more!"
-msgstr ""
+msgstr "Цей конвеєр тепер буде запуÑкатиÑÑ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ разу при коміті коду. Конвеєри можуть бути кориÑними Ð´Ð»Ñ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ñтатичних вебÑторінок, виÑÐ²Ð»ÐµÐ½Ð½Ñ Ð²Ñ€Ð°Ð·Ð»Ð¸Ð²Ð¾Ñтей в залежноÑÑ‚ÑÑ…, Ñтатичному або динамічному теÑтуванні заÑтоÑунків (SAST та DAST), Ñ– багато чого іншого!"
msgid "MRApprovals|Approvals"
msgstr ""
@@ -12514,7 +12798,7 @@ msgid "Made this issue confidential."
msgstr "Цю задачу зроблено конфіденційною."
msgid "Maintenance mode"
-msgstr ""
+msgstr "Режим обÑлуговуваннÑ"
msgid "Make and review changes in the browser with the Web IDE"
msgstr "ЗдійÑнити та переглÑнути зміни в браузері за допомогою веб-IDE"
@@ -12540,9 +12824,6 @@ msgstr ""
msgid "Manage"
msgstr "Керувати"
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ñ–Ñми Git за допомогою детального контролю доÑтупу збереже ваш код в безпеці. Виконуйте переглÑд коду та покращуйте Ñпівпрацю за допомогою запитів на злиттÑ. Кожен проект може також мати трекер задач та вікі."
-
msgid "Manage Web IDE features"
msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñми веб-IDE"
@@ -12573,6 +12854,9 @@ msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð²Ð¾Ñ„Ð°ÐºÑ‚Ð¾Ñ€Ð½Ð¾ÑŽ автентифікаціє
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr "МаніфеÑÑ‚"
@@ -12787,7 +13071,7 @@ msgid "Median"
msgstr "Медіана"
msgid "Medium vulnerabilities present"
-msgstr ""
+msgstr "ПриÑутні вразливоÑÑ‚Ñ– низького рівнÑ"
msgid "Member lock"
msgstr "Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ ÑƒÑ‡Ð°Ñників"
@@ -12837,6 +13121,9 @@ msgstr "Запит на Ð·Ð»Ð¸Ñ‚Ñ‚Ñ Ð±ÑƒÐ»Ð¾ Ñтворено"
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ñ–Ñ‚Ñƒ-злиттÑ"
@@ -12990,6 +13277,12 @@ msgstr "Злито"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr "Злиті гілки в процеÑÑ– видаленнÑ. Це може зайнÑти деÑкий Ñ‡Ð°Ñ Ð² залежноÑÑ‚Ñ– від Ñ—Ñ… кількоÑÑ‚Ñ–. Будь лаÑка, оновіть Ñторінку, щоб побачити зміни."
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr "Зливає цей запит на злиттÑ, коли конвеєр завершуєтьÑÑ ÑƒÑпішно."
@@ -13003,7 +13296,7 @@ msgid "Method"
msgstr "Метод"
msgid "Method:"
-msgstr ""
+msgstr "Метод:"
msgid "Metric was successfully added."
msgstr "Метрику уÑпішно додано."
@@ -13012,7 +13305,7 @@ msgid "Metric was successfully updated."
msgstr "Метрику уÑпішно оновлено."
msgid "Metric:"
-msgstr ""
+msgstr "Метрика:"
msgid "MetricChart|Please select a metric"
msgstr "Будь лаÑка, виберіть метрику"
@@ -13099,12 +13392,15 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-msgid "Metrics|Environment"
-msgstr "Середовище"
+msgid "Metrics|Expand panel"
+msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr "Ð”Ð»Ñ Ð³Ñ€ÑƒÐ¿ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð´Ñ–Ð±Ð½Ð¸Ñ… метрик"
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -13135,9 +13431,6 @@ msgstr "Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ñ–Ñ Ð¿Ð¾ запитам Prometheus"
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr "Показати оÑтанні"
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13184,7 +13477,7 @@ msgid "Metrics|Validating query"
msgstr ""
msgid "Metrics|Values"
-msgstr ""
+msgstr "ЗначеннÑ"
msgid "Metrics|View logs"
msgstr ""
@@ -13216,6 +13509,9 @@ msgstr "напр. зап/Ñек"
msgid "Microsoft Azure"
msgstr "Microsoft Azure"
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr "ПеренеÑено %{success_count}/%{total_count} файлів."
@@ -13627,7 +13923,7 @@ msgid "New project"
msgstr "Ðовий проект"
msgid "New release"
-msgstr ""
+msgstr "Ðовий реліз"
msgid "New requirement"
msgstr ""
@@ -13665,11 +13961,11 @@ msgstr "За замовчуваннÑм щойно зареєÑтровані к
msgid "Next"
msgstr "Далі"
-msgid "Next file in diff (MRs only)"
-msgstr "ÐаÑтупний файл у різниці (лише Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð² на злиттÑ)"
+msgid "Next file in diff"
+msgstr ""
-msgid "Next unresolved discussion (MRs only)"
-msgstr "ÐаÑтупне незакрите Ð¾Ð±Ð³Ð¾Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ (лише в запитах на злиттÑ)"
+msgid "Next unresolved discussion"
+msgstr ""
msgid "Nickname"
msgstr "ПÑевдонім"
@@ -13728,6 +14024,9 @@ msgstr "Ðемає змін"
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr "Ðемає змін між %{ref_start}%{source_branch}%{ref_end} та %{ref_start}%{target_branch}%{ref_end}"
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr "Ðеможливо з'єднатиÑÑŒ із Ñервером Gitaly, будь лаÑка, перевірте логи!"
@@ -13866,17 +14165,8 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr "Ð’ цьому проєкті не знайдено вразливоÑтей"
-
msgid "No vulnerabilities present"
-msgstr ""
+msgstr "ВразливоÑÑ‚Ñ– відÑутні"
msgid "No webhooks found, add one in the form above."
msgstr "Ðе знайдено жодного вебхука, додайте його у формі вище."
@@ -13998,6 +14288,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr "Дані Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду відÑутні."
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ події"
@@ -14169,6 +14462,9 @@ msgstr "ПіÑÐ»Ñ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚Ñƒ, репозиторії можуть бути
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr "ПіÑÐ»Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð²â€™Ñзок форку не може бути відновлений Ñ– ви більше не зможете відправлÑти запити на Ð·Ð»Ð¸Ñ‚Ñ‚Ñ Ñƒ вихідний проект."
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr "ПіÑÐ»Ñ Ñ‚Ð¾Ð³Ð¾, Ñк екÑпортований файл буде готовий, ви отримаєте ÑÐ¿Ð¾Ð²Ñ–Ñ‰ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð¾ÑŽ поштою із поÑиланнÑм Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð°Ð±Ð¾ можете завантажити його з цієї Ñторінки."
@@ -14272,9 +14568,6 @@ msgstr "Відкрити в неформатованому виглÑді"
msgid "Open sidebar"
msgstr "Розгорніть бічну панель"
-msgid "Open source software to collaborate on code"
-msgstr "Відкрите програмне Ð·Ð°Ð±ÐµÐ·Ð¿ÐµÑ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñпільної роботи над кодом"
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14377,6 +14670,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "ОглÑд"
@@ -14428,6 +14724,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14449,6 +14748,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14482,6 +14784,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14491,6 +14799,9 @@ msgstr "Ð’ÑтановленнÑ"
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr "ДізнайтеÑÑ Ñк %{noPackagesLinkStart}публікувати та ділитиÑÑ Ð²Ð°ÑˆÐ¸Ð¼Ð¸ пакетами%{noPackagesLinkEnd} через GitLab."
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14509,12 +14820,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÑ”Ñтру"
@@ -14551,19 +14868,25 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr "npm"
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr "yarn"
msgid "PackageType|Conan"
-msgstr ""
+msgstr "Conan"
msgid "PackageType|Maven"
-msgstr ""
+msgstr "Maven"
msgid "PackageType|NPM"
-msgstr ""
+msgstr "NPM"
msgid "PackageType|NuGet"
+msgstr "NuGet"
+
+msgid "PackageType|PyPi"
msgstr ""
msgid "Packages"
@@ -14600,10 +14923,10 @@ msgid "Pagination|Last »"
msgstr "ОÑÑ‚Ð°Ð½Ð½Ñ Â»"
msgid "Pagination|Next"
-msgstr ""
+msgstr "ÐаÑтупна"
msgid "Pagination|Prev"
-msgstr ""
+msgstr "ПопереднÑ"
msgid "Pagination|« First"
msgstr "« Перша"
@@ -14615,7 +14938,7 @@ msgid "Parameter \"job_id\" cannot exceed length of %{job_id_max_size}"
msgstr ""
msgid "Parent"
-msgstr ""
+msgstr "Джерело"
msgid "Parent epic doesn't exist."
msgstr "БатьківÑький епік не Ñ–Ñнує."
@@ -14659,6 +14982,9 @@ msgstr "Пароль уÑпішно оновлено. Будь лаÑка, увÑ
msgid "Past due"
msgstr "ПроÑтрочені"
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr "Ð’Ñтавте Ñюди відкритий ключ машини. ДізнайтеÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про те, Ñк його згенерувати %{link_start}тут%{link_end}"
@@ -14674,9 +15000,6 @@ msgstr "Ð’Ñтавте Ñвій публічний ключ SSH, Ñкий заз
msgid "Path"
msgstr "ШлÑÑ…"
-msgid "Path, transfer, remove"
-msgstr "ШлÑÑ…, перенеÑеннÑ, видаленнÑ"
-
msgid "Path:"
msgstr "ШлÑÑ…:"
@@ -14707,8 +15030,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "Виконуйте такі розширені операції, Ñк зміна шлÑху, перенеÑÐµÐ½Ð½Ñ Ñ‡Ð¸ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð³Ñ€ÑƒÐ¿Ð¸."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr "Виконати звичайні операції на проекті GitLab"
@@ -14788,9 +15111,6 @@ msgstr "Розклади Конвеєрів"
msgid "Pipeline minutes quota"
msgstr "Квота хвилин Ð´Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÑ”Ñ€Ñ–Ð²"
-msgid "Pipeline quota"
-msgstr "Квота на конвеєри"
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14800,6 +15120,9 @@ msgstr "Тригери конвеєру"
msgid "Pipeline: %{status}"
msgstr "Конвеєр: %{status}"
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "Ðевдалі:"
@@ -14878,15 +15201,6 @@ msgstr "Конвеєри Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñ‚Ñ–Ð² на Ð·Ð»Ð¸Ñ‚Ñ‚Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ð²ÐµÑ”Ñ€Ñ–Ð² Ð´Ð»Ñ \"%{project_name}\" уÑпішно оновлено."
-msgid "Pipelines| to purchase more minutes."
-msgstr " Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð´Ð±Ð°Ð½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¸Ñ… хвилин."
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr "%{namespace_name} перевищив Ñвою квоту хвилин Ð´Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÑ”Ñ€Ñ–Ð²."
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr "%{namespace_name} має менш ніж %{notification_level}%% доÑтупних хвилин Ð´Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÑ”Ñ€Ñ–Ð²."
-
msgid "Pipelines|API"
msgstr "API"
@@ -14908,12 +15222,15 @@ msgstr "Безперервно Ñ–Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ñ–Ñ Ð´Ð¾Ð¿Ð¾Ð¼Ð°Ð³Ð°Ñ” знахÐ
msgid "Pipelines|Get started with Pipelines"
msgstr "Розпочати роботу з Конвеєрами"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
msgid "Pipelines|Loading Pipelines"
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ð²ÐµÑ”Ñ€Ñ–Ð²"
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
-msgstr "Конвеєри більше не будуть запуÑкатиÑÑ Ð½Ð° загальних runner'ах."
-
msgid "Pipelines|Project cache successfully reset."
msgstr "Кеш проекту уÑпішно очищено."
@@ -14951,7 +15268,7 @@ msgid "Pipeline|Coverage"
msgstr "ПокриттÑ"
msgid "Pipeline|Date"
-msgstr ""
+msgstr "Дата"
msgid "Pipeline|Detached merge request pipeline"
msgstr "Відділений конвеєр запиту на злиттÑ"
@@ -14975,7 +15292,7 @@ msgid "Pipeline|Pipeline"
msgstr "Конвеєр"
msgid "Pipeline|Pipelines"
-msgstr ""
+msgstr "Конвеєр"
msgid "Pipeline|Run Pipeline"
msgstr "ЗапуÑтити Конвеєр"
@@ -15142,6 +15459,9 @@ msgstr "Будь лаÑка, повторно введіть адреÑу еле
msgid "Please select"
msgstr "Будь лаÑка, виберіть"
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr "Будь лаÑка, виберіть країну"
@@ -15187,6 +15507,9 @@ msgstr "Будь лаÑка, почекайте поки ми з’єднуємÐ
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr "Будь лаÑка, почекайте поки ми імпортуємо ваш репозиторій. Оновлюйте Ñторінку за бажаннÑм."
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15304,7 +15627,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15325,11 +15648,11 @@ msgstr "Попередній переглÑд кориÑного навантаÐ
msgid "Previous Artifacts"
msgstr "Попередні артефакти"
-msgid "Previous file in diff (MRs only)"
-msgstr "Попередній файл у різниці (лише запити на злиттÑ)"
+msgid "Previous file in diff"
+msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
-msgstr "Попереднє незакрите Ð¾Ð±Ð³Ð¾Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ (лише в запитах на злиттÑ)"
+msgid "Previous unresolved discussion"
+msgstr ""
msgid "Primary"
msgstr "Головний"
@@ -15361,6 +15684,9 @@ msgstr "Приватна група(и)"
msgid "Private profile"
msgstr "Приватний профіль"
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr "Приватні проекти можуть бути Ñтворені у вашому перÑональному проÑторі імен з:"
@@ -15368,7 +15694,7 @@ msgid "Proceed"
msgstr "Продовжити"
msgid "Productivity"
-msgstr ""
+msgstr "ПродуктивніÑÑ‚ÑŒ"
msgid "Productivity Analytics"
msgstr "Ðналітика ПродуктивноÑÑ‚Ñ–"
@@ -16189,6 +16515,9 @@ msgstr "Вікі"
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr "За допомогою GitLab Pages ви можете розміщувати Ñвої Ñтатичні веб-Ñайти в GitLab"
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ".NET Core"
@@ -16252,14 +16581,17 @@ msgstr "Serverless Framework/JS"
msgid "ProjectTemplates|Spring"
msgstr "Spring"
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr "iOS (Swift)"
msgid "Projects"
-msgstr "Проекти"
+msgstr "Проєкти"
msgid "Projects (%{count})"
-msgstr "Проекти (%{count})"
+msgstr "Проєкти (%{count})"
msgid "Projects Successfully Retrieved"
msgstr "Проекти уÑпішно отримано"
@@ -16471,15 +16803,15 @@ msgstr "Базова адреÑа Prometheus API, наприклад http://prom
msgid "PrometheusService|Prometheus is being automatically managed on your clusters"
msgstr "Prometheus автоматично налаштований на ваших клаÑтерах"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
+msgstr ""
+
msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment"
msgstr "Ці метрики будуть збиратиÑÑ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ піÑÐ»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ Ð² ÑкомуÑÑŒ Ñеридовищі"
msgid "PrometheusService|Time-series monitoring service"
msgstr "Ð¡ÐµÑ€Ð²Ñ–Ñ Ð¼Ð¾Ð½Ñ–Ñ‚Ð¾Ñ€Ð¸Ð½Ð³Ñƒ чаÑових Ñ€Ñдів"
-msgid "PrometheusService|To enable manual configuration, uninstall Prometheus from your clusters"
-msgstr "Ð”Ð»Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– ручного налаштуваннÑ, видаліть Prometheus із ваших клаÑтерів"
-
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
msgstr "Ð”Ð»Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Prometheus на ваші клаÑтери, деактивуйте ручні Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð¸Ð¶Ñ‡Ðµ"
@@ -16663,6 +16995,9 @@ msgstr "ЗахиÑÑ‚ із вашого Ñередовища було знÑто"
msgid "Protip:"
msgstr "Підказка:"
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr "ПоÑтачальник"
@@ -16687,6 +17022,9 @@ msgstr "Публічні ключі Ñ€Ð¾Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ (%{deploy_keys_count}
msgid "Public pipelines"
msgstr "Публічні конвеєри"
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr "Отримати (pull)"
@@ -16889,6 +17227,9 @@ msgstr[1] "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· %d Ñекунди Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°
msgstr[2] "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· %d Ñекунд Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð°ÐºÑ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñтану..."
msgstr[3] "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· %d Ñекунд Ð´Ð»Ñ Ð²Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð°ÐºÑ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ñтану..."
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr "Перегенерувати ідентифікатор інÑтанÑу"
@@ -17197,10 +17538,10 @@ msgid "Rename folder"
msgstr "Перейменувати папку"
msgid "Rename/Move"
-msgstr ""
+msgstr "Перейменувати/ПереміÑтити"
msgid "Reopen"
-msgstr ""
+msgstr "Повторне відкриттÑ"
msgid "Reopen epic"
msgstr "Повторне Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ ÐµÐ¿Ñ–ÐºÑƒ"
@@ -17260,7 +17601,7 @@ msgid "Reported Resource Changes: %{addNum} to add, %{changeNum} to change, %{de
msgstr ""
msgid "Reporter"
-msgstr ""
+msgstr "Репортер"
msgid "Reporting"
msgstr "ЗвітуваннÑ"
@@ -17268,9 +17609,31 @@ msgstr "ЗвітуваннÑ"
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+msgstr[2] ""
+msgstr[3] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr "Дії"
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr "КлаÑ"
@@ -17376,7 +17739,7 @@ msgstr "Запит на зв’ÑÐ·ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±Ð»Ñ–ÐºÐ¾Ð²Ð¾Ð³Ð¾ запиÑÑ
msgid "Requested %{time_ago}"
msgstr "Відправлено запит %{time_ago}"
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17535,7 +17898,7 @@ msgid "Restart Terminal"
msgstr "ПерезапуÑтити термінал"
msgid "Restore group"
-msgstr ""
+msgstr "Відновити групу"
msgid "Restore project"
msgstr "Відновити проєкт"
@@ -17564,6 +17927,9 @@ msgstr "Відновити реплікацію"
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17634,6 +18000,9 @@ msgstr "Відкликано токен Ñ–Ð¼Ñ–Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ %{token_name}!"
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr "Відкликано перÑональний токен доÑтупу %{personal_access_token_name}!"
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr "додаваннÑ"
@@ -17650,7 +18019,7 @@ msgid "Rollback"
msgstr "Відкотити"
msgid "Rook"
-msgstr ""
+msgstr "Rook"
msgid "Rules that define what git pushes are accepted for a project. All newly created projects will use these settings."
msgstr ""
@@ -17682,6 +18051,9 @@ msgstr "Runner виконує завданні із призначених прÐ
msgid "Runner token"
msgstr "Токен Runner'а"
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr "Runner не було оновлено."
@@ -17736,6 +18108,9 @@ msgstr "Єдиний вхід SAML"
msgid "SAML SSO for %{group_name}"
msgstr "Єдиний вхід SAML Ð´Ð»Ñ %{group_name}"
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr "SAML Ð´Ð»Ñ %{group_name}"
@@ -17794,7 +18169,7 @@ msgid "Save comment"
msgstr "Зберегти коментар"
msgid "Save expiration policy"
-msgstr ""
+msgstr "Зберегти політику Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ Ñ‚ÐµÑ€Ð¼Ñ–Ð½Ñƒ дії"
msgid "Save password"
msgstr "Зберегти пароль"
@@ -17820,12 +18195,18 @@ msgstr "Розклад нового конвеєра"
msgid "Scheduled"
msgstr "Заплановано"
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr "Заплановано Ð·Ð»Ð¸Ð²Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ запиту на злиттÑ, коли конвеєр завершитьÑÑ ÑƒÑпішно."
msgid "Schedules"
msgstr "Розклади"
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr "ПлануваннÑ"
@@ -17883,6 +18264,9 @@ msgstr "Пошук у гілках"
msgid "Search branches and tags"
msgstr "Пошук гілок та тегів"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr "Пошук файлів"
@@ -18044,13 +18428,6 @@ msgstr[1] "Ñніпети"
msgstr[2] "Ñніпетів"
msgstr[3] "Ñніпетів"
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] "результат в Ñніпетах"
-msgstr[1] "результати в Ñніпетах"
-msgstr[2] "результатів в Ñніпетах"
-msgstr[3] "результатів в Ñніпетах"
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] "кориÑтувач"
@@ -18065,6 +18442,9 @@ msgstr[1] "результати у вікі"
msgstr[2] "результатів у вікі"
msgstr[3] "результатів у вікі"
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -18092,185 +18472,233 @@ msgstr ""
msgid "Security Dashboard"
msgstr "Панель безпеки"
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
-msgstr "Помилка під Ñ‡Ð°Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÐºÑ–Ð»ÑŒÐºÐ¾ÑÑ‚Ñ– вразливоÑтей. Будь лаÑка, перевірте ваше з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· мережею Ñ– Ñпробуйте знову."
+msgid "Security configuration help link"
+msgstr "ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° довідку Ð´Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ безпеки"
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
-msgstr "Помилка під Ñ‡Ð°Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑку вразливоÑтей. Будь лаÑка, перевірте ваше з'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð· мережею Ñ– Ñпробуйте знову."
+msgid "Security dashboard"
+msgstr "Панель безпеки"
-msgid "Security Dashboard|Issue Created"
-msgstr "Створено задачу"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
-msgstr "Коментар додано до '%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
-msgstr "Коментар видалено в \"%{vulnerabilityName}\""
+msgid "SecurityConfiguration|Configured"
+msgstr "Ðалаштовано"
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
-msgstr "Коментар відредаговано в \"%{vulnerabilityName}\""
+msgid "SecurityConfiguration|Feature"
+msgstr "ФункціÑ"
-msgid "Security Reports|Create issue"
-msgstr "Створити задачу"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
-msgstr "Відхилити вразливіÑÑ‚ÑŒ"
+msgid "SecurityConfiguration|Not yet configured"
+msgstr "Ще не налаштовано"
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
-msgstr "Відхилено '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
+msgstr "Безпечні функції"
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
-msgstr "Відхилено \"%{vulnerabilityName}\". Ð”Ð»Ñ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ð¾ÑÑ‚Ñ– переглÑду вимкніть перемикач \"приховати відхилені\"."
+msgid "SecurityConfiguration|Status"
+msgstr "Стан"
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
-msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” доÑтупу до цієї панелі ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð°Ð±Ð¾ вона не Ñконфігурована. Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ, будь-лаÑка, перевірте Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу за допомогою вашого адмініÑтратора, або перевірте конфігурації панелей."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
+msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
-msgstr "ДізнайтеÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð°ÑˆÐ¾Ñ— панелі"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
+msgstr ""
-msgid "Security Reports|More info"
-msgstr "Детальніше"
+msgid "SecurityReports|Add a project to your dashboard"
+msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
-msgstr "Ой, щоÑÑŒ пішло не так."
+msgid "SecurityReports|Add or remove projects from your dashboard"
+msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
-msgstr "Помилка під Ñ‡Ð°Ñ Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the issue."
-msgstr "Помилка при Ñтворенні задачі."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
-msgstr "Помилка при Ñтворенні запиту на злиттÑ."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
-msgstr "Під Ñ‡Ð°Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°."
+msgid "SecurityReports|Create issue"
+msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
-msgstr "Помилка при відхиленні вразливоÑÑ‚Ñ–."
+msgid "SecurityReports|Dismiss vulnerability"
+msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
-msgstr "Помилка при анулюванні відхиленнÑ."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
-msgstr "Помилка при анулюванні цього відхиленнÑ."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgstr ""
-msgid "Security Reports|Undo dismiss"
-msgstr "Відмінити відхиленнÑ"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
+msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
-msgstr "ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° довідку Ð´Ð»Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ безпеки"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgstr ""
-msgid "Security dashboard"
-msgstr "Панель безпеки"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
+msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
-msgstr "Ðалаштовано"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
+msgstr ""
-msgid "SecurityConfiguration|Feature"
-msgstr "ФункціÑ"
+msgid "SecurityReports|Issue Created"
+msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
-msgstr "Ще не налаштовано"
+msgid "SecurityReports|Learn more about setting up your dashboard"
+msgstr ""
-msgid "SecurityConfiguration|Secure features"
-msgstr "Безпечні функції"
+msgid "SecurityReports|Load more vulnerabilities"
+msgstr ""
-msgid "SecurityConfiguration|Status"
-msgstr "Стан"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
-msgstr "%{firstProject} та %{secondProject}"
+msgid "SecurityReports|More info"
+msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
-msgstr "%{firstProject}, %{secondProject} та %{rest}"
+msgid "SecurityReports|More information"
+msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
-msgstr "Додати проект до панелі"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
-msgstr "Додати або видалити проекти із панелі"
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
-msgid "SecurityDashboard|Add projects"
-msgstr "Додати проекти"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
-msgstr "Редагувати панель"
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
-msgstr "Приховати відхилені"
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
-msgstr "Моніторинг вразливоÑтей у вашому коді"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgstr ""
-msgid "SecurityDashboard|More information"
-msgstr "Детальніше"
+msgid "SecurityReports|Project"
+msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Project"
-msgstr "Проект"
+msgid "SecurityReports|Report type"
+msgstr ""
-msgid "SecurityDashboard|Projects added"
-msgstr "Додані проекти"
+msgid "SecurityReports|Return to dashboard"
+msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
-msgstr "Видалити проект із панелі"
+msgid "SecurityReports|Security Dashboard"
+msgstr ""
-msgid "SecurityDashboard|Report type"
-msgstr "Тип звіту"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
+msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
-msgstr "ПовернутиÑÑ Ð´Ð¾ панелі"
+msgid "SecurityReports|Select a project to add by using the project search field above."
+msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
-msgstr "Панель безпеки"
+msgid "SecurityReports|Select a reason"
+msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
-msgstr "Виберіть проект вище за допомогою Ð¿Ð¾Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ проекту."
+msgid "SecurityReports|Severity"
+msgstr ""
-msgid "SecurityDashboard|Severity"
-msgstr "Рівень"
+msgid "SecurityReports|Status"
+msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
-msgstr "Панель безпеки відображає оÑтанню інфорацію Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ñ–Ð², Ñкі ви відÑлідковуєте. Виберіть \"Редагувати панель\" Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ñ‚Ð° Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ñ–Ð²."
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
-msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ %{invalidProjects}"
+msgid "SecurityReports|There was an error creating the merge request."
+msgstr ""
+
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
+msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
msgstr ""
@@ -18281,6 +18709,9 @@ msgstr "ПереглÑнути метрики"
msgid "See the affected projects in the GitLab admin panel"
msgstr "ПереглÑнути уÑÑ– уражені проекти на панелі адмініÑтратора GitLab"
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr "Вибрати"
@@ -18686,9 +19117,6 @@ msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ CI/CD"
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr "Ðвтоматично налаштувати %{type} Runner"
@@ -18773,6 +19201,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr "Рівень: %{severity}"
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -19075,7 +19506,7 @@ msgid "Snippets|Description (optional)"
msgstr ""
msgid "Snippets|File"
-msgstr ""
+msgstr "Файл"
msgid "Snippets|Give your file a name to add code highlighting, e.g. example.rb for Ruby"
msgstr ""
@@ -19089,6 +19520,9 @@ msgstr ""
msgid "Snowplow"
msgstr "Snowplow"
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr "ДеÑкі Ñервери електронної пошти не підтримують Ð¿ÐµÑ€ÐµÐ²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð¼ÐµÐ½Ñ– відправника. Увімкніть це налаштуваннÑ, щоб включати Ñ–Ð¼â€™Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð° задачі, запиту на Ð·Ð»Ð¸Ñ‚Ñ‚Ñ Ð°Ð±Ð¾ ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ Ð² тіло повідомленнÑ."
@@ -19230,6 +19664,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr "Проблема, не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ %{project} до панелі керуваннÑ"
@@ -19515,6 +19952,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr "Позначте мітку, щоб зробити Ñ—Ñ— пріоритетною. ПеретÑгуйте пріоритетні мітки Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ Ñ—Ñ… відноÑного пріоритету."
@@ -19638,6 +20078,9 @@ msgstr "Залиште Ñвоє Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19647,18 +20090,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
-msgid "StaticSiteEditor|Success!"
+msgid "StaticSiteEditor|Static site editor"
msgstr ""
+msgid "StaticSiteEditor|Success!"
+msgstr "УÑпіх!"
+
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19699,7 +20154,7 @@ msgid "StatusPage|AWS region"
msgstr ""
msgid "StatusPage|Active"
-msgstr ""
+msgstr "Ðктивний"
msgid "StatusPage|Bucket %{docsLink}"
msgstr ""
@@ -19716,6 +20171,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -20064,6 +20525,12 @@ msgstr "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ Ñинхронізацію"
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr "СиÑтемні"
@@ -20217,6 +20684,9 @@ msgstr "Домен команди"
msgid "Telephone number"
msgstr "Ðомер телефону"
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "Шаблон"
@@ -20529,6 +20999,9 @@ msgstr "Ліцензію видалено. Ðаразі GitLab не моє жоÐ
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr "Ліцензію уÑпішно завантажено Ñ– вона активна. Подробиці можна переглÑнути нижче."
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr "МакÑимальний розмір файлу — %{size}."
@@ -20704,10 +21177,10 @@ 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 "The vulnerability is no longer detected. Verify the vulnerability has been fixed or removed before changing its status."
-msgstr ""
+msgstr "ВразливіÑÑ‚ÑŒ більше не виÑвлÑєтьÑÑ. Перевірте, що цю вразливіÑÑ‚ÑŒ виправлено або видалено перед тим, Ñк змінювати ÑтатуÑ."
msgid "The vulnerability is no longer detected. Verify the vulnerability has been remediated before changing its status."
-msgstr ""
+msgstr "ВразливіÑÑ‚ÑŒ більше не виÑвлÑєтьÑÑ. Перевірте, що цю вразливіÑÑ‚ÑŒ виправлено перед тим, Ñк змінювати ÑтатуÑ."
msgid "There are no GPG keys associated with this account."
msgstr "Ðемає GPG ключів, пов’Ñзаних із цим обліковим запиÑом."
@@ -20850,6 +21323,9 @@ msgstr "Помилка при отриманні даних Ð´Ð»Ñ Ð´Ñ–Ð°Ð³Ñ€Ð°Ð
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr "Помилка при завантаженні ÐºÐ°Ð»ÐµÐ½Ð´Ð°Ñ€Ñ Ð°ÐºÑ‚Ð¸Ð²Ð½Ð¾ÑÑ‚Ñ– кориÑтувачів."
@@ -20865,7 +21341,7 @@ msgstr "Помилка при Ñкиданні групових хвилин дÐ
msgid "There was an error resetting user pipeline minutes."
msgstr "Помилка при Ñкиданні хвилин Ð´Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÑ”Ñ€Ñ–Ð² кориÑтувача."
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20928,6 +21404,9 @@ msgstr "Ці змінні вÑтановлені в налаштуваннÑÑ… Ð
msgid "They can be managed using the %{link}."
msgstr "Ðими можна керувати за допомогою %{link}."
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr "Сторонні пропозиції"
@@ -20964,6 +21443,9 @@ msgstr "Цей заÑтоÑунок було Ñтворено %{link_to_owner}."
msgid "This application will be able to:"
msgstr "Ð¦Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð° зможе:"
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr "Цей блок поÑилаєтьÑÑ Ñам на Ñебе"
@@ -21105,6 +21587,12 @@ msgstr "Ð¦Ñ Ð·Ð°Ð´Ð°Ñ‡Ð° Ñ” %{confidentialLinkStart}конфіденційноÑ
msgid "This issue is confidential"
msgstr "Ð¦Ñ Ð·Ð°Ð´Ð°Ñ‡Ð° Ñ” конфіденційною"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "Ð¦Ñ Ð·Ð°Ð´Ð°Ñ‡Ð° заблокована."
@@ -21303,7 +21791,10 @@ msgstr "Цей кориÑтувач буде автором вÑÑ–Ñ… подій
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr "Цей кориÑтувач буде автором вÑÑ–Ñ… подій в каналі активноÑÑ‚Ñ–, Ñкі Ñ” результатом оновленнÑ, наприклад ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… гілок або Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… комітів до Ñ–Ñнуючих гілок. При Ñтворенні або перепризначенні ви зможете призначити лише Ñебе кориÑтувачем Ð´Ð»Ñ Ð²Ñ–Ð´Ð´Ð·ÐµÑ€ÐºÐ°Ð»ÐµÐ½Ð½Ñ."
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21333,10 +21824,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21361,7 +21852,7 @@ msgid "ThreatMonitoring|Requests"
msgstr ""
msgid "ThreatMonitoring|Show last"
-msgstr ""
+msgstr "Показати оÑтанній"
msgid "ThreatMonitoring|Something went wrong, unable to fetch environments"
msgstr ""
@@ -21369,7 +21860,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21382,7 +21873,7 @@ msgid "ThreatMonitoring|Threat Monitoring help page link"
msgstr ""
msgid "ThreatMonitoring|Time"
-msgstr ""
+msgstr "ЧаÑ"
msgid "ThreatMonitoring|To view this data, ensure you have configured an environment for this project and that at least one threat monitoring feature is enabled."
msgstr ""
@@ -21391,7 +21882,7 @@ msgid "ThreatMonitoring|Total Packets"
msgstr ""
msgid "ThreatMonitoring|Total Requests"
-msgstr ""
+msgstr "Загальна кількіÑÑ‚ÑŒ запитів"
msgid "ThreatMonitoring|View documentation"
msgstr ""
@@ -21438,6 +21929,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr "ЗалишилоÑÑ Ñ‡Ð°Ñу"
@@ -21626,8 +22120,8 @@ msgstr "Заголовок"
msgid "Title:"
msgstr "Заголовок:"
-msgid "Titles and Filenames"
-msgstr "Заголовки та імена файлів"
+msgid "Titles and Descriptions"
+msgstr ""
msgid "To"
msgstr "До"
@@ -21833,8 +22327,8 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
-msgstr "Теми"
+msgid "Topics (optional)"
+msgstr ""
msgid "Total"
msgstr "Ð’Ñього"
@@ -21846,13 +22340,13 @@ msgid "Total artifacts size: %{total_size}"
msgstr "Загальний розмір артефактів: %{total_size}"
msgid "Total cores (vCPUs)"
-msgstr ""
+msgstr "Ð’Ñього Ñдер (vCPU)"
msgid "Total issues"
msgstr "Ð’Ñього задач"
msgid "Total memory (GB)"
-msgstr ""
+msgstr "Ð’Ñього пам'ÑÑ‚Ñ– (ГБ)"
msgid "Total test time for all commits/merges"
msgstr "Загальний чаÑ, щоб перевірити вÑÑ– коміти/злиттÑ"
@@ -21939,7 +22433,7 @@ msgid "Trending"
msgstr "ПопулÑрні"
msgid "Trials|Go back to GitLab"
-msgstr ""
+msgstr "ПовернутиÑÑ Ð´Ð¾ GitLab"
msgid "Trials|Skip Trial (Continue with Free Account)"
msgstr ""
@@ -21951,7 +22445,7 @@ msgid "Trials|You won't get a free trial right now but you can always resume thi
msgstr ""
msgid "Trigger"
-msgstr ""
+msgstr "Тригер"
msgid "Trigger pipelines for mirror updates"
msgstr "ЗапуÑкати конвеєри Ð´Ð»Ñ Ð²Ñ–Ð´Ð´Ð·ÐµÑ€ÐºÐ°Ð»ÐµÐ½Ð¸Ñ… змін"
@@ -21995,6 +22489,9 @@ msgstr "Спробуйте ще раз?"
msgid "Try all GitLab has to offer for 30 days."
msgstr "Спробуйте вÑÑ– функції GitLab протÑгом 30 днів."
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr "Спробувати зробити форк знову"
@@ -22088,6 +22585,9 @@ msgstr "Ðеможливо з’єднатиÑÑŒ з Prometheus Ñервером"
msgid "Unable to connect to server: %{error}"
msgstr "Ðе вдалоÑÑ Ð·Ð²â€™ÑзатиÑÑ Ñ–Ð· Ñервером: %{error}"
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22509,7 +23009,7 @@ msgid "Use an one time password authenticator on your mobile device or computer
msgstr "ВикориÑтовуйте одноразовий пароль на вашому мобільному приÑтрої або комп’ютері Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ñ–Ñ— двофакторної автентифікації (2FA)."
msgid "Use custom color #FF0000"
-msgstr ""
+msgstr "ВикориÑтовувати влаÑний колір #FF0000"
msgid "Use group milestones to manage issues from multiple projects in the same milestone."
msgstr "ВикориÑтовуйте групові етапи, щоб керувати у одному етапі задачі з різних проектів."
@@ -23035,6 +23535,9 @@ msgstr ""
msgid "View issue"
msgstr "ПереглÑнути задачу"
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr "ПереглÑнути це на GitLab"
@@ -23129,7 +23632,7 @@ msgid "VisualReviewApp|%{stepStart}Step 4%{stepEnd}. Leave feedback in the Revie
msgstr ""
msgid "VisualReviewApp|Cancel"
-msgstr ""
+msgstr "СкаÑувати"
msgid "VisualReviewApp|Copy merge request ID"
msgstr "Скопіювати ID запиту на злиттÑ"
@@ -23162,16 +23665,16 @@ msgid "Vulnerabilities over time"
msgstr "ВразливоÑÑ‚Ñ– в чаÑÑ–"
msgid "Vulnerability List"
-msgstr ""
+msgstr "СпиÑок вразливоÑтей"
msgid "Vulnerability remediated. Review before resolving."
-msgstr ""
+msgstr "ВразливіÑÑ‚ÑŒ виправлено. ПереглÑньте перед вирішеннÑм."
msgid "Vulnerability resolved in %{branch}"
-msgstr ""
+msgstr "ВразливіÑÑ‚ÑŒ вирішено в %{branch}"
msgid "Vulnerability resolved in the default branch"
-msgstr ""
+msgstr "ВразливіÑÑ‚ÑŒ вирішено у гілці за замовчуваннÑм"
msgid "Vulnerability-Check"
msgstr "Vulnerability-Check"
@@ -23186,60 +23689,72 @@ msgid "VulnerabilityManagement|A true-positive and will fix"
msgstr ""
msgid "VulnerabilityManagement|Change status"
-msgstr ""
+msgstr "Змінити ÑтатуÑ"
msgid "VulnerabilityManagement|Confirm"
-msgstr ""
+msgstr "Підтвердити"
msgid "VulnerabilityManagement|Confirmed %{timeago} by %{user}"
-msgstr ""
+msgstr "Підтверджено %{timeago} кориÑтувачем %{user}"
msgid "VulnerabilityManagement|Create issue"
-msgstr ""
+msgstr "Створити задачу"
msgid "VulnerabilityManagement|Detected %{timeago} in pipeline %{pipelineLink}"
-msgstr ""
+msgstr "ВиÑвлено %{timeago} в контейнері %{pipelineLink}"
msgid "VulnerabilityManagement|Dismiss"
-msgstr ""
+msgstr "Відхилити"
msgid "VulnerabilityManagement|Dismissed %{timeago} by %{user}"
-msgstr ""
+msgstr "Відхилено %{timeago} кориÑтувачем %{user}"
msgid "VulnerabilityManagement|Resolved"
-msgstr ""
+msgstr "Вирішено"
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
+msgstr "Вирішено %{timeago} кориÑтувачем %{user}"
+
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
msgstr ""
-msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
msgstr ""
-msgid "VulnerabilityManagement|Something went wrong, could not get user."
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
+msgstr "ЩоÑÑŒ пішло не так, не вдалоÑÑ Ñтворити задачу."
+
+msgid "VulnerabilityManagement|Something went wrong, could not get user."
+msgstr "ЩоÑÑŒ пішло не так, не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кориÑтувача."
+
msgid "VulnerabilityManagement|Something went wrong, could not update vulnerability state."
-msgstr ""
+msgstr "ЩоÑÑŒ пішло не так, не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ñтан вразливоÑÑ‚Ñ–."
msgid "VulnerabilityManagement|Verified as fixed or mitigated"
-msgstr ""
+msgstr "Підтверджено і вирішено"
msgid "VulnerabilityManagement|Will not fix or a false-positive"
msgstr ""
msgid "VulnerabilityStatusTypes|All"
-msgstr ""
+msgstr "Ð’ÑÑ–"
msgid "VulnerabilityStatusTypes|Confirmed"
-msgstr ""
+msgstr "Підтверджені"
msgid "VulnerabilityStatusTypes|Detected"
-msgstr ""
+msgstr "ВиÑвлені"
msgid "VulnerabilityStatusTypes|Dismissed"
-msgstr ""
+msgstr "Відхилені"
msgid "VulnerabilityStatusTypes|Resolved"
+msgstr "Вирішені"
+
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
msgstr ""
msgid "Vulnerability|Class"
@@ -23267,7 +23782,7 @@ msgid "Vulnerability|Links"
msgstr "ПоÑиланнÑ"
msgid "Vulnerability|Method"
-msgstr ""
+msgstr "Метод"
msgid "Vulnerability|Namespace"
msgstr "ПроÑÑ‚Ñ–Ñ€ імен"
@@ -23275,14 +23790,17 @@ msgstr "ПроÑÑ‚Ñ–Ñ€ імен"
msgid "Vulnerability|Project"
msgstr "Проект"
-msgid "Vulnerability|Report Type"
-msgstr "Тип звіту"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
+msgstr ""
msgid "Vulnerability|Severity"
msgstr "Рівень"
msgid "Vulnerability|Status"
-msgstr ""
+msgstr "СтатуÑ"
msgid "WIP"
msgstr "WIP (в процеÑÑ–)"
@@ -23329,9 +23847,15 @@ msgstr "Ми отримали відповідь від вашого приÑÑ‚Ñ
msgid "We sent you an email with reset password instructions"
msgstr "Ми надіÑлали вам Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ð¾ електронній пошті з інÑтрукціÑми по відновленню паролю"
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr "Ми хочемо бути впевнені, що це ви, будь лаÑка, підтвердіть, що ви не робот."
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr "Ми не виÑвили вразливоÑтей"
@@ -23348,7 +23872,7 @@ msgid "WebIDE|Merge request"
msgstr ""
msgid "Webhook"
-msgstr ""
+msgstr "Вебхук"
msgid "Webhook Logs"
msgstr ""
@@ -23438,17 +23962,8 @@ msgstr "При викориÑтанні протоколів <code>http://</code
msgid "When:"
msgstr "Коли:"
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
+msgstr "Хоча й рідко, але можливо не мати вразливоÑтей. Ð’ будь-Ñкому разі, ми проÑимо Ð²Ð°Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€Ð¸Ñ‚Ð¸ ваші налаштуваннÑ, щоб впевнитиÑÑ, що ваша панель налаштована правильно."
msgid "White helpers give contextual information."
msgstr "Білі вказівники дають контекÑтну інформацію."
@@ -23477,9 +23992,6 @@ msgstr ""
msgid "Wiki"
msgstr "Вікі"
-msgid "Wiki pages"
-msgstr "Сторінки Вікі"
-
msgid "Wiki was successfully updated."
msgstr "Вікі уÑпішно оновлено."
@@ -23663,6 +24175,9 @@ msgstr "Так або ні"
msgid "Yes, add it"
msgstr "Так, додати це"
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr "Так, дозволити мені зв’Ñзати кориÑтувачів Google Code із повними іменами кориÑтувачів GitLab."
@@ -23858,6 +24373,9 @@ msgstr "Ви не можете запиÑувати на цей \"тільки Ð
msgid "You could not create a new trigger."
msgstr "Ви не змогли Ñтворити новий тригер."
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23924,6 +24442,9 @@ msgstr "Ви відпиÑані від цього обговореннÑ."
msgid "You have declined the invitation to join %{label}."
msgstr "Ви відхилили Ð·Ð°Ð¿Ñ€Ð¾ÑˆÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ Ð´Ð¾ %{label}."
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” прав доÑтупу"
@@ -24005,6 +24526,9 @@ msgstr "Ви повинні завантажити екÑпортований а
msgid "You need to upload a Google Takeout archive."
msgstr "Вам потрібно завантажити архів Google Takeout."
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr "Ви намагалиÑÑ Ñтворити Ð²Ñ–Ð´Ð³Ð°Ð»ÑƒÐ¶ÐµÐ½Ð½Ñ (форк) %{link_to_the_project}, але воно не вдалоÑÑ Ð· наÑтупної причини:"
@@ -24089,9 +24613,21 @@ msgstr "Ви уже увімкнули двофакторну автентифі
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr "Ваша адреÑа електронної пошти Ð´Ð»Ñ ÐºÐ¾Ð¼Ñ–Ñ‚Ñ–Ð² буде викориÑтовуватиÑÑ Ð´Ð»Ñ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ð½Ð¸Ñ… операцій, таких Ñк Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° злиттÑ."
@@ -24188,6 +24724,9 @@ msgstr "Ðе вдалоÑÑ Ð½Ð°Ð´Ñ–Ñлати ваш коментар! Пере
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr "Ðе вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ ваш коментар! Перевірте Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ мережі та повторіть Ñпробу."
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -24227,6 +24766,9 @@ msgstr "Ваш новий токен SCIM"
msgid "Your new personal access token has been created."
msgstr "Ваш новий перÑональний токен доÑтупу Ñтворено."
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr "Ваш пароль не потрібен Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ³Ð»Ñду цієї Ñторінки. Якщо вимагаєтьÑÑ Ð²Ð²ÐµÑти пароль або будь-Ñкі інші оÑобиÑÑ‚Ñ– дані, зв’ÑжітьÑÑ Ð·Ñ– Ñвоїм адмініÑтратором, щоб повідомити про порушеннÑ."
@@ -24234,7 +24776,7 @@ msgid "Your password reset token has expired."
msgstr "Ваш токен Ð´Ð»Ñ ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»ÑŽ заÑтарів."
msgid "Your profile"
-msgstr ""
+msgstr "Ваш профіль"
msgid "Your project limit is %{limit} projects! Please contact your administrator to increase it"
msgstr "Ваш ліміт проектів Ñкладає %{limit}! Будь лаÑка, звернітьÑÑ Ð´Ð¾ адмініÑтратора, щоб його збільшити"
@@ -24245,12 +24787,18 @@ msgstr "Ваші проекти"
msgid "Your request for access has been queued for review."
msgstr "Ваш запит на Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð¾Ñтупу поÑтавлено в чергу Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸."
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24271,10 +24819,10 @@ msgstr "дизайн"
msgid "about 1 hour"
msgid_plural "about %d hours"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "близько 1 години"
+msgstr[1] "близько %d годин"
+msgstr[2] "близько %d годин"
+msgstr[3] "близько %d годин"
msgid "activated"
msgstr ""
@@ -24291,8 +24839,8 @@ msgstr "тому"
msgid "allowed to fail"
msgstr "невдача дозволена"
-msgid "already being used for another group or project milestone."
-msgstr "вже викориÑтовуєтьÑÑ Ð´Ð»Ñ Ñ–Ð½ÑˆÐ¾Ð³Ð¾ проектного або групового етапу."
+msgid "already being used for another group or project %{timebox_name}."
+msgstr ""
msgid "already has a \"created\" issue link"
msgstr ""
@@ -24310,7 +24858,7 @@ msgid "any-approver for the project already exists"
msgstr ""
msgid "archived"
-msgstr ""
+msgstr "заархівовано"
msgid "assign yourself"
msgstr "призначити Ñамому Ñобі"
@@ -24369,6 +24917,9 @@ msgstr "%{linkStartTag}ДізнайтеÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про Ñкануван
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr "%{linkStartTag}ДізнайтеÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про SAST%{linkEndTag}"
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr "%{linkStartTag}ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про звіти про ÑкіÑÑ‚ÑŒ коду %{linkEndTag}"
@@ -24542,6 +25093,12 @@ msgstr "Вирішити за допомогою запиту на злиттÑ"
msgid "ciReport|SAST"
msgstr "SAST"
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr "Перевірка безпеки"
@@ -24712,10 +25269,10 @@ msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ñ…Ð¸Ð»Ð¸Ñ‚Ð¸ пов’Ñзану знахідÐ
msgid "file"
msgid_plural "files"
-msgstr[0] ""
-msgstr[1] ""
-msgstr[2] ""
-msgstr[3] ""
+msgstr[0] "файл"
+msgstr[1] "файли"
+msgstr[2] "файлів"
+msgstr[3] "файлів"
msgid "finding is not found or is already attached to a vulnerability"
msgstr "знахідку втрачено або вже закріплено за вразливіÑÑ‚ÑŽ"
@@ -24747,9 +25304,12 @@ msgstr ""
msgid "group"
msgstr "група"
-msgid "has already been linked to another vulnerability"
+msgid "groups"
msgstr ""
+msgid "has already been linked to another vulnerability"
+msgstr "було прив’Ñзано до іншої вразливоÑÑ‚Ñ–"
+
msgid "has already been taken"
msgstr "уже викориÑтовуєтьÑÑ"
@@ -24791,7 +25351,7 @@ msgid "invalid milestone state `%{state}`"
msgstr "некоректний Ñтан етапу '%{state}'"
msgid "is"
-msgstr ""
+msgstr "Ñ”"
msgid "is already associated to a GitLab Issue. New issue will not be associated."
msgstr ""
@@ -24914,9 +25474,6 @@ msgstr[3] "запитів на злиттÑ"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr "етап повинен належати до проекту або до групи."
-
msgid "missing"
msgstr "відÑутні"
@@ -25253,6 +25810,9 @@ msgstr "Ðовий запит на злиттÑ"
msgid "no contributions"
msgstr "немає внеÑків"
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr "ніхто не може виконати злиттÑ"
@@ -25309,6 +25869,9 @@ msgstr "коментар в очікуванні"
msgid "pending removal"
msgstr "очікуєтьÑÑ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ"
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr "конвеєр"
@@ -25341,6 +25904,12 @@ msgstr[3] "проектів"
msgid "project avatar"
msgstr "аватар проекту"
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr "швидкі дії"
@@ -25489,13 +26058,6 @@ msgstr ""
msgid "this document"
msgstr "цей документ"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] "Ð¾Ð±Ð³Ð¾Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¾"
-msgstr[1] "Ð¾Ð±Ð³Ð¾Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ–"
-msgstr[2] "обговорень закрито"
-msgstr[3] "обговорень закрито"
-
msgid "to help your contributors communicate effectively!"
msgstr "щоб допомогти вашим контриб’юторам ефективно ÑпілкуватиÑÑ!"
@@ -25550,6 +26112,9 @@ msgstr "переглÑнути це на GitLab"
msgid "view the blob"
msgstr "переглÑнути бінарні дані"
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr "Додати коментар або причину Ð´Ð»Ñ Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ"
@@ -25572,7 +26137,7 @@ msgid "vulnerability|dismissed"
msgstr "відхилено"
msgid "wiki page"
-msgstr ""
+msgstr "вікі-Ñторінка"
msgid "with %{additions} additions, %{deletions} deletions."
msgstr "з %{additions} додаваннÑми Ñ– %{deletions} видаленнÑми."
diff --git a/locale/ur_PK/gitlab.po b/locale/ur_PK/gitlab.po
index 380eb562032..40304c3ba3b 100644
--- a/locale/ur_PK/gitlab.po
+++ b/locale/ur_PK/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: ur-PK\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:28\n"
+"PO-Revision-Date: 2020-05-05 21:37\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/uz_UZ/gitlab.po b/locale/uz_UZ/gitlab.po
index b23b5af97f4..3694bf80831 100644
--- a/locale/uz_UZ/gitlab.po
+++ b/locale/uz_UZ/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: uz\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:28\n"
+"PO-Revision-Date: 2020-05-05 21:33\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -212,6 +212,11 @@ msgid_plural "%d tags"
msgstr[0] ""
msgstr[1] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -371,6 +376,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -383,6 +391,11 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+msgstr[1] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -506,6 +519,9 @@ msgstr[1] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -781,12 +797,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -820,6 +842,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -1036,6 +1061,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -1045,6 +1076,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1287,6 +1321,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1658,6 +1695,72 @@ msgid_plural "Alerts"
msgstr[0] ""
msgstr[1] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1727,6 +1830,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1745,6 +1851,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1853,6 +1962,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1934,6 +2046,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2171,6 +2286,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2386,10 +2504,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2419,6 +2537,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2595,6 +2716,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2633,6 +2757,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2915,9 +3060,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -3047,6 +3189,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3266,6 +3411,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3386,6 +3534,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3554,6 +3705,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3590,9 +3744,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3608,9 +3759,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -4061,9 +4209,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4451,6 +4596,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4757,6 +4908,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4853,6 +5013,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5281,18 +5447,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5440,9 +5621,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5455,6 +5642,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5464,18 +5654,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5497,9 +5681,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5515,12 +5696,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5535,22 +5728,22 @@ msgstr[1] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5559,16 +5752,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5589,16 +5791,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5853,7 +6055,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5868,6 +6070,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5925,6 +6130,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -6030,6 +6238,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -6051,6 +6262,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6407,6 +6621,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6773,6 +6990,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6926,6 +7146,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7444,9 +7667,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -8068,9 +8288,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8080,6 +8297,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8131,6 +8351,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8185,6 +8408,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8194,9 +8420,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8338,6 +8561,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8542,12 +8768,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8617,9 +8849,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8659,6 +8888,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8668,7 +8900,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8692,6 +8924,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -9067,7 +9305,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9079,12 +9320,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9373,10 +9620,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9418,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9433,6 +9683,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9463,7 +9716,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9490,6 +9746,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9529,16 +9788,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9550,9 +9809,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9577,9 +9842,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9616,7 +9878,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9625,7 +9887,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9967,9 +10229,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10414,6 +10673,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10492,6 +10754,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10757,15 +11022,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10829,6 +11091,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10868,6 +11133,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10979,6 +11247,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -11045,6 +11316,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11392,15 +11666,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11422,10 +11696,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11479,6 +11753,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11868,6 +12145,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11880,6 +12160,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12211,9 +12494,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12364,9 +12644,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12397,6 +12674,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12661,6 +12941,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12814,6 +13097,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12921,12 +13210,15 @@ msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
msgstr[1] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12957,9 +13249,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -13038,6 +13327,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13483,10 +13775,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13546,6 +13838,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13684,15 +13979,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13816,6 +14102,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13987,6 +14276,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -14088,9 +14380,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14193,6 +14482,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14244,6 +14536,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14265,6 +14560,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14298,6 +14596,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14307,6 +14611,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14325,12 +14632,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14367,6 +14680,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14382,6 +14698,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14475,6 +14794,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14490,9 +14812,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14523,7 +14842,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14604,9 +14923,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14616,6 +14932,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14694,15 +15013,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14724,10 +15034,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14958,6 +15271,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -15003,6 +15319,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15120,7 +15439,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15141,10 +15460,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15177,6 +15496,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -16005,6 +16327,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -16068,6 +16393,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16287,13 +16615,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16479,6 +16807,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16503,6 +16834,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16703,6 +17037,9 @@ msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
msgstr[1] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -17080,9 +17417,29 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+msgstr[1] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17188,7 +17545,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17372,6 +17729,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17440,6 +17800,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17488,6 +17851,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17542,6 +17908,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17626,12 +17995,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17689,6 +18064,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17834,11 +18212,6 @@ msgid_plural "SearchResults|snippets"
msgstr[0] ""
msgstr[1] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17849,6 +18222,9 @@ msgid_plural "SearchResults|wiki results"
msgstr[0] ""
msgstr[1] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17876,184 +18252,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -18065,6 +18489,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18470,9 +18897,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18557,6 +18981,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18871,6 +19298,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -19012,6 +19442,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19297,6 +19730,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19420,6 +19856,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19429,18 +19868,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19498,6 +19949,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19846,6 +20303,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19999,6 +20462,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20305,6 +20771,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20626,6 +21095,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20641,7 +21113,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20704,6 +21176,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20740,6 +21215,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20881,6 +21359,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -21079,7 +21563,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -21109,10 +21596,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21145,7 +21632,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21214,6 +21701,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21398,7 +21888,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21605,7 +22095,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21767,6 +22257,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21860,6 +22353,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22803,6 +23299,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22980,6 +23479,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -23010,6 +23518,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -23043,7 +23554,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -23097,9 +23611,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23204,15 +23724,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23243,9 +23754,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23429,6 +23937,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23624,6 +24135,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23690,6 +24204,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23771,6 +24288,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23855,9 +24375,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23954,6 +24486,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23993,6 +24528,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -24011,12 +24549,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -24055,7 +24599,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24133,6 +24677,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24296,6 +24843,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24493,6 +25046,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24656,9 +25212,6 @@ msgstr[1] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24995,6 +25548,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -25047,6 +25603,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -25075,6 +25634,12 @@ msgstr[1] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25221,11 +25786,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-msgstr[1] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25280,6 +25840,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/vi_VN/gitlab.po b/locale/vi_VN/gitlab.po
index 4e4c772d46c..a2c51f338f0 100644
--- a/locale/vi_VN/gitlab.po
+++ b/locale/vi_VN/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: vi\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:28\n"
+"PO-Revision-Date: 2020-05-05 21:34\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -182,6 +182,10 @@ msgid "%d tag"
msgid_plural "%d tags"
msgstr[0] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -335,6 +339,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -347,6 +354,10 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr ""
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr ""
@@ -464,6 +475,9 @@ msgstr[0] ""
msgid "%{text} is available"
msgstr ""
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -720,12 +734,18 @@ msgstr ""
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr ""
@@ -759,6 +779,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -975,6 +998,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -984,6 +1013,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr ""
@@ -1225,6 +1257,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1595,6 +1630,72 @@ msgid "Alert"
msgid_plural "Alerts"
msgstr[0] ""
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1664,6 +1765,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr ""
@@ -1682,6 +1786,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1790,6 +1897,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr ""
@@ -1871,6 +1981,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr ""
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2108,6 +2221,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2319,10 +2435,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2352,6 +2468,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2527,6 +2646,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2564,6 +2686,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr ""
@@ -2846,9 +2989,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -2978,6 +3118,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3197,6 +3340,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3317,6 +3463,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3485,6 +3634,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3521,9 +3673,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3539,9 +3688,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -3992,9 +4138,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4382,6 +4525,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4688,6 +4837,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4784,6 +4942,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5211,18 +5375,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5370,9 +5549,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5385,6 +5570,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5394,18 +5582,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5427,9 +5609,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5445,12 +5624,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5464,22 +5655,22 @@ msgstr[0] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5488,16 +5679,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5518,16 +5718,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5782,7 +5982,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5797,6 +5997,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5854,6 +6057,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -5959,6 +6165,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -5980,6 +6189,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6335,6 +6547,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6695,6 +6910,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6848,6 +7066,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7365,9 +7586,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -7989,9 +8207,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8001,6 +8216,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8052,6 +8270,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8106,6 +8327,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8115,9 +8339,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8259,6 +8480,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8463,12 +8687,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8538,9 +8768,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8580,6 +8807,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8589,7 +8819,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8613,6 +8843,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -8988,7 +9224,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9000,12 +9239,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9294,10 +9539,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9339,6 +9584,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9354,6 +9602,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9384,7 +9635,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9411,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9450,16 +9707,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9471,9 +9728,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9498,9 +9761,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9537,7 +9797,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9546,7 +9806,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9888,9 +10148,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10335,6 +10592,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10413,6 +10673,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10676,15 +10939,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10748,6 +11008,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10787,6 +11050,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10898,6 +11164,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -10964,6 +11233,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11310,15 +11582,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11340,10 +11612,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11397,6 +11669,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11785,6 +12060,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11797,6 +12075,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12123,9 +12404,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12276,9 +12554,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12309,6 +12584,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12573,6 +12851,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12726,6 +13007,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12832,12 +13119,15 @@ msgid "Metrics|Edit metric"
msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12868,9 +13158,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -12949,6 +13236,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13392,10 +13682,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13455,6 +13745,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13593,15 +13886,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13725,6 +14009,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13896,6 +14183,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -13996,9 +14286,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14101,6 +14388,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14152,6 +14442,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14173,6 +14466,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14206,6 +14502,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14215,6 +14517,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14233,12 +14538,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14275,6 +14586,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14290,6 +14604,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14383,6 +14700,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14398,9 +14718,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14431,7 +14748,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14512,9 +14829,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14524,6 +14838,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14602,15 +14919,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14632,10 +14940,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14866,6 +15177,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -14911,6 +15225,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15028,7 +15345,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15049,10 +15366,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15085,6 +15402,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -15913,6 +16233,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -15976,6 +16299,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16195,13 +16521,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16387,6 +16713,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16411,6 +16740,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16610,6 +16942,9 @@ msgid "Refreshing in a second to show the updated status..."
msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -16986,9 +17321,28 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17094,7 +17448,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17276,6 +17630,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17343,6 +17700,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17391,6 +17751,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17445,6 +17808,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17529,12 +17895,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17592,6 +17964,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17729,10 +18104,6 @@ msgid "SearchResults|snippet"
msgid_plural "SearchResults|snippets"
msgstr[0] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17741,6 +18112,9 @@ msgid "SearchResults|wiki result"
msgid_plural "SearchResults|wiki results"
msgstr[0] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17768,184 +18142,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -17957,6 +18379,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18362,9 +18787,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18449,6 +18871,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18762,6 +19187,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -18903,6 +19331,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19188,6 +19619,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19311,6 +19745,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19320,18 +19757,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19389,6 +19838,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19737,6 +20192,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19890,6 +20351,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20193,6 +20657,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20514,6 +20981,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20529,7 +20999,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20592,6 +21062,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20628,6 +21101,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20769,6 +21245,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -20967,7 +21449,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -20997,10 +21482,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21033,7 +21518,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21102,6 +21587,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21284,7 +21772,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21491,7 +21979,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21653,6 +22141,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21746,6 +22237,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22687,6 +23181,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22864,6 +23361,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -22894,6 +23400,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -22927,7 +23436,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -22981,9 +23493,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23087,15 +23605,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23126,9 +23635,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23312,6 +23818,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23507,6 +24016,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23573,6 +24085,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23654,6 +24169,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23738,9 +24256,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23837,6 +24367,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23876,6 +24409,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -23894,12 +24430,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -23937,7 +24479,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24015,6 +24557,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24173,6 +24718,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24366,6 +24917,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24527,9 +25081,6 @@ msgstr[0] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24866,6 +25417,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -24916,6 +25470,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -24942,6 +25499,12 @@ msgstr[0] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25087,10 +25650,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25145,6 +25704,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/zh_CN/gitlab.po b/locale/zh_CN/gitlab.po
index 9b11d043e60..2e5f39c0ff4 100644
--- a/locale/zh_CN/gitlab.po
+++ b/locale/zh_CN/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:30\n"
+"PO-Revision-Date: 2020-05-05 21:36\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -182,6 +182,10 @@ msgid "%d tag"
msgid_plural "%d tags"
msgstr[0] "%d个标签"
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -335,6 +339,9 @@ msgstr "%{mergeLength}/%{usersLength} å¯ä»¥åˆå¹¶"
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText},此议题将自动关闭。"
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} åŒ…å« %{resultsString}"
@@ -347,6 +354,10 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "%{name} 的头åƒ"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind}个è½åŽäºŽ%{default_branch}分支的æ交, åŒæ—¶%{number_commits_ahead}个超å‰çš„æ交"
@@ -464,6 +475,9 @@ msgstr[0] "%{text}%{files}"
msgid "%{text} is available"
msgstr "%{text}å¯ç”¨"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -720,12 +734,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> 将会
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> 将会把“由<a href=\"#\">@johnsmith</a>â€æ·»åŠ åˆ°åŽŸæœ¬ç”±johnsmith@example.com创建的所有议题和评论中。 为ä¿æŠ¤ç”¨æˆ·çš„éšç§ï¼Œç”µå­é‚®ä»¶åœ°å€æˆ–用户å默认将被å±è”½ã€‚如需显示完整邮件地å€ï¼Œå¯ä½¿ç”¨æ­¤é€‰é¡¹ã€‚"
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<未设置å称>"
msgid "<no scopes selected>"
msgstr "<未选择范围>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "<strong>%{group_name}</strong> 群组æˆå‘˜"
@@ -759,6 +779,9 @@ msgstr "将使用您的电å­é‚®ä»¶åœ°å€ä¸ºæ­¤GitLab安装并é…ç½®Let's Encryp
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr "使用AWS Lambda,AWS API网关和GitLab Pages的基本页é¢å’Œæ— æœåŠ¡å™¨åŠŸèƒ½"
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "无法为空项目选择默认分支。"
@@ -975,6 +998,12 @@ msgstr "您的é™æ€å¯¹è±¡ä»¤ç‰Œç”¨äºŽä»Žå¤–部存储存å–é™æ€å¯¹è±¡ï¼ˆä¾‹å¦‚
msgid "AccessTokens|reset it"
msgstr "é‡ç½®ä»¤ç‰Œ"
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -984,6 +1013,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "å¸å·"
@@ -1225,6 +1257,9 @@ msgstr "为å²è¯—添加了一个议题。"
msgid "Added at"
msgstr "添加时间"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr "此版本新增"
@@ -1595,6 +1630,72 @@ msgid "Alert"
msgid_plural "Alerts"
msgstr[0] "警报"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr "%{linkStart}了解更多%{linkEnd}有关接收报警端点é…ç½®"
@@ -1664,6 +1765,9 @@ msgstr "所有项目"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr "所有安全扫æ都已å¯ç”¨ï¼Œå› ä¸ºæ­¤é¡¹ç›®å·²å¼€å¯äº†%{linkStart}Auto DevOps%{linkEnd}"
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "所有用户"
@@ -1682,6 +1786,9 @@ msgstr "å…è®¸ç¾¤ç»„æ‰€æœ‰è€…ç®¡ç† LDAP 相关的设置"
msgid "Allow only the selected protocols to be used for Git access."
msgstr "ä»…å…许所选å议用于 Git 访问。"
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1790,6 +1897,9 @@ msgstr "获å–新规则的核准人时出错。"
msgid "An error occurred fetching the dropdown data."
msgstr "获å–下拉数æ®æ—¶å‡ºé”™ã€‚"
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "预览 blob 时出错"
@@ -1871,6 +1981,9 @@ msgstr "获å–项目自动完æˆæ—¶å‡ºé”™ã€‚"
msgid "An error occurred while fetching sidebar data"
msgstr "获å–侧边æ æ•°æ®æ—¶å‘生错误"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr "获å–æœåŠ¡å°åœ°å€æ—¶å‘生错误。"
@@ -2108,6 +2221,9 @@ msgstr "å垃圾邮件验è¯"
msgid "Any"
msgstr "任何"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr "任何标记"
@@ -2319,12 +2435,12 @@ msgstr "确定è¦å½’档此项目å—?"
msgid "Are you sure that you want to unarchive this project?"
msgstr "确定è¦å–消归档此项目å—?"
-msgid "Are you sure you want to cancel creating this comment?"
-msgstr "确定è¦å–消创建此评论å—?"
-
msgid "Are you sure you want to cancel editing this comment?"
msgstr "确定è¦å–消编辑此评论å—?"
+msgid "Are you sure you want to close this blocked issue?"
+msgstr ""
+
msgid "Are you sure you want to delete %{name}?"
msgstr ""
@@ -2352,6 +2468,9 @@ msgstr "确定è¦åˆ é™¤è¿™æ¡æµæ°´çº¿å—? 删除æ“作将使所有æµæ°´çº¿ç¼
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "您确定è¦åˆ é™¤è¿™ä¸ªæž„建å—?"
@@ -2527,6 +2646,9 @@ msgstr "指派 %{assignee_users_sentence}。"
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr "至少需è¦ä¸€ä¸ªä»£ç æ‰€æœ‰è€…批准,以便更改符åˆç›¸åº”çš„ CODEEWNER 规则的文件。"
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr "必须指定至少一个group_id或 project_id"
@@ -2564,6 +2686,27 @@ msgstr "于"
msgid "AuditEvents|Target"
msgstr "目标"
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "8月"
@@ -2846,9 +2989,6 @@ msgstr "Bamboo 根地å€ï¼Œä¾‹å¦‚:https://bambo.example.com"
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr "您必须在Bamboo中设置自动版本标签和仓库触å‘器。"
-msgid "Batch operations"
-msgstr "批é‡æ“作"
-
msgid "BatchComments|Delete all pending comments"
msgstr "删除所有待处ç†çš„评论"
@@ -2978,6 +3118,9 @@ msgstr "使用默认列表,是您充分利用看æ¿ä½œç”¨çš„起点。"
msgid "Boards"
msgstr "看æ¿"
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr "收起"
@@ -3197,6 +3340,9 @@ msgstr "è´­ä¹°ä¼ä¸šç‰ˆ"
msgid "Buy GitLab Enterprise Edition"
msgstr "è´­ä¹°GitLabä¼ä¸šç‰ˆ"
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr "ç”± %{user_name}"
@@ -3317,6 +3463,9 @@ msgstr "éžç¾¤ç»„托管账户无法删除群组æˆå‘˜"
msgid "Can't scan the code?"
msgstr "无法扫æ二维ç ï¼Ÿ"
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr "金ä¸é›€"
@@ -3485,6 +3634,9 @@ msgstr "åªå¯ä»¥é€šè¿‡Releases API更改å‘布标签。 %{linkStart}更多信æ
msgid "Changing group path can have unintended side effects."
msgstr "更改群组路径å¯èƒ½ä¼šæœ‰æ„想ä¸åˆ°çš„副作用。"
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr "无法显示图表,因为数æ®è¯·æ±‚已超时。 %{documentationLink}"
@@ -3521,9 +3673,6 @@ msgstr "标签"
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr "以åŠ[其余%{count}项](%{pipeline_failed_jobs_url})"
-msgid "ChatMessage|failed"
-msgstr "已失败"
-
msgid "ChatMessage|has failed"
msgstr "已失败"
@@ -3539,9 +3688,6 @@ msgstr "在%{duration}åŽ"
msgid "ChatMessage|in %{project_link}"
msgstr "在%{project_link}中"
-msgid "ChatMessage|passed"
-msgstr "已通过"
-
msgid "Check again"
msgstr "å†æ¬¡æ£€æŸ¥"
@@ -3992,9 +4138,6 @@ msgstr "清除æƒé‡"
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "å•å‡»ä¸‹é¢é¡¹ç›®åˆ—表中的任何 <strong>项目å称</strong> 跳转到项目里程碑。"
-msgid "Click here"
-msgstr "点击此处"
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "点击 <strong>下载</strong> 按钮,等待下载完æˆã€‚"
@@ -4382,6 +4525,12 @@ msgstr "正在获å–项目"
msgid "ClusterIntegration|Fetching zones"
msgstr "正在获å–地域"
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr "GitLab集æˆ"
@@ -4688,6 +4837,15 @@ msgstr "请求å¯åŠ¨å®‰è£…失败"
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr "请求å¯åŠ¨å¸è½½å¤±è´¥"
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr "ä¿å­˜æ›´æ”¹"
@@ -4784,6 +4942,12 @@ msgstr "选择地域"
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr "按地域选择实例类型"
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr "æœåŠ¡ä»¤ç‰Œ"
@@ -5211,18 +5375,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5370,9 +5549,15 @@ msgstr "æ­¤GitLab实例上尚未å¯ç”¨å®¹å™¨é•œåƒåº“。请通知管ç†å‘˜å¯ç”¨
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr "自动删除计划ä¸ä¿ç•™çš„多余镜åƒã€‚"
@@ -5385,6 +5570,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr "容器镜åƒåº“"
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr "å¤åˆ¶æž„建命令"
@@ -5394,18 +5582,12 @@ msgstr "å¤åˆ¶ç™»å½•å‘½ä»¤"
msgid "ContainerRegistry|Copy push command"
msgstr "å¤åˆ¶æŽ¨é€å‘½ä»¤"
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr "Docker连接错误"
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr "Docker标签过期策略为%{toggleStatus}"
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5427,9 +5609,6 @@ msgstr "如果您尚未登录,您需è¦ä½¿ç”¨æ‚¨çš„GitLab用户å和密ç æ¥
msgid "ContainerRegistry|Image ID"
msgstr "é•œåƒID"
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr "ä¿ç•™å’Œä¿æŠ¤æœ€é‡è¦çš„é•œåƒã€‚"
@@ -5445,12 +5624,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr "è¦ä¿ç•™çš„标签数é‡ï¼š"
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr "快速入门"
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr "删除仓库"
@@ -5464,22 +5655,22 @@ msgstr[0] "删除标签"
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
-msgstr ""
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgstr "获å–到期政策时出了错。"
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
-msgstr "获å–到期政策时出了错。"
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
+msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5488,16 +5679,25 @@ msgstr "更新到期政策时出了错。"
msgid "ContainerRegistry|Tag"
msgstr "标签"
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr "标签过期策略"
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr "标签过期策略旨在:"
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5518,18 +5718,18 @@ msgstr "当å‰ç¾¤ç»„没有容器镜åƒã€‚"
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr "当å‰é¡¹ç›®æ²¡æœ‰å®¹å™¨é•œåƒã€‚"
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr "此镜åƒæ²¡æœ‰æ´»åŠ¨çš„标签"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr "当å‰æ— æ³•è¿žæŽ¥åˆ°Docker。原因å¯èƒ½æ˜¯é¡¹ç›®å称或路径的问题。 %{docLinkStart}更多信æ¯%{docLinkEnd}"
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
-msgstr ""
-
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
msgstr "在容器镜åƒåº“中,æ¯ä¸ªé¡¹ç›®éƒ½æœ‰è‡ªå·±çš„空间æ¥å­˜å‚¨å®¹å™¨é•œåƒã€‚ %{docLinkStart}更多信æ¯%{docLinkEnd}"
@@ -5782,8 +5982,8 @@ msgstr "无法删除%{design}。请é‡è¯•ã€‚"
msgid "Could not delete chat nickname %{chat_name}."
msgstr "无法删除èŠå¤©æ˜µç§° %{chat_name}。"
-msgid "Could not find design"
-msgstr "未找到设计"
+msgid "Could not find design."
+msgstr ""
msgid "Could not remove the trigger."
msgstr "无法删除触å‘器。"
@@ -5797,6 +5997,9 @@ msgstr "无法撤消身份模拟令牌 %{token_name}。"
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr "无法撤消个人访问令牌 %{personal_access_token_name}。"
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr "无法ä¿å­˜ç¾¤ç»„ID"
@@ -5854,6 +6057,9 @@ msgstr "创建一个åˆå¹¶ç”³è¯·"
msgid "Create a new branch"
msgstr "创建一个新分支"
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr "当å‰æ— æ–‡ä»¶ã€‚请先创建一个新文件。然åŽæ‚¨å°†èƒ½å¤Ÿæ交您的更改。"
@@ -5959,6 +6165,9 @@ msgstr "创建项目标记"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -5980,6 +6189,9 @@ msgstr "创建个人访问令牌"
msgid "Created"
msgstr "创建时间"
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr "创建于"
@@ -6335,6 +6547,9 @@ msgstr "项目下拉列表过滤器"
msgid "CycleAnalytics|stage dropdown"
msgstr "阶段下拉列表"
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6695,6 +6910,9 @@ msgstr "部署密钥"
msgid "Deploy key was successfully updated."
msgstr "部署密钥已æˆåŠŸæ›´æ–°ã€‚"
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr "未找到部署进度。è¦æŸ¥çœ‹pod,请确ä¿æ‚¨çš„环境符åˆ%{linkStart}部署看æ¿æ¡ä»¶%{linkEnd}。"
@@ -6848,6 +7066,9 @@ msgstr "已部署到"
msgid "Deploying to"
msgstr "正在部署到"
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr "API"
@@ -7365,9 +7586,6 @@ msgstr "编辑æè¿°ä¿¡æ¯"
msgid "Edit environment"
msgstr "编辑环境"
-msgid "Edit epic description"
-msgstr "编辑å²è¯—æè¿°"
-
msgid "Edit file"
msgstr "编辑文件"
@@ -7989,9 +8207,6 @@ msgstr "å²è¯—事件"
msgid "Epics"
msgstr "å²è¯—"
-msgid "Epics (Ultimate / Gold license only)"
-msgstr "å²è¯—(仅旗舰版/金牌许å¯)"
-
msgid "Epics Roadmap"
msgstr "å²è¯—路线图"
@@ -8001,6 +8216,9 @@ msgstr "å²è¯—和议题"
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr "有效利用å²è¯—,您的产å“线管ç†ä¼šå˜å¾—æ›´è½»æ¾é«˜æ•ˆ"
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr "添加一个å²è¯—"
@@ -8052,6 +8270,9 @@ msgstr "获å–å­å²è¯—时出错。"
msgid "Epics|Something went wrong while fetching group epics."
msgstr "获å–群组å²è¯—时出错。"
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr "排åºæ—¶å‡ºé”™ã€‚"
@@ -8106,6 +8327,9 @@ msgstr "获å–标记时出错。"
msgid "Error fetching network graph."
msgstr "获å–网络图时出错。"
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr "获å–项目时出错"
@@ -8115,9 +8339,6 @@ msgstr "获å–refs时出错。"
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr "获å–ä¾èµ–列表时出错。请检查您的网络连接,然åŽé‡è¯•ã€‚"
-msgid "Error fetching usage ping data."
-msgstr "获å–使用情况(usage ping)æ•°æ®æ—¶å‡ºé”™ã€‚"
-
msgid "Error loading branch data. Please try again."
msgstr "加载分支数æ®å¤±è´¥ï¼Œè¯·é‡è¯•ã€‚"
@@ -8259,6 +8480,9 @@ msgstr "è¦å¯ç”¨é€‰æ‹©çš„项目,请输入有效的验è¯ä»¤ç‰Œ"
msgid "Errors"
msgstr "错误"
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr "预计"
@@ -8463,12 +8687,18 @@ msgstr "æœç´¢å…¬å¼€ç¾¤ç»„"
msgid "Export as CSV"
msgstr "导出为 CSV"
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr "导出议题"
msgid "Export project"
msgstr "导出项目"
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr "导出此项目åŠå…¶æ‰€æœ‰ç›¸å…³æ•°æ®ï¼Œä»¥ä¾¿å°†é¡¹ç›®ç§»åŠ¨åˆ°æ–°çš„GitLab实例。导出完æˆåŽï¼Œæ‚¨å¯ä»¥ä»Žâ€œæ–°å»ºé¡¹ç›®â€é¡µé¢å¯¼å…¥æ–‡ä»¶ã€‚"
@@ -8538,9 +8768,6 @@ msgstr "已失败"
msgid "Failed Jobs"
msgstr "失败的作业"
-msgid "Failed create wiki"
-msgstr "创建 Wiki 失败"
-
msgid "Failed to add a Zoom meeting"
msgstr "无法添加Zoom会议"
@@ -8580,6 +8807,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr "创建资æºå¤±è´¥"
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr "删除看æ¿å¤±è´¥ã€‚请é‡è¯•ã€‚"
@@ -8589,7 +8819,7 @@ msgstr "无法部署到"
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr "无法将rebaseæ“作加入队列,å¯èƒ½æ˜¯ç”±äºŽäº‹åŠ¡æ—¶é—´è¿‡é•¿ã€‚ç¨åŽå†è¯•ã€‚"
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8613,6 +8843,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr "加载群组和用户失败。"
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr "加载相关分支失败"
@@ -8988,8 +9224,11 @@ msgstr "按æ交消æ¯è¿‡æ»¤"
msgid "Filter by milestone name"
msgstr "按里程碑å称过滤"
-msgid "Filter by name..."
-msgstr "按å称过滤..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
+msgstr ""
msgid "Filter by two-factor authentication"
msgstr "按åŒé‡è®¤è¯è¿‡æ»¤"
@@ -9000,12 +9239,18 @@ msgstr "按用户筛选"
msgid "Filter projects"
msgstr "筛选项目"
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr "按群组过滤结果"
msgid "Filter results by project"
msgstr "按项目过滤结果"
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr "按å称过滤您的项目"
@@ -9294,12 +9539,12 @@ msgstr "附件"
msgid "GeoNodes|Checksummed"
msgstr "已校验"
+msgid "GeoNodes|Consult Geo troubleshooting information"
+msgstr ""
+
msgid "GeoNodes|Container repositories"
msgstr "容器仓库"
-msgid "GeoNodes|Data is out of date from %{timeago}"
-msgstr "æ•°æ®ä»Ž %{timeago} 起过期"
-
msgid "GeoNodes|Data replication lag"
msgstr "æ•°æ®åº“åŒæ­¥æ»žåŽ"
@@ -9339,6 +9584,9 @@ msgstr "游标处ç†çš„最åŽäº‹ä»¶ID"
msgid "GeoNodes|Last event ID seen from primary"
msgstr "主节点中最新的事件ID"
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr "载入节点"
@@ -9354,6 +9602,9 @@ msgstr "节点URL"
msgid "GeoNodes|Node was successfully removed."
msgstr "æˆåŠŸåˆ é™¤èŠ‚点。"
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr "未校验"
@@ -9384,8 +9635,11 @@ msgstr "仓库校验和进度"
msgid "GeoNodes|Repository verification progress"
msgstr "仓库验è¯è¿›åº¦"
-msgid "GeoNodes|Selective"
-msgstr "选择性"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
+msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
msgstr "更改节点状æ€æ—¶å‘生错误"
@@ -9411,6 +9665,9 @@ msgstr "未使用的槽"
msgid "GeoNodes|Unverified"
msgstr "未验è¯"
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr "已使用的槽"
@@ -9450,17 +9707,17 @@ msgstr "%{name}已计划é‡æ–°éªŒè¯"
msgid "Geo|All"
msgstr "全部"
+msgid "Geo|All %{replicable_type}"
+msgstr ""
+
msgid "Geo|All projects"
msgstr "所有项目"
-msgid "Geo|All projects are being scheduled for re-sync"
-msgstr "正在计划所有项目é‡æ–°åŒæ­¥"
-
-msgid "Geo|All projects are being scheduled for re-verify"
-msgstr "所有项目正在计划é‡æ–°éªŒè¯"
+msgid "Geo|All projects are being scheduled for resync"
+msgstr ""
-msgid "Geo|Batch operations"
-msgstr "批é‡æ“作"
+msgid "Geo|All projects are being scheduled for reverify"
+msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
msgstr "无法删除现有项目的跟踪æ¡ç›®ã€‚"
@@ -9471,9 +9728,15 @@ msgstr "无法删除现有上传的跟踪æ¡ç›®ã€‚"
msgid "Geo|Failed"
msgstr "失败"
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr "Geo状æ€"
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr "å·²åŒæ­¥"
@@ -9498,9 +9761,6 @@ msgstr "下一次åŒæ­¥å®‰æŽ’在"
msgid "Geo|Not synced yet"
msgstr "尚未åŒæ­¥"
-msgid "Geo|Pending"
-msgstr "待定"
-
msgid "Geo|Pending synchronization"
msgstr "å¾…åŒæ­¥"
@@ -9537,8 +9797,8 @@ msgstr ""
msgid "Geo|Resync"
msgstr "é‡æ–°åŒæ­¥"
-msgid "Geo|Resync all projects"
-msgstr "é‡æ–°åŒæ­¥æ‰€æœ‰é¡¹ç›®"
+msgid "Geo|Resync all"
+msgstr ""
msgid "Geo|Retry count"
msgstr "é‡è¯•è®¡æ•°"
@@ -9546,8 +9806,8 @@ msgstr "é‡è¯•è®¡æ•°"
msgid "Geo|Reverify"
msgstr "é‡æ–°æ ¡éªŒ"
-msgid "Geo|Reverify all projects"
-msgstr "é‡æ–°æ ¡éªŒæ‰€æœ‰é¡¹ç›®"
+msgid "Geo|Reverify all"
+msgstr ""
msgid "Geo|Status"
msgstr "状æ€"
@@ -9888,9 +10148,6 @@ msgstr "转到环境"
msgid "Go to file"
msgstr "转到文件"
-msgid "Go to file (MRs only)"
-msgstr "转到文件 (仅 MR)"
-
msgid "Go to file permalink (while viewing a file)"
msgstr "转到文件永久链接 (åŒæ—¶æŸ¥çœ‹æ–‡ä»¶)"
@@ -10335,6 +10592,9 @@ msgstr "ç¦ç”¨ç”µå­é‚®ä»¶é€šçŸ¥"
msgid "GroupSettings|Disable group mentions"
msgstr "ç¦ç”¨ç¾¤ç»„æåŠ"
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr "如果新父群组的å¯è§æ€§ä½ŽäºŽå½“å‰ç¾¤ç»„çš„å¯è§æ€§ï¼Œå­ç¾¤ç»„和项目的å¯è§åº¦å°†ä¼šæ”¹å˜ï¼Œä»¥ä¾¿ä¸Žæ–°çˆ¶ç¾¤ç»„çš„å¯è§æ€§ç›¸åŒ¹é…。"
@@ -10413,6 +10673,9 @@ msgstr "群组"
msgid "Groups (%{count})"
msgstr "群组(%{count})"
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr "也å¯ä»¥é€šè¿‡åˆ›å»º %{subgroup_docs_link_start}å­ç¾¤ç»„æ¥åµŒå¥—群组%{subgroup_docs_link_end}。"
@@ -10676,15 +10939,12 @@ msgstr "ID"
msgid "ID:"
msgstr "ID:"
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
-msgstr "å…许Web IDE中的JavaScript项目使用CodeSandbox客户端的实时预览。"
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
+msgstr ""
msgid "IDE|Back"
msgstr "返回"
-msgid "IDE|Client side evaluation"
-msgstr "客户端计算"
-
msgid "IDE|Commit"
msgstr "æ交"
@@ -10748,6 +11008,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr "如果任何作业超过这个超时阈值,它将被标记为失败。å¯è¾“入英文语å¥ï¼Œå¦‚ “1 hourâ€ã€‚默认å•ä½ä¸ºç§’。"
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr "如选中,则群组所有者å¯ä»¥ç®¡ç†LDAP群组链接和 LDAPæˆå‘˜è¦†ç›–"
@@ -10787,6 +11050,9 @@ msgstr "如果您认为这å¯èƒ½æ˜¯ä¸€ä¸ªé”™è¯¯ï¼Œè¯·å‚阅%{linkStart}GEOæ•…éšœ
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr "如果您丢失了æ¢å¤ç ï¼Œæ‚¨å¯ä»¥ç”Ÿæˆæ–°çš„æ¢å¤ç ï¼Œæ‰€æœ‰ä»¥å‰çš„æ¢å¤ç å°†å¤±æ•ˆã€‚"
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr "如果您的HTTP仓库无法公开访问,需在地å€ä¸­æ·»åŠ å‡­æ®ã€‚"
@@ -10898,6 +11164,9 @@ msgstr "从 GitHub 导入仓库"
msgid "Import repository"
msgstr "导入仓库"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr "导入任务"
@@ -10964,6 +11233,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr "为了能é‡èº«å®šåˆ¶æ‚¨åœ¨GitLab的体验,我们<br>希望对您有更多了解。"
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr "继续下一步,选择想è¦å¯¼å…¥çš„项目"
@@ -11310,15 +11582,15 @@ msgstr "YoutTrack议题跟踪器"
msgid "Issues"
msgstr "议题"
-msgid "Issues / Merge Requests"
-msgstr "议题/åˆå¹¶è¯·æ±‚"
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr "议题å¯ä»¥æ˜¯ç¼ºé™·ï¼Œä»»åŠ¡æˆ–è¦è®¨è®ºçš„想法。此外,å¯ä»¥é€šè¿‡æœç´¢å’Œè¿‡æ»¤æ¥æŸ¥æ‰¾è®®é¢˜ã€‚"
@@ -11340,11 +11612,11 @@ msgstr "在您为项目创建议题åŽï¼Œæˆ‘们就会开始跟踪并显示它们
msgid "IssuesAnalytics|Avg/Month:"
msgstr "月å‡ï¼š"
-msgid "IssuesAnalytics|Issues created"
-msgstr "创建的议题数"
+msgid "IssuesAnalytics|Issues opened"
+msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
-msgstr "æ¯æœˆåˆ›å»ºçš„议题"
+msgid "IssuesAnalytics|Issues opened per month"
+msgstr ""
msgid "IssuesAnalytics|Last 12 months"
msgstr "最近12个月"
@@ -11397,6 +11669,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr "%{noteable_model_name} 事件已ç¦ç”¨ã€‚"
@@ -11785,6 +12060,9 @@ msgstr "此分支上最近æ交的最新æµæ°´çº¿"
msgid "Lead"
msgstr "最高"
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr "学习GitLab"
@@ -11797,6 +12075,9 @@ msgstr "了解如何 %{link_start}贡献到内置的模æ¿%{link_end}"
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr "了解GitLab如何 %{no_packages_link_start}å‘布和共享您的包%{no_packages_link_end}。"
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr "进一步了解"
@@ -12123,9 +12404,6 @@ msgstr "列出您的 Bitbucket 库"
msgid "Live preview"
msgstr "实时预览"
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12276,9 +12554,6 @@ msgstr "字符串格å¼é”™è¯¯"
msgid "Manage"
msgstr "管ç†"
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr "通过细粒度的访问控制æ¥ç®¡ç†Git仓库,确ä¿æ‚¨çš„代ç å®‰å…¨ã€‚执行代ç å®¡æŸ¥å¹¶é€šè¿‡åˆå¹¶è¯·æ±‚的实现更紧密的开å‘å作。æ¯ä¸ªé¡¹ç›®è¿˜å¯ä»¥é…置议题跟踪和wiki。"
-
msgid "Manage Web IDE features"
msgstr "管ç†Web IDE功能"
@@ -12309,6 +12584,9 @@ msgstr "管ç†åŒé‡è®¤è¯"
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr "Manifest"
@@ -12573,6 +12851,9 @@ msgstr "创建åˆå¹¶è¯·æ±‚"
msgid "Merge Requests in Review"
msgstr "评审中的åˆå¹¶è¯·æ±‚"
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr "åˆå¹¶æ交消æ¯"
@@ -12726,6 +13007,12 @@ msgstr "å·²åˆå¹¶"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr "å·²åˆå¹¶åˆ†æ”¯æ­£åœ¨è¢«åˆ é™¤ã€‚该æ“作å¯èƒ½éœ€è¦ä¸€äº›æ—¶é—´ï¼Œå…·ä½“å–决于分支的数é‡ã€‚请刷新页é¢ä»¥æŸ¥çœ‹æ›´æ–°ã€‚"
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr "当æµæ°´çº¿æˆåŠŸæ—¶åˆå¹¶æ­¤åˆå¹¶è¯·æ±‚。"
@@ -12832,12 +13119,15 @@ msgid "Metrics|Edit metric"
msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
-msgid "Metrics|Environment"
-msgstr "环境"
+msgid "Metrics|Expand panel"
+msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr "用于分组类似指标"
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12868,9 +13158,6 @@ msgstr "Prometheus查询文档"
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr "显示最近"
-
msgid "Metrics|There was an error creating the dashboard."
msgstr "创建仪表æ¿æ—¶å‡ºé”™ã€‚"
@@ -12949,6 +13236,9 @@ msgstr "例如:req / sec"
msgid "Microsoft Azure"
msgstr "Microsoft Azure"
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr "å·²è¿ç§» %{success_count}/%{total_count} 文件。"
@@ -13392,11 +13682,11 @@ msgstr "默认情况下,新注册的用户将是外部用户"
msgid "Next"
msgstr "预览版"
-msgid "Next file in diff (MRs only)"
-msgstr "差异中的下一个文件(仅MR)"
+msgid "Next file in diff"
+msgstr ""
-msgid "Next unresolved discussion (MRs only)"
-msgstr "下一个未解决的讨论(仅é™MR)"
+msgid "Next unresolved discussion"
+msgstr ""
msgid "Nickname"
msgstr "昵称"
@@ -13455,6 +13745,9 @@ msgstr "æ— å˜æ›´å†…容"
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr "%{ref_start}%{source_branch}%{ref_end} å’Œ %{ref_start}%{target_branch}%{ref_end} 之间没有产生å˜åŒ–"
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr "无法连接到GitalyæœåŠ¡å™¨ï¼Œè¯·æ£€æŸ¥ç›¸å…³æ—¥å¿—ï¼"
@@ -13593,15 +13886,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr "在此群组中未å‘现æ¼æ´ž"
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr "在此æµæ°´çº¿ä¸­æœªå‘现æ¼æ´ž"
-
-msgid "No vulnerabilities found for this project"
-msgstr "在此项目中未å‘现æ¼æ´ž"
-
msgid "No vulnerabilities present"
msgstr "æ— æ¼æ´ž"
@@ -13725,6 +14009,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr "没有å¯é¢„览的内容。"
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "通知事件"
@@ -13896,6 +14183,9 @@ msgstr "仓库导入åŽï¼Œå¯ä»¥é€šè¿‡SSH进行镜åƒã€‚点击%{link_start}æ­¤å¤
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr "删除åŽå°†æ— æ³•æ¢å¤æ´¾ç”Ÿå…³ç³»ï¼Œæ‚¨å°†æ— æ³•å†å‘æºé¡¹ç›®å‘é€åˆå¹¶è¯·æ±‚。"
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr "导出的文件准备就绪åŽï¼Œæ‚¨å°†æ”¶åˆ°å¸¦æœ‰ä¸‹è½½é“¾æŽ¥çš„通知电å­é‚®ä»¶ï¼Œæˆ–者您å¯ä»¥ä»Žæ­¤é¡µé¢ä¸‹è½½ã€‚"
@@ -13996,9 +14286,6 @@ msgstr "打开原始文件"
msgid "Open sidebar"
msgstr "打开侧边æ "
-msgid "Open source software to collaborate on code"
-msgstr "用于代ç å¼€å‘å作的开æºè½¯ä»¶"
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14101,6 +14388,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "概览"
@@ -14152,6 +14442,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr "Conan命令"
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr "å¤åˆ¶Conan命令"
@@ -14173,6 +14466,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr "将其å¤åˆ¶å¹¶ç²˜è´´åˆ°æ‚¨çš„%{codeStart}pom.xml%{codeEnd}文件的%{codeStart}dependencies%{codeEnd}å—中。"
@@ -14206,6 +14502,12 @@ msgstr "有关Maven的注册表的详细信æ¯ï¼Œ%{linkStart}请å‚阅文档%{li
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr "如果尚未é…置,需è¦å°†ä»¥ä¸‹å†…容添加到%{codeStart}pom.xml%{codeEnd}文件中。"
@@ -14215,6 +14517,9 @@ msgstr "安装"
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr "了解GitLab如何%{noPackagesLinkStart}å‘布和共享您的软件包%{noPackagesLinkEnd}。"
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14233,12 +14538,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr "é•œåƒåº“设置"
@@ -14275,6 +14586,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr "npm"
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr "yarn"
@@ -14290,6 +14604,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr "软件包"
@@ -14383,6 +14700,9 @@ msgstr "密ç æ›´æ–°æˆåŠŸã€‚请登录"
msgid "Past due"
msgstr "逾期"
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr "在此处粘贴计算机公钥。在%{link_start}这里%{link_end}了解更多关于如何产生公钥"
@@ -14398,9 +14718,6 @@ msgstr "粘贴您的SSH公钥,通常包å«åœ¨æ–‡ä»¶'~/.ssh/id_ed25519.pub'或'
msgid "Path"
msgstr "路径"
-msgid "Path, transfer, remove"
-msgstr "路径,转移,删除"
-
msgid "Path:"
msgstr "路径:"
@@ -14431,8 +14748,8 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
-msgstr "执行高级选项,例如更改路径,移动或删除群组。"
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
+msgstr ""
msgid "Perform common operations on GitLab project"
msgstr "在GitLab项目上执行常è§æ“作"
@@ -14512,9 +14829,6 @@ msgstr "æµæ°´çº¿è®¡åˆ’"
msgid "Pipeline minutes quota"
msgstr "æµæ°´çº¿åˆ†é’Ÿæ•°é…é¢"
-msgid "Pipeline quota"
-msgstr "æµæ°´çº¿é…é¢"
-
msgid "Pipeline subscriptions"
msgstr "æµæ°´çº¿è®¢é˜…"
@@ -14524,6 +14838,9 @@ msgstr "æµæ°´çº¿è§¦å‘器"
msgid "Pipeline: %{status}"
msgstr "æµæ°´çº¿: %{status}"
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "失败:"
@@ -14602,15 +14919,6 @@ msgstr "åˆå¹¶è¯·æ±‚çš„æµæ°´çº¿å·²é…置。游离的æµæ°´çº¿è¿è¡ŒäºŽåˆå¹¶è¯·
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr "“%{project_name}â€çš„æµæ°´çº¿è®¾ç½®å·²æˆåŠŸæ›´æ–°ã€‚"
-msgid "Pipelines| to purchase more minutes."
-msgstr "以购买更多的分钟数。"
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr "%{namespace_name}å·²ç»è¶…过其æµæ°´çº¿æ—¶é—´é…é¢ã€‚"
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr "%{namespace_name}çš„å¯ç”¨CI分钟数已少于%{notification_level}%%。"
-
msgid "Pipelines|API"
msgstr "API"
@@ -14632,12 +14940,15 @@ msgstr "æŒç»­é›†æˆå¯ä»¥é€šè¿‡è‡ªåŠ¨è¿è¡Œæµ‹è¯•æ¥å¸®åŠ©æ£€æµ‹ä»£ç ç¼ºé™·ï¼Œ
msgid "Pipelines|Get started with Pipelines"
msgstr "æµæ°´çº¿å…¥é—¨"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
+msgstr ""
+
msgid "Pipelines|Loading Pipelines"
msgstr "载入æµæ°´çº¿"
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
-msgstr "æµæ°´çº¿å°†ä¸å†åœ¨å…±äº«çš„Runners上è¿è¡Œã€‚"
-
msgid "Pipelines|Project cache successfully reset."
msgstr "项目缓存é‡ç½®æˆåŠŸã€‚"
@@ -14866,6 +15177,9 @@ msgstr "请å†æ¬¡è¾“入电å­é‚®ä»¶åœ°å€ã€‚"
msgid "Please select"
msgstr "请选择"
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr "请选择国家/地区"
@@ -14911,6 +15225,9 @@ msgstr "连接代ç ä»“库中,请ç¨å€™ã€‚å¯åœ¨ä»»æ„时刻刷新以获å–当
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr "导入代ç ä»“库中,请ç¨å€™ã€‚å¯åœ¨ä»»æ„时刻刷新以获å–当å‰çŠ¶æ€ã€‚"
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15028,7 +15345,7 @@ msgstr "防止环境自动终止"
msgid "Prevent users from changing their profile name"
msgstr "ç¦æ­¢ç”¨æˆ·æ›´æ”¹é…置文件å称"
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15049,11 +15366,11 @@ msgstr "预览上传数æ®"
msgid "Previous Artifacts"
msgstr "å‰ä¸€ä¸ªäº§ç‰©"
-msgid "Previous file in diff (MRs only)"
-msgstr "差异中的上一个文件(仅MR)"
+msgid "Previous file in diff"
+msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
-msgstr "上一个未解决的讨论(仅é™MR)"
+msgid "Previous unresolved discussion"
+msgstr ""
msgid "Primary"
msgstr "主è¦"
@@ -15085,6 +15402,9 @@ msgstr "ç§æœ‰ç¾¤ç»„"
msgid "Private profile"
msgstr "éžå…¬å¼€èµ„æ–™"
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr "ç§æœ‰é¡¹ç›®å¯ä»¥åœ¨ä¸ªäººå称空间中创建:"
@@ -15913,6 +16233,9 @@ msgstr "Wiki"
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr "使用GitLab Pages,您å¯ä»¥åœ¨GitLab上托管é™æ€ç½‘ç«™"
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ".NET Core"
@@ -15976,6 +16299,9 @@ msgstr "Serverless Framework/JS"
msgid "ProjectTemplates|Spring"
msgstr "Spring"
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr "iOS (Swift)"
@@ -16195,15 +16521,15 @@ msgstr "Prometheus API 地å€ï¼Œä¾‹å¦‚ http://prometheus.example.com/"
msgid "PrometheusService|Prometheus is being automatically managed on your clusters"
msgstr "Prometheus正在被群集自动管ç†"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
+msgstr ""
+
msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment"
msgstr "在首次部署到环境之åŽ, 这些指标æ‰ä¼šè¢«ç›‘控"
msgid "PrometheusService|Time-series monitoring service"
msgstr "以时间为åºçš„监控æœåŠ¡"
-msgid "PrometheusService|To enable manual configuration, uninstall Prometheus from your clusters"
-msgstr "如需å¯ç”¨æ‰‹åŠ¨é…置,请从群集中å¸è½½Prometheus"
-
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
msgstr "如需在群集上å¯ç”¨Prometheus的安装,请å–消以下的手动é…ç½®"
@@ -16387,6 +16713,9 @@ msgstr "环境已ç»ä¸è¢«ä¿æŠ¤"
msgid "Protip:"
msgstr "æ示:"
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr "æ供者"
@@ -16411,6 +16740,9 @@ msgstr "公共部署密钥(%{deploy_keys_count})"
msgid "Public pipelines"
msgstr "公开æµæ°´çº¿"
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr "拉å–"
@@ -16610,6 +16942,9 @@ msgid "Refreshing in a second to show the updated status..."
msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] "%d 秒åŽåˆ·æ–°ä»¥æ˜¾ç¤ºæ›´æ–°çŠ¶æ€..."
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr "é‡æ–°ç”Ÿæˆå®žä¾‹ID"
@@ -16986,9 +17321,28 @@ msgstr "报告"
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr "æ“作"
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr "ç±»"
@@ -17094,8 +17448,8 @@ msgstr "链接SAMLå¸æˆ·çš„请求必须ç»è¿‡æŽˆæƒ"
msgid "Requested %{time_ago}"
msgstr "请求的 %{time_ago}"
-msgid "Requested design version does not exist"
-msgstr "请求的设计版本ä¸å­˜åœ¨"
+msgid "Requested design version does not exist."
+msgstr ""
msgid "Requested states are invalid"
msgstr ""
@@ -17276,6 +17630,9 @@ msgstr "æ¢å¤å¤åˆ¶"
msgid "Resync"
msgstr "é‡æ–°åŒæ­¥"
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17343,6 +17700,9 @@ msgstr "撤销身份模拟令牌 %{token_name}ï¼"
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr "撤销个人访问令牌 %{personal_access_token_name}ï¼"
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr "添加"
@@ -17391,6 +17751,9 @@ msgstr "Runnerå°†è¿è¡ŒæŒ‡å®šé¡¹ç›®çš„作业"
msgid "Runner token"
msgstr "Runner 令牌"
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr "Runner未更新。"
@@ -17445,6 +17808,9 @@ msgstr "SAML SSO(å•ç‚¹ç™»å½•)"
msgid "SAML SSO for %{group_name}"
msgstr "群组%{group_name} 的 SAML SSO"
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr "%{group_name} çš„ SAML"
@@ -17529,12 +17895,18 @@ msgstr "新建æµæ°´çº¿è®¡åˆ’"
msgid "Scheduled"
msgstr "已计划"
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr "计划在æµæ°´çº¿æˆåŠŸæ—¶åˆå¹¶æ­¤åˆå¹¶è¯·æ±‚。"
msgid "Schedules"
msgstr "计划"
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr "计划"
@@ -17592,6 +17964,9 @@ msgstr "æœç´¢åˆ†æ”¯"
msgid "Search branches and tags"
msgstr "æœç´¢åˆ†æ”¯å’Œæ ‡ç­¾"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr "æœç´¢æ–‡ä»¶"
@@ -17729,10 +18104,6 @@ msgid "SearchResults|snippet"
msgid_plural "SearchResults|snippets"
msgstr[0] "代ç ç‰‡æ®µ"
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] "代ç ç‰‡æ®µç»“æžœ"
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] "用户"
@@ -17741,6 +18112,9 @@ msgid "SearchResults|wiki result"
msgid_plural "SearchResults|wiki results"
msgstr[0] "wiki结果"
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17768,185 +18142,233 @@ msgstr "安全é…ç½®"
msgid "Security Dashboard"
msgstr "安全仪表æ¿"
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
-msgstr "获å–æ¼æ´žæ•°é‡æ—¶å‡ºé”™ã€‚请检查您的网络连接,然åŽé‡è¯•ã€‚"
+msgid "Security configuration help link"
+msgstr "安全é…置帮助链接"
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
-msgstr "获å–æ¼æ´žåˆ—表时出错。请检查您的网络连接,然åŽé‡è¯•ã€‚"
+msgid "Security dashboard"
+msgstr "安全仪表盘"
-msgid "Security Dashboard|Issue Created"
-msgstr "已创建议题"
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
-msgstr "评论已添加到'%{vulnerabilityName}'"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
-msgstr "评论已从'%{vulnerabilityName}' 删除"
+msgid "SecurityConfiguration|Configured"
+msgstr "å·²é…ç½®"
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
-msgstr "在'%{vulnerabilityName}' 上的评论被编辑"
+msgid "SecurityConfiguration|Feature"
+msgstr "功能"
-msgid "Security Reports|Create issue"
-msgstr "创建议题"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
-msgstr "忽略æ¼æ´ž"
+msgid "SecurityConfiguration|Not yet configured"
+msgstr "尚未é…ç½®"
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
-msgstr "已忽略的'%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Secure features"
+msgstr "安全功能"
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
-msgstr "已忽略'%{vulnerabilityName}'。请关闭éšè—忽略开关以查看。"
+msgid "SecurityConfiguration|Status"
+msgstr "状æ€"
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
-msgstr "您无æƒæŸ¥çœ‹æ­¤ä»ªè¡¨æ¿æˆ–尚未设置仪表æ¿ã€‚请与管ç†å‘˜æ ¸å®žæ‚¨çš„æƒé™è®¾ç½®ï¼Œæˆ–检查仪表æ¿é…置以继续。"
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
+msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
-msgstr "了解更多关于您的仪表æ¿è®¾ç½®"
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
+msgstr ""
-msgid "Security Reports|More info"
-msgstr "更多信æ¯"
+msgid "SecurityReports|Add a project to your dashboard"
+msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
-msgstr "哦,似乎有些ä¸æ­£ç¡®ã€‚"
+msgid "SecurityReports|Add or remove projects from your dashboard"
+msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
-msgstr "添加评论时出错。"
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the issue."
-msgstr "创建议题时出错。"
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
-msgstr "创建åˆå¹¶è¯·æ±‚时出错。"
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
-msgstr "删除评论时出错。"
+msgid "SecurityReports|Create issue"
+msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
-msgstr "忽略æ¼æ´žæ—¶å‡ºé”™ã€‚"
+msgid "SecurityReports|Dismiss vulnerability"
+msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
-msgstr "å–消忽略时出错。"
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
+msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
-msgstr "å–消忽略时出错。"
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgstr ""
-msgid "Security Reports|Undo dismiss"
-msgstr "撤消解除"
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
+msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security configuration help link"
-msgstr "安全é…置帮助链接"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgstr ""
-msgid "Security dashboard"
-msgstr "安全仪表盘"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
+msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "SecurityConfiguration|Configured"
-msgstr "å·²é…ç½®"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
+msgstr ""
-msgid "SecurityConfiguration|Feature"
-msgstr "功能"
+msgid "SecurityReports|Issue Created"
+msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
-msgstr "尚未é…ç½®"
+msgid "SecurityReports|Learn more about setting up your dashboard"
+msgstr ""
-msgid "SecurityConfiguration|Secure features"
-msgstr "安全功能"
+msgid "SecurityReports|Load more vulnerabilities"
+msgstr ""
-msgid "SecurityConfiguration|Status"
-msgstr "状æ€"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
+msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
-msgstr "%{firstProject}和%{secondProject}"
+msgid "SecurityReports|More info"
+msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
-msgstr "%{firstProject},%{secondProject},åŠ%{rest}"
+msgid "SecurityReports|More information"
+msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
-msgstr "将项目添加到仪表æ¿"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
+msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
-msgstr "å‘仪表æ¿æ·»åŠ æˆ–删除项目"
+msgid "SecurityReports|No vulnerabilities found for this group"
+msgstr ""
-msgid "SecurityDashboard|Add projects"
-msgstr "添加项目"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
+msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
-msgstr "编辑仪表æ¿"
+msgid "SecurityReports|No vulnerabilities found for this project"
+msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
-msgstr "éšè—已忽略项"
+msgid "SecurityReports|Oops, something doesn't seem right."
+msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
-msgstr "监控代ç ä¸­çš„æ¼æ´ž"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgstr ""
-msgid "SecurityDashboard|More information"
-msgstr "更多信æ¯"
+msgid "SecurityReports|Project"
+msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
-msgstr "æµæ°´çº¿%{pipelineLink}于%{timeago}ç”±%{user}触å‘"
+msgid "SecurityReports|Remove project from dashboard"
+msgstr ""
-msgid "SecurityDashboard|Project"
-msgstr "项目"
+msgid "SecurityReports|Report type"
+msgstr ""
-msgid "SecurityDashboard|Projects added"
-msgstr "项目已添加"
+msgid "SecurityReports|Return to dashboard"
+msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
-msgstr "从仪表æ¿åˆ é™¤é¡¹ç›®"
+msgid "SecurityReports|Security Dashboard"
+msgstr ""
-msgid "SecurityDashboard|Report type"
-msgstr "报表类型"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
+msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
-msgstr "返回仪表æ¿"
+msgid "SecurityReports|Select a project to add by using the project search field above."
+msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
-msgstr "安全仪表æ¿"
+msgid "SecurityReports|Select a reason"
+msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
-msgstr "请使用上é¢çš„项目æœç´¢å­—段æ¥é€‰æ‹©è¦æ·»åŠ çš„项目。"
+msgid "SecurityReports|Severity"
+msgstr ""
-msgid "SecurityDashboard|Severity"
-msgstr "严é‡æ€§"
+msgid "SecurityReports|Status"
+msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
-msgstr "安全é¢æ¿æ˜¾ç¤ºæ‚¨è¦ç›‘测项目的最新安全扫æ结果。选择“编辑仪表æ¿â€æ¥æ·»åŠ å¹¶ç§»é™¤é¡¹ç›®ã€‚"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error adding the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error creating the issue."
+msgstr ""
+
+msgid "SecurityReports|There was an error creating the merge request."
+msgstr ""
+
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error reverting this dismissal."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error while generating the report."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
-msgstr "无法添加%{invalidProjects}"
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
+msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
msgstr "å‚è§GitLabçš„%{password_policy_guidelines}"
@@ -17957,6 +18379,9 @@ msgstr "查看指标"
msgid "See the affected projects in the GitLab admin panel"
msgstr "查看 GitLab 管ç†é¢æ¿ä¸­çš„å—å½±å“项目"
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr "选择"
@@ -18362,9 +18787,6 @@ msgstr "é…ç½® CI/CD"
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr "自动设置一个%{type}的Runner"
@@ -18449,6 +18871,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr "严é‡ç¨‹åº¦: %{severity}"
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18762,6 +19187,9 @@ msgstr ""
msgid "Snowplow"
msgstr "Snowplow"
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr "æŸäº›ç”µå­é‚®ä»¶æœåŠ¡å™¨ä¸æ”¯æŒè¦†ç›–电å­é‚®ä»¶çš„å‘件人å称。å¯ç”¨æ­¤é€‰é¡¹å¯ä»¥åœ¨ç”µå­é‚®ä»¶æ­£æ–‡ä¸­åŒ…å«è®®é¢˜çš„作者姓åã€åˆå¹¶è¯·æ±‚或评论。"
@@ -18903,6 +19331,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr "更新列表设置时出现错误"
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr "å°†%{project} 添加到仪表æ¿æ—¶å‡ºé”™"
@@ -19188,6 +19619,9 @@ msgstr "阶段数æ®å·²æ›´æ–°"
msgid "Stage removed"
msgstr "阶段已删除"
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr "把一个标记加上星标,å¯å°†å…¶å˜ä¸ºä¼˜å…ˆæ ‡è®°ã€‚通过拖放æ¥è°ƒæ•´ä¼˜å…ˆæ ‡è®°çš„顺åºï¼Œå¯ä»¥æ”¹å˜ä»–们的相对优先级。"
@@ -19311,6 +19745,9 @@ msgstr "输入消æ¯ä»¥å¯ç”¨"
msgid "Static Application Security Testing (SAST)"
msgstr "é™æ€åº”用程åºå®‰å…¨æµ‹è¯•(SAST)"
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19320,18 +19757,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19389,6 +19838,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19737,6 +20192,12 @@ msgstr "åŒæ­¥ä¿¡æ¯"
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr "系统"
@@ -19890,6 +20351,9 @@ msgstr "团队域"
msgid "Telephone number"
msgstr "电è¯å·ç "
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr "模æ¿"
@@ -20193,6 +20657,9 @@ msgstr "许å¯è¯å·²è¢«åˆ é™¤ã€‚ GitLab当å‰æ— æœ‰æ•ˆçš„许å¯è¯ã€‚"
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr "许å¯è¯å·²æˆåŠŸä¸Šä¼ ï¼Œå¹¶å·²æ¿€æ´»ã€‚详细信æ¯å¦‚下。"
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr "å…许的最大文件大å°ä¸º %{size}。"
@@ -20514,6 +20981,9 @@ msgstr "收集图表数æ®æ—¶å‡ºé”™"
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr "加载用户活动日历时出错。"
@@ -20529,7 +20999,7 @@ msgstr "é‡ç½®ç¾¤ç»„æµæ°´çº¿åˆ†é’Ÿæ•°æ—¶å‡ºé”™ã€‚"
msgid "There was an error resetting user pipeline minutes."
msgstr "é‡ç½®ç”¨æˆ·æµæ°´çº¿åˆ†é’Ÿæ•°æ—¶å‡ºé”™ã€‚"
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20592,6 +21062,9 @@ msgstr "这些é…置于父群组的å˜é‡ï¼Œå¯ä»¥å’Œé¡¹ç›®å˜é‡ä¸€èµ·ç”¨äºŽå½“
msgid "They can be managed using the %{link}."
msgstr "å¯ä»¥ä½¿ç”¨ %{link} 进行托管。"
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr "第三方优惠"
@@ -20628,6 +21101,9 @@ msgstr "这个应用程åºæ˜¯ç”± %{link_to_owner} 创建的。"
msgid "This application will be able to:"
msgstr "此应用程åºå°†å¯ä»¥ï¼š"
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr "该阻塞为自我引用"
@@ -20769,6 +21245,12 @@ msgstr "此问题是%{confidentialLinkStart}机密的%{linkEnd}和%{lockedLinkSt
msgid "This issue is confidential"
msgstr "当å‰è®®é¢˜ä¸ºç§å¯†è®®é¢˜"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "此议题已é”定。"
@@ -20967,7 +21449,10 @@ msgstr "此用户将æˆä¸ºæ´»åŠ¨æµä¸­æ‰€æœ‰äº‹ä»¶çš„作者,例如创建新分
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr "此用户将æˆä¸ºæ´»åŠ¨æµä¸­æ‰€æœ‰äº‹ä»¶çš„作者,例如创建新分支或者推é€æ–°æ交到现有分支。在创建或é‡æ–°æŒ‡å®šæ—¶æ‚¨ä»…å¯å°†è‡ªå·±æŒ‡å®šä¸ºé•œåƒç”¨æˆ·ã€‚"
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -20997,10 +21482,10 @@ msgstr "异常请求"
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21033,7 +21518,7 @@ msgstr "出现错误,无法获å–环境"
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21102,6 +21587,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr "剩余时间:"
@@ -21284,8 +21772,8 @@ msgstr "标题"
msgid "Title:"
msgstr "标题:"
-msgid "Titles and Filenames"
-msgstr "标题和文件å称"
+msgid "Titles and Descriptions"
+msgstr ""
msgid "To"
msgstr "至"
@@ -21491,8 +21979,8 @@ msgstr "å¯ç”¨äº†å¤ªå¤šçš„命å空间。您需è¦é€šè¿‡æŽ§åˆ¶å°æˆ–APIæ¥ç®¡ç†
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr "å¯ç”¨äº†å¤ªå¤šçš„项目。您需è¦é€šè¿‡æŽ§åˆ¶å°æˆ–APIæ¥ç®¡ç†å®ƒä»¬ã€‚"
-msgid "Topics"
-msgstr "主题"
+msgid "Topics (optional)"
+msgstr ""
msgid "Total"
msgstr "全部"
@@ -21653,6 +22141,9 @@ msgstr "é‡è¯•ï¼Ÿ"
msgid "Try all GitLab has to offer for 30 days."
msgstr "30天内体验GitLab的所有功能。"
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr "å°è¯•å†æ¬¡æ´¾ç”Ÿ"
@@ -21746,6 +22237,9 @@ msgstr "无法连接到PrometheusæœåŠ¡å™¨"
msgid "Unable to connect to server: %{error}"
msgstr "无法连接到æœåŠ¡å™¨: %{error}"
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22687,6 +23181,9 @@ msgstr ""
msgid "View issue"
msgstr "查看议题"
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr "使用GitLab查看"
@@ -22864,6 +23361,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -22894,6 +23400,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr "类型"
@@ -22927,8 +23436,11 @@ msgstr "命å空间"
msgid "Vulnerability|Project"
msgstr "项目"
-msgid "Vulnerability|Report Type"
-msgstr "报告类型"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
+msgstr ""
msgid "Vulnerability|Severity"
msgstr "严é‡çº§åˆ«"
@@ -22981,9 +23493,15 @@ msgstr "我们从您的U2F设备收到了回å¤ã€‚您已通过身份验è¯ã€‚"
msgid "We sent you an email with reset password instructions"
msgstr "我们å‘é€äº†ä¸€å°å¸¦æœ‰é‡ç½®å¯†ç ä¿¡æ¯çš„电å­é‚®ä»¶"
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr "我们è¦ç¡®å®šæ‚¨æ˜¯ä¸æ˜¯æœºå™¨äººã€‚"
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr "未å‘现安全æ¼æ´ž"
@@ -23087,15 +23605,6 @@ msgstr "使用<code>http://</code>或<code>https://</code>å议时,请æä¾›ä
msgid "When:"
msgstr "当:"
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr "虽然您的群组中没有æ¼æ´žï¼Œè¿™ç§çŽ°è±¡å¾ˆç½•è§ï¼Œä½†ä¹Ÿæ˜¯æœ‰å¯èƒ½çš„。无论如何,建议您仔细检查设置以确ä¿ä»ªè¡¨æ¿çš„é…置正确。"
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr "虽然您的æµæ°´çº¿ä¸­æ²¡æœ‰æ¼æ´žï¼Œè¿™ç§çŽ°è±¡å¾ˆç½•è§ï¼Œä½†ä¹Ÿæ˜¯æœ‰å¯èƒ½çš„。无论如何,建议您仔细检查设置以确ä¿ä»ªè¡¨æ¿çš„é…置正确。"
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr "虽然您的项目中没有æ¼æ´žï¼Œè¿™ç§çŽ°è±¡å¾ˆç½•è§ï¼Œä½†ä¹Ÿæ˜¯æœ‰å¯èƒ½çš„。无论如何,建议您仔细检查设置以确ä¿ä»ªè¡¨æ¿çš„é…置正确。"
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr "虽然没有å‘现æ¼æ´žï¼Œè¿™ç§çŽ°è±¡å¾ˆç½•è§ï¼Œä½†ä¹Ÿæ˜¯æœ‰å¯èƒ½çš„。无论如何,建议您仔细检查设置以确ä¿ä»ªè¡¨æ¿çš„é…置正确。"
@@ -23126,9 +23635,6 @@ msgstr ""
msgid "Wiki"
msgstr "Wiki"
-msgid "Wiki pages"
-msgstr "Wiki页é¢"
-
msgid "Wiki was successfully updated."
msgstr "Wikiå·²æˆåŠŸæ›´æ–°ã€‚"
@@ -23312,6 +23818,9 @@ msgstr "是或å¦"
msgid "Yes, add it"
msgstr "是的,添加它"
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr "是的,让我将Google Code用户映射到全å或GitLab用户。"
@@ -23507,6 +24016,9 @@ msgstr "您ä¸èƒ½å†™å…¥è¿™ä¸ªåªè¯»çš„ GitLab 实例。"
msgid "You could not create a new trigger."
msgstr "您无法创建新的触å‘器。"
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23573,6 +24085,9 @@ msgstr "您已å–消订阅该主题。"
msgid "You have declined the invitation to join %{label}."
msgstr "您已拒ç»åŠ å…¥%{label}的邀请。"
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr "没有æƒé™"
@@ -23654,6 +24169,9 @@ msgstr "您需è¦ä¸Šä¼ GitLab项目导出文件(以.gz结尾)."
msgid "You need to upload a Google Takeout archive."
msgstr "您需è¦ä¸Šä¼ Google Takeout文件。"
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr "您å°è¯•æ´¾ç”Ÿ %{link_to_the_project} 但由于以下原因导致失败:"
@@ -23738,9 +24256,21 @@ msgstr "您已ç»ä½¿ç”¨ä¸€æ¬¡å¯†ç éªŒè¯å™¨å¯ç”¨äº†åŒé‡è®¤è¯ã€‚如果您è¦
msgid "YouTube"
msgstr "YouTube"
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr "您的æ交电å­é‚®ä»¶å°†ç”¨äºŽåŸºäºŽwebçš„æ“作,例如编辑与åˆå¹¶ã€‚"
@@ -23837,6 +24367,9 @@ msgstr "您的评论无法æ交ï¼è¯·æ£€æŸ¥æ‚¨çš„网络连接,然åŽé‡è¯•ã€‚
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr "您的评论无法更新ï¼è¯·æ£€æŸ¥æ‚¨çš„网络连接,然åŽé‡è¯•ã€‚"
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23876,6 +24409,9 @@ msgstr "您的新 SCIM 令牌"
msgid "Your new personal access token has been created."
msgstr "您的新个人访问令牌已创建。"
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr "查看此页é¢ä¸éœ€è¦å¯†ç ã€‚如果è¦æ±‚输入密ç æˆ–其他任何个人详细信æ¯ï¼Œè¯·ä¸Žç®¡ç†å‘˜è”系以举报滥用行为。"
@@ -23894,12 +24430,18 @@ msgstr "您的项目"
msgid "Your request for access has been queued for review."
msgstr "您的访问请求已进入审核队列。"
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -23937,8 +24479,8 @@ msgstr "å‰"
msgid "allowed to fail"
msgstr "å…许失败"
-msgid "already being used for another group or project milestone."
-msgstr "å·²ç»ç”¨äºŽå¦ä¸€ç¾¤ç»„或项目里程碑。"
+msgid "already being used for another group or project %{timebox_name}."
+msgstr ""
msgid "already has a \"created\" issue link"
msgstr "å·²ç»æœ‰â€œå·²åˆ›å»ºâ€çš„议题链接"
@@ -24015,6 +24557,9 @@ msgstr "%{linkStartTag}了解更多有关ä¾èµ–项扫æçš„ä¿¡æ¯ %{linkEndTag}"
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr "%{linkStartTag}了解更多有关SAST %{linkEndTag}çš„ä¿¡æ¯"
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr "%{linkStartTag}了解有关代ç è´¨é‡æŠ¥å‘Šçš„更多信æ¯%{linkEndTag}"
@@ -24173,6 +24718,12 @@ msgstr "通过åˆå¹¶è¯·æ±‚解决"
msgid "ciReport|SAST"
msgstr "SAST"
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr "安全扫æ"
@@ -24366,6 +24917,9 @@ msgstr ""
msgid "group"
msgstr "群组"
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr "å·²ç»é“¾æŽ¥åˆ°å¦ä¸€ä¸ªæ¼æ´ž"
@@ -24527,9 +25081,6 @@ msgstr[0] "åˆå¹¶è¯·æ±‚"
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr "里程碑应该属于一个项目或一个群组。"
-
msgid "missing"
msgstr "丢失"
@@ -24866,6 +25417,9 @@ msgstr "新建åˆå¹¶è¯·æ±‚"
msgid "no contributions"
msgstr "无贡献"
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr "没有人å¯ä»¥åˆå¹¶"
@@ -24916,6 +25470,9 @@ msgstr "待处ç†çš„评论"
msgid "pending removal"
msgstr "等待中的移除"
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr "æµæ°´çº¿"
@@ -24942,6 +25499,12 @@ msgstr[0] "项目"
msgid "project avatar"
msgstr "项目头åƒ"
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr "å¿«æ·æ“作"
@@ -25087,10 +25650,6 @@ msgstr "下列议题"
msgid "this document"
msgstr "此文档"
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] "è¯é¢˜å·²è§£å†³"
-
msgid "to help your contributors communicate effectively!"
msgstr "帮助您的贡献者进行有效沟通ï¼"
@@ -25145,6 +25704,9 @@ msgstr "使用GitLab查看"
msgid "view the blob"
msgstr "查看blob"
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr "为忽略添加评论或原因"
diff --git a/locale/zh_HK/gitlab.po b/locale/zh_HK/gitlab.po
index d020a2c8e67..bcf3a220dea 100644
--- a/locale/zh_HK/gitlab.po
+++ b/locale/zh_HK/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: zh-HK\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:30\n"
+"PO-Revision-Date: 2020-05-05 21:32\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -182,6 +182,10 @@ msgid "%d tag"
msgid_plural "%d tags"
msgstr[0] ""
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -335,6 +339,9 @@ msgstr ""
msgid "%{mrText}, this issue will be closed automatically."
msgstr ""
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr ""
@@ -347,6 +354,10 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "%{name} çš„é ­åƒ"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind} 個è½å¾Œæ–¼ %{default_branch} 分支的æ交,%{number_commits_ahead} 個超å‰çš„æ交"
@@ -464,6 +475,9 @@ msgstr[0] "%{text} %{files} 個檔案"
msgid "%{text} is available"
msgstr "%{text} å¯ç”¨"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr ""
@@ -720,12 +734,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> 將會
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr ""
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr ""
msgid "<no scopes selected>"
msgstr ""
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "<strong>%{group_name}</strong> 群組æˆå“¡"
@@ -759,6 +779,9 @@ msgstr ""
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr ""
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr ""
@@ -975,6 +998,12 @@ msgstr ""
msgid "AccessTokens|reset it"
msgstr ""
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -984,6 +1013,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "帳戶"
@@ -1225,6 +1257,9 @@ msgstr ""
msgid "Added at"
msgstr ""
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr ""
@@ -1595,6 +1630,72 @@ msgid "Alert"
msgid_plural "Alerts"
msgstr[0] "æ示"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr ""
@@ -1664,6 +1765,9 @@ msgstr ""
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr ""
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "所有使用者"
@@ -1682,6 +1786,9 @@ msgstr ""
msgid "Allow only the selected protocols to be used for Git access."
msgstr ""
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1790,6 +1897,9 @@ msgstr ""
msgid "An error occurred fetching the dropdown data."
msgstr ""
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "é è¦½ blob 檔案時發生錯誤"
@@ -1871,6 +1981,9 @@ msgstr ""
msgid "An error occurred while fetching sidebar data"
msgstr "讀å–å´é‚Šæ¬„資料時發生錯誤"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr ""
@@ -2108,6 +2221,9 @@ msgstr ""
msgid "Any"
msgstr ""
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2319,10 +2435,10 @@ msgstr ""
msgid "Are you sure that you want to unarchive this project?"
msgstr ""
-msgid "Are you sure you want to cancel creating this comment?"
+msgid "Are you sure you want to cancel editing this comment?"
msgstr ""
-msgid "Are you sure you want to cancel editing this comment?"
+msgid "Are you sure you want to close this blocked issue?"
msgstr ""
msgid "Are you sure you want to delete %{name}?"
@@ -2352,6 +2468,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr ""
@@ -2527,6 +2646,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2564,6 +2686,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "八月"
@@ -2846,9 +2989,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -2978,6 +3118,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3197,6 +3340,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3317,6 +3463,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3485,6 +3634,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3521,9 +3673,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3539,9 +3688,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -3992,9 +4138,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr "在專案列表點擊任何<strong>專案å稱</strong>,將轉跳到專案的里程碑。"
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4382,6 +4525,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4688,6 +4837,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4784,6 +4942,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5211,18 +5375,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5370,9 +5549,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5385,6 +5570,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5394,18 +5582,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5427,9 +5609,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5445,12 +5624,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5464,22 +5655,22 @@ msgstr[0] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5488,16 +5679,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5518,16 +5718,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5782,7 +5982,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5797,6 +5997,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5854,6 +6057,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -5959,6 +6165,9 @@ msgstr "建立專案標籤"
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -5980,6 +6189,9 @@ msgstr "創建個人訪å•ä»¤ç‰Œ"
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6335,6 +6547,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr ""
@@ -6695,6 +6910,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6848,6 +7066,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7365,9 +7586,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -7989,9 +8207,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8001,6 +8216,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8052,6 +8270,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8106,6 +8327,9 @@ msgstr "讀å–標籤時發生錯誤。"
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8115,9 +8339,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8259,6 +8480,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8463,12 +8687,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8538,9 +8768,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8580,6 +8807,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8589,7 +8819,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8613,6 +8843,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -8988,7 +9224,10 @@ msgstr "按æ交消æ¯éŽæ¿¾"
msgid "Filter by milestone name"
msgstr "é€éŽé‡Œç¨‹ç¢‘å稱篩é¸"
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9000,12 +9239,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9294,10 +9539,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9339,6 +9584,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9354,6 +9602,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9384,7 +9635,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9411,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9450,16 +9707,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9471,9 +9728,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9498,9 +9761,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9537,7 +9797,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9546,7 +9806,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9888,9 +10148,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10335,6 +10592,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10413,6 +10673,9 @@ msgstr "群組"
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10676,15 +10939,12 @@ msgstr ""
msgid "ID:"
msgstr ""
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10748,6 +11008,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10787,6 +11050,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10898,6 +11164,9 @@ msgstr ""
msgid "Import repository"
msgstr "導入存儲庫"
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -10964,6 +11233,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11310,15 +11582,15 @@ msgstr ""
msgid "Issues"
msgstr "議題"
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11340,10 +11612,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11397,6 +11669,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11785,6 +12060,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11797,6 +12075,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12123,9 +12404,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12276,9 +12554,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr "管ç†ç¶²é  IDE 功能"
@@ -12309,6 +12584,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12573,6 +12851,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12726,6 +13007,12 @@ msgstr "å·²åˆä½µ"
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12832,12 +13119,15 @@ msgid "Metrics|Edit metric"
msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12868,9 +13158,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -12949,6 +13236,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13392,10 +13682,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13455,6 +13745,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13593,15 +13886,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13725,6 +14009,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr "通知事件"
@@ -13896,6 +14183,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -13996,9 +14286,6 @@ msgstr "打開原文件"
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14101,6 +14388,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr "概覽"
@@ -14152,6 +14442,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14173,6 +14466,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14206,6 +14502,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14215,6 +14517,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14233,12 +14538,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14275,6 +14586,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14290,6 +14604,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14383,6 +14700,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14398,9 +14718,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14431,7 +14748,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14512,9 +14829,6 @@ msgstr "æµæ°´ç·šè¨ˆåŠƒ"
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14524,6 +14838,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr "失敗:"
@@ -14602,15 +14919,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14632,10 +14940,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14866,6 +15177,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -14911,6 +15225,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15028,7 +15345,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15049,10 +15366,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15085,6 +15402,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -15913,6 +16233,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -15976,6 +16299,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16195,13 +16521,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16387,6 +16713,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16411,6 +16740,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16610,6 +16942,9 @@ msgid "Refreshing in a second to show the updated status..."
msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -16986,9 +17321,28 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17094,7 +17448,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17276,6 +17630,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17343,6 +17700,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17391,6 +17751,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17445,6 +17808,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17529,12 +17895,18 @@ msgstr "新建æµæ°´ç·šè¨ˆåŠƒ"
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17592,6 +17964,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr "æœç´¢åˆ†æ”¯å’Œæ¨™ç±¤"
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17729,10 +18104,6 @@ msgid "SearchResults|snippet"
msgid_plural "SearchResults|snippets"
msgstr[0] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17741,6 +18112,9 @@ msgid "SearchResults|wiki result"
msgid_plural "SearchResults|wiki results"
msgstr[0] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17768,184 +18142,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -17957,6 +18379,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18362,9 +18787,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18449,6 +18871,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18762,6 +19187,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -18903,6 +19331,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19188,6 +19619,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19311,6 +19745,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19320,18 +19757,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19389,6 +19838,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19737,6 +20192,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19890,6 +20351,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20193,6 +20657,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20514,6 +20981,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20529,7 +20999,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20592,6 +21062,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20628,6 +21101,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20769,6 +21245,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr "這個議題是隱密的"
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr "這個議題已被鎖定。"
@@ -20967,7 +21449,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -20997,10 +21482,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21033,7 +21518,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21102,6 +21587,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21284,7 +21772,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21491,7 +21979,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21653,6 +22141,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21746,6 +22237,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22687,6 +23181,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22864,6 +23361,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -22894,6 +23400,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -22927,7 +23436,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -22981,9 +23493,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23087,15 +23605,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23126,9 +23635,6 @@ msgstr ""
msgid "Wiki"
msgstr ""
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23312,6 +23818,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23507,6 +24016,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23573,6 +24085,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23654,6 +24169,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23738,9 +24256,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23837,6 +24367,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23876,6 +24409,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -23894,12 +24430,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -23937,7 +24479,7 @@ msgstr ""
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24015,6 +24557,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24173,6 +24718,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24366,6 +24917,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24527,9 +25081,6 @@ msgstr[0] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24866,6 +25417,9 @@ msgstr "æ–°åˆä½µè«‹æ±‚"
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -24916,6 +25470,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -24942,6 +25499,12 @@ msgstr[0] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr "快速æ“作"
@@ -25087,10 +25650,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25145,6 +25704,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/locale/zh_TW/gitlab.po b/locale/zh_TW/gitlab.po
index 06e67940cc2..c5739f2f412 100644
--- a/locale/zh_TW/gitlab.po
+++ b/locale/zh_TW/gitlab.po
@@ -12,7 +12,7 @@ msgstr ""
"X-Crowdin-Project: gitlab-ee\n"
"X-Crowdin-Language: zh-TW\n"
"X-Crowdin-File: /master/locale/gitlab.pot\n"
-"PO-Revision-Date: 2020-04-15 00:30\n"
+"PO-Revision-Date: 2020-05-05 21:37\n"
msgid " %{start} to %{end}"
msgstr ""
@@ -182,6 +182,10 @@ msgid "%d tag"
msgid_plural "%d tags"
msgstr[0] "%d 個標籤"
+msgid "%d unresolved thread"
+msgid_plural "%d unresolved threads"
+msgstr[0] ""
+
msgid "%d vulnerability dismissed"
msgid_plural "%d vulnerabilities dismissed"
msgstr[0] ""
@@ -335,6 +339,9 @@ msgstr "%{mergeLength}/%{usersLength} å¯ä»¥åˆä½µ"
msgid "%{mrText}, this issue will be closed automatically."
msgstr "%{mrText},此議題將自動關閉。"
+msgid "%{namespace_name} is now read-only. You cannot: %{base_message}"
+msgstr ""
+
msgid "%{name} contained %{resultsString}"
msgstr "%{name} åŒ…å« %{resultsString}"
@@ -347,6 +354,10 @@ msgstr ""
msgid "%{name}'s avatar"
msgstr "%{name} 的大頭貼"
+msgid "%{no_of_days} day"
+msgid_plural "%{no_of_days} days"
+msgstr[0] ""
+
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
msgstr "%{number_commits_behind} 個è½å¾Œæ–¼ %{default_branch} 分支的æ交,%{number_commits_ahead} 個領先æ交"
@@ -464,6 +475,9 @@ msgstr[0] "%{text}%{files}"
msgid "%{text} is available"
msgstr "%{text} å¯ç”¨"
+msgid "%{timebox_name} should belong either to a project or a group."
+msgstr ""
+
msgid "%{title} %{operator} %{threshold}"
msgstr "%{title} %{operator} %{threshold}"
@@ -720,12 +734,18 @@ msgstr "<code>\"johnsmith@example.com\": \"johnsm...@example.com\"</code> 將會
msgid "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> will add \"By <a href=\"#\">johnsmith@example.com</a>\" to all issues and comments originally created by johnsmith@example.com. By default, the email address or username is masked to ensure the user's privacy. Use this option if you want to show the full email address."
msgstr "<code>\"johnsmith@example.com\": \"johnsmith@example.com\"</code> 將會把「由 <a href=\"#\">@johnsmith</a>ã€åŠ å…¥åˆ°åŽŸæœ¬ç”± johnsmith@example.com 建立的所有議題和留言中。為ä¿è­·ä½¿ç”¨è€…çš„éš±ç§ï¼Œé›»å­éƒµä»¶åœ°å€æˆ–使用者å稱é è¨­æœƒè¢«é®ä½ã€‚如需顯示完整郵件地å€ï¼Œå¯ä½¿ç”¨æ­¤é¸é …。"
+msgid "<namespace / project>"
+msgstr ""
+
msgid "<no name set>"
msgstr "<未設定å稱>"
msgid "<no scopes selected>"
msgstr "<未é¸æ“‡ç¯„åœ>"
+msgid "<project name>"
+msgstr ""
+
msgid "<strong>%{group_name}</strong> group members"
msgstr "<strong>%{group_name}</strong> 群組的æˆå“¡"
@@ -759,6 +779,9 @@ msgstr "將會使用您的電å­ä¿¡ç®±ä½å€è¨­å®šæ­¤ GitLab 實體的 Let's Enc
msgid "A basic page and serverless function that uses AWS Lambda, AWS API Gateway, and GitLab Pages"
msgstr "使用 AWS Lambdaã€AWS API é–˜é“åŠ GitLab Pages 的基本é é¢å’Œç„¡ä¼ºæœå™¨åŠŸèƒ½"
+msgid "A complete DevOps platform"
+msgstr ""
+
msgid "A default branch cannot be chosen for an empty project."
msgstr "無法設定空專案的é è¨­åˆ†æ”¯ã€‚"
@@ -975,6 +998,12 @@ msgstr "您的éœæ…‹ç‰©ä»¶æ¬Šæ–用來從外部儲存空間存å–éœæ…‹ç‰©ä»¶ï¼ˆ
msgid "AccessTokens|reset it"
msgstr "é‡è¨­æ¬Šæ–"
+msgid "AccessibilityReport|Accessibility report artifact not found"
+msgstr ""
+
+msgid "AccessibilityReport|Failed to retrieve accessibility report"
+msgstr ""
+
msgid "AccessibilityReport|Learn More"
msgstr ""
@@ -984,6 +1013,9 @@ msgstr ""
msgid "AccessibilityReport|New"
msgstr ""
+msgid "AccessibilityReport|The accessibility scanning found an error of the following type: %{code}"
+msgstr ""
+
msgid "Account"
msgstr "帳戶"
@@ -1225,6 +1257,9 @@ msgstr "å·²å‘å²è©©åŠ å…¥è­°é¡Œã€‚"
msgid "Added at"
msgstr "加入時間"
+msgid "Added for this merge request"
+msgstr ""
+
msgid "Added in this version"
msgstr "此版本新增"
@@ -1595,6 +1630,72 @@ msgid "Alert"
msgid_plural "Alerts"
msgstr[0] "警示"
+msgid "Alert Details"
+msgstr ""
+
+msgid "AlertManagement|Acknowledged"
+msgstr ""
+
+msgid "AlertManagement|Alert"
+msgstr ""
+
+msgid "AlertManagement|Authorize external service"
+msgstr ""
+
+msgid "AlertManagement|Display alerts from all your monitoring tools directly within GitLab. Streamline the investigation of your alerts and the escalation of alerts to incidents."
+msgstr ""
+
+msgid "AlertManagement|End time"
+msgstr ""
+
+msgid "AlertManagement|End time:"
+msgstr ""
+
+msgid "AlertManagement|Events"
+msgstr ""
+
+msgid "AlertManagement|Events:"
+msgstr ""
+
+msgid "AlertManagement|Full Alert Details"
+msgstr ""
+
+msgid "AlertManagement|More information"
+msgstr ""
+
+msgid "AlertManagement|No alerts available to display. If you think you're seeing this message in error, refresh the page."
+msgstr ""
+
+msgid "AlertManagement|No alerts to display."
+msgstr ""
+
+msgid "AlertManagement|Overview"
+msgstr ""
+
+msgid "AlertManagement|Resolved"
+msgstr ""
+
+msgid "AlertManagement|Severity"
+msgstr ""
+
+msgid "AlertManagement|Start time"
+msgstr ""
+
+msgid "AlertManagement|Start time:"
+msgstr ""
+
+msgid "AlertManagement|Status"
+msgstr ""
+
+msgid "AlertManagement|Surface alerts in GitLab"
+msgstr ""
+
+msgid "AlertManagement|There was an error displaying the alerts. Confirm your endpoint's configuration details to ensure alerts appear."
+msgstr ""
+
+msgid "AlertManagement|Triggered"
+msgstr ""
+
msgid "AlertService|%{linkStart}Learn more%{linkEnd} about configuring this endpoint to receive alerts."
msgstr "%{linkStart}了解更多%{linkEnd}有關接收警示端點設定"
@@ -1664,6 +1765,9 @@ msgstr "所有專案"
msgid "All security scans are enabled because %{linkStart}Auto DevOps%{linkEnd} is enabled on this project"
msgstr "因為這個專案已開啟 %{linkStart}Auto DevOps%{linkEnd},已啟用所有安全掃æ"
+msgid "All threads resolved"
+msgstr ""
+
msgid "All users"
msgstr "所有使用者"
@@ -1682,6 +1786,9 @@ msgstr "å…è¨±ç¾¤çµ„æ‰€æœ‰è€…ç®¡ç† LDAP 相關的設定"
msgid "Allow only the selected protocols to be used for Git access."
msgstr "僅å…許é¸å–之用於 Git å­˜å–的通訊å”定。"
+msgid "Allow owners to manage default branch protection per group"
+msgstr ""
+
msgid "Allow owners to manually add users outside of LDAP"
msgstr ""
@@ -1790,6 +1897,9 @@ msgstr "抓å–æ–°è¦å‰‡çš„核准者時發生錯誤。"
msgid "An error occurred fetching the dropdown data."
msgstr "抓å–下拉資料時發生錯誤。"
+msgid "An error occurred fetching the project authors."
+msgstr ""
+
msgid "An error occurred previewing the blob"
msgstr "é è¦½ blob 時發生錯誤"
@@ -1871,6 +1981,9 @@ msgstr "抓å–專案自動完æˆæ™‚發生錯誤。"
msgid "An error occurred while fetching sidebar data"
msgstr "抓å–å´é‚Šæ¬„資料時發生錯誤"
+msgid "An error occurred while fetching terraform reports."
+msgstr ""
+
msgid "An error occurred while fetching the Service Desk address."
msgstr "抓å–æœå‹™å°ä½å€æ™‚發生錯誤。"
@@ -2108,6 +2221,9 @@ msgstr ""
msgid "Any"
msgstr "任何"
+msgid "Any Author"
+msgstr ""
+
msgid "Any Label"
msgstr ""
@@ -2319,12 +2435,12 @@ msgstr "確定è¦æ­¸æª”此專案嗎?"
msgid "Are you sure that you want to unarchive this project?"
msgstr "確定è¦å–消歸檔此專案嗎?"
-msgid "Are you sure you want to cancel creating this comment?"
-msgstr "確定è¦å–消建立此留言嗎?"
-
msgid "Are you sure you want to cancel editing this comment?"
msgstr "確定è¦å–消編輯此留言嗎?"
+msgid "Are you sure you want to close this blocked issue?"
+msgstr ""
+
msgid "Are you sure you want to delete %{name}?"
msgstr ""
@@ -2352,6 +2468,9 @@ msgstr ""
msgid "Are you sure you want to deploy this environment?"
msgstr ""
+msgid "Are you sure you want to discard this comment?"
+msgstr ""
+
msgid "Are you sure you want to erase this build?"
msgstr "你確定è¦åˆªé™¤é€™å€‹çµ„建嗎?"
@@ -2527,6 +2646,9 @@ msgstr ""
msgid "At least one approval from a code owner is required to change files matching the respective CODEOWNER rules."
msgstr ""
+msgid "At least one logging option is required to be enabled"
+msgstr ""
+
msgid "At least one of group_id or project_id must be specified"
msgstr ""
@@ -2564,6 +2686,27 @@ msgstr ""
msgid "AuditEvents|Target"
msgstr ""
+msgid "AuditLogs|(removed)"
+msgstr ""
+
+msgid "AuditLogs|Action"
+msgstr ""
+
+msgid "AuditLogs|Author"
+msgstr ""
+
+msgid "AuditLogs|Date"
+msgstr ""
+
+msgid "AuditLogs|IP Address"
+msgstr ""
+
+msgid "AuditLogs|Object"
+msgstr ""
+
+msgid "AuditLogs|Target"
+msgstr ""
+
msgid "Aug"
msgstr "8月"
@@ -2846,9 +2989,6 @@ msgstr ""
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
msgstr ""
-msgid "Batch operations"
-msgstr ""
-
msgid "BatchComments|Delete all pending comments"
msgstr ""
@@ -2978,6 +3118,9 @@ msgstr ""
msgid "Boards"
msgstr ""
+msgid "Boards and Board Lists"
+msgstr ""
+
msgid "Boards|Collapse"
msgstr ""
@@ -3197,6 +3340,9 @@ msgstr ""
msgid "Buy GitLab Enterprise Edition"
msgstr ""
+msgid "Buy more Pipeline minutes"
+msgstr ""
+
msgid "By %{user_name}"
msgstr ""
@@ -3317,6 +3463,9 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
+msgid "Can't update snippet: %{err}"
+msgstr ""
+
msgid "Canary"
msgstr ""
@@ -3485,6 +3634,9 @@ msgstr ""
msgid "Changing group path can have unintended side effects."
msgstr ""
+msgid "Charts"
+msgstr ""
+
msgid "Charts can't be displayed as the request for data has timed out. %{documentationLink}"
msgstr ""
@@ -3521,9 +3673,6 @@ msgstr ""
msgid "ChatMessage|and [%{count} more](%{pipeline_failed_jobs_url})"
msgstr ""
-msgid "ChatMessage|failed"
-msgstr ""
-
msgid "ChatMessage|has failed"
msgstr ""
@@ -3539,9 +3688,6 @@ msgstr ""
msgid "ChatMessage|in %{project_link}"
msgstr ""
-msgid "ChatMessage|passed"
-msgstr ""
-
msgid "Check again"
msgstr ""
@@ -3992,9 +4138,6 @@ msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
msgstr ""
-msgid "Click here"
-msgstr ""
-
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr ""
@@ -4382,6 +4525,12 @@ msgstr ""
msgid "ClusterIntegration|Fetching zones"
msgstr ""
+msgid "ClusterIntegration|Fluentd"
+msgstr ""
+
+msgid "ClusterIntegration|Fluentd is an open source data collector, which lets you unify the data collection and consumption for a better use and understanding of data. It requires at least one of the following logs to be successfully installed."
+msgstr ""
+
msgid "ClusterIntegration|GitLab Integration"
msgstr ""
@@ -4688,6 +4837,15 @@ msgstr ""
msgid "ClusterIntegration|Request to begin uninstalling failed"
msgstr ""
+msgid "ClusterIntegration|SIEM Hostname"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Port"
+msgstr ""
+
+msgid "ClusterIntegration|SIEM Protocol"
+msgstr ""
+
msgid "ClusterIntegration|Save changes"
msgstr ""
@@ -4784,6 +4942,12 @@ msgstr ""
msgid "ClusterIntegration|Select zone to choose machine type"
msgstr ""
+msgid "ClusterIntegration|Send Cilium Logs"
+msgstr ""
+
+msgid "ClusterIntegration|Send ModSecurity Logs"
+msgstr ""
+
msgid "ClusterIntegration|Service Token"
msgstr ""
@@ -5211,18 +5375,33 @@ msgstr ""
msgid "Compliance framework (optional)"
msgstr ""
+msgid "ComplianceFramework|GDPR"
+msgstr ""
+
msgid "ComplianceFramework|GDPR - General Data Protection Regulation"
msgstr ""
+msgid "ComplianceFramework|HIPAA"
+msgstr ""
+
msgid "ComplianceFramework|HIPAA - Health Insurance Portability and Accountability Act"
msgstr ""
+msgid "ComplianceFramework|PCI-DSS"
+msgstr ""
+
msgid "ComplianceFramework|PCI-DSS - Payment Card Industry-Data Security Standard"
msgstr ""
+msgid "ComplianceFramework|SOC 2"
+msgstr ""
+
msgid "ComplianceFramework|SOC 2 - Service Organization Control 2"
msgstr ""
+msgid "ComplianceFramework|SOX"
+msgstr ""
+
msgid "ComplianceFramework|SOX - Sarbanes-Oxley"
msgstr ""
@@ -5370,9 +5549,15 @@ msgstr ""
msgid "Container repositories sync capacity"
msgstr ""
+msgid "ContainerRegistry| Please visit the %{linkStart}administration settings%{linkEnd} to enable this feature."
+msgstr ""
+
msgid "ContainerRegistry|%{imageName} tags"
msgstr ""
+msgid "ContainerRegistry|%{title} was successfully scheduled for deletion"
+msgstr ""
+
msgid "ContainerRegistry|Automatically remove extra images that aren't designed to be kept."
msgstr ""
@@ -5385,6 +5570,9 @@ msgstr ""
msgid "ContainerRegistry|Container Registry"
msgstr ""
+msgid "ContainerRegistry|Container Registry tag expiration and retention policy is disabled"
+msgstr ""
+
msgid "ContainerRegistry|Copy build command"
msgstr ""
@@ -5394,18 +5582,12 @@ msgstr ""
msgid "ContainerRegistry|Copy push command"
msgstr ""
-msgid "ContainerRegistry|Currently, the Container Registry tag expiration feature is not available for projects created before GitLab version 12.8. For updates and more information, visit Issue %{linkStart}#196124%{linkEnd}"
-msgstr ""
-
msgid "ContainerRegistry|Docker connection error"
msgstr ""
msgid "ContainerRegistry|Docker tag expiration policy is %{toggleStatus}"
msgstr ""
-msgid "ContainerRegistry|Docker tags with names matching this regex pattern will expire:"
-msgstr ""
-
msgid "ContainerRegistry|Edit Settings"
msgstr ""
@@ -5427,9 +5609,6 @@ msgstr ""
msgid "ContainerRegistry|Image ID"
msgstr ""
-msgid "ContainerRegistry|Image deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Keep and protect the images that matter most."
msgstr ""
@@ -5445,12 +5624,24 @@ msgstr ""
msgid "ContainerRegistry|Number of tags to retain:"
msgstr ""
+msgid "ContainerRegistry|Please contact your administrator."
+msgstr ""
+
msgid "ContainerRegistry|Push an image"
msgstr ""
msgid "ContainerRegistry|Quick Start"
msgstr ""
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported"
+msgstr ""
+
+msgid "ContainerRegistry|Regular expressions such as %{codeStart}.*-test%{codeEnd} or %{codeStart}dev-.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgstr ""
+
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -5464,22 +5655,22 @@ msgstr[0] ""
msgid "ContainerRegistry|Retention policy has been Enabled"
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the image."
+msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tag."
+msgid "ContainerRegistry|Something went wrong while fetching the repository list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while deleting the tags."
+msgid "ContainerRegistry|Something went wrong while fetching the tags list."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the expiration policy."
+msgid "ContainerRegistry|Something went wrong while marking the tag for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the packages list."
+msgid "ContainerRegistry|Something went wrong while marking the tags for deletion."
msgstr ""
-msgid "ContainerRegistry|Something went wrong while fetching the tags list."
+msgid "ContainerRegistry|Something went wrong while scheduling %{title} for deletion. Please try again."
msgstr ""
msgid "ContainerRegistry|Something went wrong while updating the expiration policy."
@@ -5488,16 +5679,25 @@ msgstr ""
msgid "ContainerRegistry|Tag"
msgstr ""
-msgid "ContainerRegistry|Tag deleted successfully"
-msgstr ""
-
msgid "ContainerRegistry|Tag expiration policy"
msgstr ""
msgid "ContainerRegistry|Tag expiration policy is designed to:"
msgstr ""
-msgid "ContainerRegistry|Tags deleted successfully"
+msgid "ContainerRegistry|Tag successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags successfully marked for deletion."
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}be preserved:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|Tags with names matching this regex pattern will %{italicStart}expire:%{italicEnd}"
+msgstr ""
+
+msgid "ContainerRegistry|The Container Registry tag expiration and retention policies for this project have not been enabled."
msgstr ""
msgid "ContainerRegistry|The last tag related to this image was recently removed. This empty image and any associated data will be automatically removed as part of the regular Garbage Collection process. If you have any questions, contact your administrator."
@@ -5518,16 +5718,16 @@ msgstr ""
msgid "ContainerRegistry|There are no container images stored for this project"
msgstr ""
-msgid "ContainerRegistry|This Registry contains deleted image tag data. Remember to run %{docLinkStart}garbage collection%{docLinkEnd} to remove the stale data from storage."
+msgid "ContainerRegistry|There was an error during the deletion of this image repository, please try again."
msgstr ""
msgid "ContainerRegistry|This image has no active tags"
msgstr ""
-msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
+msgid "ContainerRegistry|This image repository is scheduled for deletion"
msgstr ""
-msgid "ContainerRegistry|Wildcards such as %{codeStart}.*-stable%{codeEnd} or %{codeStart}production/.*%{codeEnd} are supported. To select all tags, use %{codeStart}.*%{codeEnd}"
+msgid "ContainerRegistry|We are having trouble connecting to Docker, which could be due to an issue with your project name or path. %{docLinkStart}More Information%{docLinkEnd}"
msgstr ""
msgid "ContainerRegistry|With the Container Registry, every project can have its own space to store its Docker images. %{docLinkStart}More Information%{docLinkEnd}"
@@ -5782,7 +5982,7 @@ msgstr ""
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
-msgid "Could not find design"
+msgid "Could not find design."
msgstr ""
msgid "Could not remove the trigger."
@@ -5797,6 +5997,9 @@ msgstr ""
msgid "Could not revoke personal access token %{personal_access_token_name}."
msgstr ""
+msgid "Could not revoke project access token %{project_access_token_name}."
+msgstr ""
+
msgid "Could not save group ID"
msgstr ""
@@ -5854,6 +6057,9 @@ msgstr ""
msgid "Create a new branch"
msgstr ""
+msgid "Create a new deploy key for this project"
+msgstr ""
+
msgid "Create a new file as there are no files yet. Afterwards, you'll be able to commit your changes."
msgstr ""
@@ -5959,6 +6165,9 @@ msgstr ""
msgid "Create requirement"
msgstr ""
+msgid "Create snippet"
+msgstr ""
+
msgid "Create wildcard: %{searchTerm}"
msgstr ""
@@ -5980,6 +6189,9 @@ msgstr ""
msgid "Created"
msgstr ""
+msgid "Created %{timestamp}"
+msgstr ""
+
msgid "Created At"
msgstr ""
@@ -6335,6 +6547,9 @@ msgstr ""
msgid "CycleAnalytics|stage dropdown"
msgstr ""
+msgid "DAG"
+msgstr ""
+
msgid "DNS"
msgstr "DNS"
@@ -6695,6 +6910,9 @@ msgstr ""
msgid "Deploy key was successfully updated."
msgstr ""
+msgid "Deploy keys allow read-only or read-write (if enabled) access to your repository. Deploy keys can be used for CI, staging or production servers. You can create a deploy key or add an existing one."
+msgstr ""
+
msgid "Deploy progress not found. To see pods, ensure your environment matches %{linkStart}deploy board criteria%{linkEnd}."
msgstr ""
@@ -6848,6 +7066,9 @@ msgstr ""
msgid "Deploying to"
msgstr ""
+msgid "Deployment Frequency"
+msgstr ""
+
msgid "Deployment|API"
msgstr ""
@@ -7365,9 +7586,6 @@ msgstr ""
msgid "Edit environment"
msgstr ""
-msgid "Edit epic description"
-msgstr ""
-
msgid "Edit file"
msgstr ""
@@ -7989,9 +8207,6 @@ msgstr ""
msgid "Epics"
msgstr ""
-msgid "Epics (Ultimate / Gold license only)"
-msgstr ""
-
msgid "Epics Roadmap"
msgstr ""
@@ -8001,6 +8216,9 @@ msgstr ""
msgid "Epics let you manage your portfolio of projects more efficiently and with less effort"
msgstr ""
+msgid "Epics, Issues, and Merge Requests"
+msgstr ""
+
msgid "Epics|Add an epic"
msgstr ""
@@ -8052,6 +8270,9 @@ msgstr ""
msgid "Epics|Something went wrong while fetching group epics."
msgstr ""
+msgid "Epics|Something went wrong while moving item."
+msgstr ""
+
msgid "Epics|Something went wrong while ordering item."
msgstr ""
@@ -8106,6 +8327,9 @@ msgstr ""
msgid "Error fetching network graph."
msgstr ""
+msgid "Error fetching payload data."
+msgstr ""
+
msgid "Error fetching projects"
msgstr ""
@@ -8115,9 +8339,6 @@ msgstr ""
msgid "Error fetching the dependency list. Please check your network connection and try again."
msgstr ""
-msgid "Error fetching usage ping data."
-msgstr ""
-
msgid "Error loading branch data. Please try again."
msgstr ""
@@ -8259,6 +8480,9 @@ msgstr ""
msgid "Errors"
msgstr ""
+msgid "Errors:"
+msgstr ""
+
msgid "Estimated"
msgstr ""
@@ -8463,12 +8687,18 @@ msgstr ""
msgid "Export as CSV"
msgstr ""
+msgid "Export group"
+msgstr ""
+
msgid "Export issues"
msgstr ""
msgid "Export project"
msgstr ""
+msgid "Export this group with all related data to a new GitLab instance. Once complete, you can import the data file from the \"New Group\" page."
+msgstr ""
+
msgid "Export this project with all its related data in order to move your project to a new GitLab instance. Once the export is finished, you can import the file from the \"New Project\" page."
msgstr ""
@@ -8538,9 +8768,6 @@ msgstr ""
msgid "Failed Jobs"
msgstr ""
-msgid "Failed create wiki"
-msgstr ""
-
msgid "Failed to add a Zoom meeting"
msgstr ""
@@ -8580,6 +8807,9 @@ msgstr ""
msgid "Failed to create resources"
msgstr ""
+msgid "Failed to create wiki"
+msgstr ""
+
msgid "Failed to delete board. Please try again."
msgstr ""
@@ -8589,7 +8819,7 @@ msgstr ""
msgid "Failed to enqueue the rebase operation, possibly due to a long-lived transaction. Try again later."
msgstr ""
-msgid "Failed to find import label for jira import."
+msgid "Failed to find import label for Jira import."
msgstr ""
msgid "Failed to get ref."
@@ -8613,6 +8843,12 @@ msgstr ""
msgid "Failed to load groups & users."
msgstr ""
+msgid "Failed to load labels. Please try again."
+msgstr ""
+
+msgid "Failed to load milestones. Please try again."
+msgstr ""
+
msgid "Failed to load related branches"
msgstr ""
@@ -8988,7 +9224,10 @@ msgstr ""
msgid "Filter by milestone name"
msgstr ""
-msgid "Filter by name..."
+msgid "Filter by name"
+msgstr ""
+
+msgid "Filter by status"
msgstr ""
msgid "Filter by two-factor authentication"
@@ -9000,12 +9239,18 @@ msgstr ""
msgid "Filter projects"
msgstr ""
+msgid "Filter results"
+msgstr ""
+
msgid "Filter results by group"
msgstr ""
msgid "Filter results by project"
msgstr ""
+msgid "Filter results..."
+msgstr ""
+
msgid "Filter your projects by name"
msgstr ""
@@ -9294,10 +9539,10 @@ msgstr ""
msgid "GeoNodes|Checksummed"
msgstr ""
-msgid "GeoNodes|Container repositories"
+msgid "GeoNodes|Consult Geo troubleshooting information"
msgstr ""
-msgid "GeoNodes|Data is out of date from %{timeago}"
+msgid "GeoNodes|Container repositories"
msgstr ""
msgid "GeoNodes|Data replication lag"
@@ -9339,6 +9584,9 @@ msgstr ""
msgid "GeoNodes|Last event ID seen from primary"
msgstr ""
+msgid "GeoNodes|Learn more about Geo node statuses"
+msgstr ""
+
msgid "GeoNodes|Loading nodes"
msgstr ""
@@ -9354,6 +9602,9 @@ msgstr ""
msgid "GeoNodes|Node was successfully removed."
msgstr ""
+msgid "GeoNodes|Node's status was updated %{timeAgo}."
+msgstr ""
+
msgid "GeoNodes|Not checksummed"
msgstr ""
@@ -9384,7 +9635,10 @@ msgstr ""
msgid "GeoNodes|Repository verification progress"
msgstr ""
-msgid "GeoNodes|Selective"
+msgid "GeoNodes|Selective (%{syncLabel})"
+msgstr ""
+
+msgid "GeoNodes|Selective synchronization"
msgstr ""
msgid "GeoNodes|Something went wrong while changing node status"
@@ -9411,6 +9665,9 @@ msgstr ""
msgid "GeoNodes|Unverified"
msgstr ""
+msgid "GeoNodes|Updated %{timeAgo}"
+msgstr ""
+
msgid "GeoNodes|Used slots"
msgstr ""
@@ -9450,16 +9707,16 @@ msgstr ""
msgid "Geo|All"
msgstr ""
-msgid "Geo|All projects"
+msgid "Geo|All %{replicable_type}"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-sync"
+msgid "Geo|All projects"
msgstr ""
-msgid "Geo|All projects are being scheduled for re-verify"
+msgid "Geo|All projects are being scheduled for resync"
msgstr ""
-msgid "Geo|Batch operations"
+msgid "Geo|All projects are being scheduled for reverify"
msgstr ""
msgid "Geo|Could not remove tracking entry for an existing project."
@@ -9471,9 +9728,15 @@ msgstr ""
msgid "Geo|Failed"
msgstr ""
+msgid "Geo|Filter by status"
+msgstr ""
+
msgid "Geo|Geo Status"
msgstr ""
+msgid "Geo|In progress"
+msgstr ""
+
msgid "Geo|In sync"
msgstr ""
@@ -9498,9 +9761,6 @@ msgstr ""
msgid "Geo|Not synced yet"
msgstr ""
-msgid "Geo|Pending"
-msgstr ""
-
msgid "Geo|Pending synchronization"
msgstr ""
@@ -9537,7 +9797,7 @@ msgstr ""
msgid "Geo|Resync"
msgstr ""
-msgid "Geo|Resync all projects"
+msgid "Geo|Resync all"
msgstr ""
msgid "Geo|Retry count"
@@ -9546,7 +9806,7 @@ msgstr ""
msgid "Geo|Reverify"
msgstr ""
-msgid "Geo|Reverify all projects"
+msgid "Geo|Reverify all"
msgstr ""
msgid "Geo|Status"
@@ -9888,9 +10148,6 @@ msgstr ""
msgid "Go to file"
msgstr ""
-msgid "Go to file (MRs only)"
-msgstr ""
-
msgid "Go to file permalink (while viewing a file)"
msgstr ""
@@ -10335,6 +10592,9 @@ msgstr ""
msgid "GroupSettings|Disable group mentions"
msgstr ""
+msgid "GroupSettings|Export group"
+msgstr ""
+
msgid "GroupSettings|If the parent group's visibility is lower than the group current visibility, visibility levels for subgroups and projects will be changed to match the new parent group's visibility."
msgstr ""
@@ -10413,6 +10673,9 @@ msgstr ""
msgid "Groups (%{count})"
msgstr ""
+msgid "Groups (%{groups})"
+msgstr ""
+
msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}."
msgstr ""
@@ -10676,15 +10939,12 @@ msgstr "ID"
msgid "ID:"
msgstr "ID:"
-msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox client side evaluation."
+msgid "IDE|Allow live previews of JavaScript projects in the Web IDE using CodeSandbox Live Preview."
msgstr ""
msgid "IDE|Back"
msgstr ""
-msgid "IDE|Client side evaluation"
-msgstr ""
-
msgid "IDE|Commit"
msgstr ""
@@ -10748,6 +11008,9 @@ msgstr ""
msgid "If any job surpasses this timeout threshold, it will be marked as failed. Human readable time input language is accepted like \"1 hour\". Values without specification represent seconds."
msgstr ""
+msgid "If blank, set allowable lifetime to %{instance_level_policy_in_words}, as defined by the instance admin. Once set, existing tokens for users in this group may be revoked."
+msgstr ""
+
msgid "If checked, group owners can manage LDAP group links and LDAP member overrides"
msgstr ""
@@ -10787,6 +11050,9 @@ msgstr ""
msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes."
msgstr ""
+msgid "If you reach 100%% storage capacity, you will not be able to: %{base_message}"
+msgstr ""
+
msgid "If your HTTP repository is not publicly accessible, add your credentials."
msgstr ""
@@ -10898,6 +11164,9 @@ msgstr ""
msgid "Import repository"
msgstr ""
+msgid "Import started by: %{importInitiator}"
+msgstr ""
+
msgid "Import tasks"
msgstr ""
@@ -10964,6 +11233,9 @@ msgstr ""
msgid "In order to tailor your experience with GitLab we<br>would like to know a bit more about you."
msgstr ""
+msgid "In progress"
+msgstr ""
+
msgid "In the next step, you'll be able to select the projects you want to import."
msgstr ""
@@ -11310,15 +11582,15 @@ msgstr ""
msgid "Issues"
msgstr ""
-msgid "Issues / Merge Requests"
-msgstr ""
-
msgid "Issues Analytics"
msgstr ""
msgid "Issues Rate Limits"
msgstr ""
+msgid "Issues and Merge Requests"
+msgstr ""
+
msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable."
msgstr ""
@@ -11340,10 +11612,10 @@ msgstr ""
msgid "IssuesAnalytics|Avg/Month:"
msgstr ""
-msgid "IssuesAnalytics|Issues created"
+msgid "IssuesAnalytics|Issues opened"
msgstr ""
-msgid "IssuesAnalytics|Issues created per month"
+msgid "IssuesAnalytics|Issues opened per month"
msgstr ""
msgid "IssuesAnalytics|Last 12 months"
@@ -11397,6 +11669,9 @@ msgstr ""
msgid "Jira integration not configured."
msgstr ""
+msgid "Jira project: %{importProject}"
+msgstr ""
+
msgid "JiraService|Events for %{noteable_model_name} are disabled."
msgstr ""
@@ -11785,6 +12060,9 @@ msgstr ""
msgid "Lead"
msgstr ""
+msgid "Lead Time"
+msgstr ""
+
msgid "Learn GitLab"
msgstr ""
@@ -11797,6 +12075,9 @@ msgstr ""
msgid "Learn how to %{no_packages_link_start}publish and share your packages%{no_packages_link_end} with GitLab."
msgstr ""
+msgid "Learn how to enable synchronization"
+msgstr ""
+
msgid "Learn more"
msgstr ""
@@ -12123,9 +12404,6 @@ msgstr ""
msgid "Live preview"
msgstr ""
-msgid "Load more vulnerabilities"
-msgstr ""
-
msgid "Loading"
msgstr ""
@@ -12276,9 +12554,6 @@ msgstr ""
msgid "Manage"
msgstr ""
-msgid "Manage Git repositories with fine-grained access controls that keep your code secure. Perform code reviews and enhance collaboration with merge requests. Each project can also have an issue tracker and a wiki."
-msgstr ""
-
msgid "Manage Web IDE features"
msgstr ""
@@ -12309,6 +12584,9 @@ msgstr ""
msgid "Manage your license"
msgstr ""
+msgid "Managed Account"
+msgstr ""
+
msgid "Manifest"
msgstr ""
@@ -12573,6 +12851,9 @@ msgstr ""
msgid "Merge Requests in Review"
msgstr ""
+msgid "Merge automatically (%{strategy})"
+msgstr ""
+
msgid "Merge commit message"
msgstr ""
@@ -12726,6 +13007,12 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merged this merge request."
+msgstr ""
+
+msgid "Merges this merge request immediately."
+msgstr ""
+
msgid "Merges this merge request when the pipeline succeeds."
msgstr ""
@@ -12832,12 +13119,15 @@ msgid "Metrics|Edit metric"
msgid_plural "Metrics|Edit metrics"
msgstr[0] ""
-msgid "Metrics|Environment"
+msgid "Metrics|Expand panel"
msgstr ""
msgid "Metrics|For grouping similar metrics"
msgstr ""
+msgid "Metrics|Go back (Esc)"
+msgstr ""
+
msgid "Metrics|Invalid time range, please verify."
msgstr ""
@@ -12868,9 +13158,6 @@ msgstr ""
msgid "Metrics|Refresh dashboard"
msgstr ""
-msgid "Metrics|Show last"
-msgstr ""
-
msgid "Metrics|There was an error creating the dashboard."
msgstr ""
@@ -12949,6 +13236,9 @@ msgstr ""
msgid "Microsoft Azure"
msgstr ""
+msgid "Middleman project with Static Site Editor support"
+msgstr ""
+
msgid "Migrated %{success_count}/%{total_count} files."
msgstr ""
@@ -13392,10 +13682,10 @@ msgstr ""
msgid "Next"
msgstr ""
-msgid "Next file in diff (MRs only)"
+msgid "Next file in diff"
msgstr ""
-msgid "Next unresolved discussion (MRs only)"
+msgid "Next unresolved discussion"
msgstr ""
msgid "Nickname"
@@ -13455,6 +13745,9 @@ msgstr ""
msgid "No changes between %{ref_start}%{source_branch}%{ref_end} and %{ref_start}%{target_branch}%{ref_end}"
msgstr ""
+msgid "No child epics match applied filters"
+msgstr ""
+
msgid "No connection could be made to a Gitaly Server, please check your logs!"
msgstr ""
@@ -13593,15 +13886,6 @@ msgstr ""
msgid "No thanks, don't show this again"
msgstr ""
-msgid "No vulnerabilities found for this group"
-msgstr ""
-
-msgid "No vulnerabilities found for this pipeline"
-msgstr ""
-
-msgid "No vulnerabilities found for this project"
-msgstr ""
-
msgid "No vulnerabilities present"
msgstr ""
@@ -13725,6 +14009,9 @@ msgstr ""
msgid "Nothing to preview."
msgstr ""
+msgid "Nothing to synchronize"
+msgstr ""
+
msgid "Notification events"
msgstr ""
@@ -13896,6 +14183,9 @@ msgstr ""
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
msgstr ""
+msgid "Once the exported file is ready you can download it from this page."
+msgstr ""
+
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
msgstr ""
@@ -13996,9 +14286,6 @@ msgstr ""
msgid "Open sidebar"
msgstr ""
-msgid "Open source software to collaborate on code"
-msgstr ""
-
msgid "Open: %{openIssuesCount}"
msgstr ""
@@ -14101,6 +14388,9 @@ msgstr ""
msgid "OutdatedBrowser|You can provide feedback %{feedback_link_start}on this issue%{feedback_link_end} or via your usual support channels."
msgstr ""
+msgid "Overridden"
+msgstr ""
+
msgid "Overview"
msgstr ""
@@ -14152,6 +14442,9 @@ msgstr ""
msgid "PackageRegistry|Conan Command"
msgstr ""
+msgid "PackageRegistry|Copy .pypirc content"
+msgstr ""
+
msgid "PackageRegistry|Copy Conan Command"
msgstr ""
@@ -14173,6 +14466,9 @@ msgstr ""
msgid "PackageRegistry|Copy NuGet Setup Command"
msgstr ""
+msgid "PackageRegistry|Copy Pip command"
+msgstr ""
+
msgid "PackageRegistry|Copy and paste this inside your %{codeStart}pom.xml%{codeEnd} %{codeStart}dependencies%{codeEnd} block."
msgstr ""
@@ -14206,6 +14502,12 @@ msgstr ""
msgid "PackageRegistry|For more information on the NuGet registry, %{linkStart}see the documentation%{linkEnd}."
msgstr ""
+msgid "PackageRegistry|For more information on the PyPi registry, %{linkStart}see the documentation%{linkEnd}."
+msgstr ""
+
+msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}.pypirc%{codeEnd} file."
+msgstr ""
+
msgid "PackageRegistry|If you haven't already done so, you will need to add the below to your %{codeStart}pom.xml%{codeEnd} file."
msgstr ""
@@ -14215,6 +14517,9 @@ msgstr ""
msgid "PackageRegistry|Learn how to %{noPackagesLinkStart}publish and share your packages%{noPackagesLinkEnd} with GitLab."
msgstr ""
+msgid "PackageRegistry|Manually Published"
+msgstr ""
+
msgid "PackageRegistry|Maven"
msgstr ""
@@ -14233,12 +14538,18 @@ msgstr ""
msgid "PackageRegistry|NuGet Command"
msgstr ""
+msgid "PackageRegistry|Pip Command"
+msgstr ""
+
msgid "PackageRegistry|Pipeline %{linkStart}%{linkEnd} triggered %{timestamp} by %{author}"
msgstr ""
msgid "PackageRegistry|Published to the repository at %{timestamp}"
msgstr ""
+msgid "PackageRegistry|PyPi"
+msgstr ""
+
msgid "PackageRegistry|Registry Setup"
msgstr ""
@@ -14275,6 +14586,9 @@ msgstr ""
msgid "PackageRegistry|npm"
msgstr ""
+msgid "PackageRegistry|published by %{author}"
+msgstr ""
+
msgid "PackageRegistry|yarn"
msgstr ""
@@ -14290,6 +14604,9 @@ msgstr ""
msgid "PackageType|NuGet"
msgstr ""
+msgid "PackageType|PyPi"
+msgstr ""
+
msgid "Packages"
msgstr ""
@@ -14383,6 +14700,9 @@ msgstr ""
msgid "Past due"
msgstr ""
+msgid "Paste a machine public key here. Read more about how to generate it"
+msgstr ""
+
msgid "Paste a machine public key here. Read more about how to generate it %{link_start}here%{link_end}"
msgstr ""
@@ -14398,9 +14718,6 @@ msgstr ""
msgid "Path"
msgstr ""
-msgid "Path, transfer, remove"
-msgstr ""
-
msgid "Path:"
msgstr ""
@@ -14431,7 +14748,7 @@ msgstr ""
msgid "Percentage"
msgstr ""
-msgid "Perform advanced options such as changing path, transferring, or removing the group."
+msgid "Perform advanced options such as changing path, transferring, exporting, or removing the group."
msgstr ""
msgid "Perform common operations on GitLab project"
@@ -14512,9 +14829,6 @@ msgstr ""
msgid "Pipeline minutes quota"
msgstr ""
-msgid "Pipeline quota"
-msgstr ""
-
msgid "Pipeline subscriptions"
msgstr ""
@@ -14524,6 +14838,9 @@ msgstr ""
msgid "Pipeline: %{status}"
msgstr ""
+msgid "PipelineCharts|CI / CD Analytics"
+msgstr ""
+
msgid "PipelineCharts|Failed:"
msgstr ""
@@ -14602,15 +14919,6 @@ msgstr ""
msgid "Pipelines settings for '%{project_name}' were successfully updated."
msgstr ""
-msgid "Pipelines| to purchase more minutes."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has exceeded its pipeline minutes quota."
-msgstr ""
-
-msgid "Pipelines|%{namespace_name} has less than %{notification_level}%% of CI minutes available."
-msgstr ""
-
msgid "Pipelines|API"
msgstr ""
@@ -14632,10 +14940,13 @@ msgstr ""
msgid "Pipelines|Get started with Pipelines"
msgstr ""
-msgid "Pipelines|Loading Pipelines"
+msgid "Pipelines|Group %{namespace_name} has %{percentage}%% or less Shared Runner Pipeline minutes remaining. Once it runs out, no new jobs or pipelines in its projects will run."
+msgstr ""
+
+msgid "Pipelines|Group %{namespace_name} has exceeded its pipeline minutes quota. Unless you buy additional pipeline minutes, no new jobs or pipelines in its projects will run."
msgstr ""
-msgid "Pipelines|Pipelines will not run anymore on shared Runners."
+msgid "Pipelines|Loading Pipelines"
msgstr ""
msgid "Pipelines|Project cache successfully reset."
@@ -14866,6 +15177,9 @@ msgstr ""
msgid "Please select"
msgstr ""
+msgid "Please select a Jira project"
+msgstr ""
+
msgid "Please select a country"
msgstr ""
@@ -14911,6 +15225,9 @@ msgstr ""
msgid "Please wait while we import the repository for you. Refresh at will."
msgstr ""
+msgid "Plugins directory is deprecated and will be removed in 14.0. Please move this file into /file_hooks directory."
+msgstr ""
+
msgid "Pod does not exist"
msgstr ""
@@ -15028,7 +15345,7 @@ msgstr ""
msgid "Prevent users from changing their profile name"
msgstr ""
-msgid "Prevent users from modifing merge request approvers list"
+msgid "Prevent users from modifying merge request approvers list"
msgstr ""
msgid "Prevent users from performing write operations on GitLab while performing maintenance."
@@ -15049,10 +15366,10 @@ msgstr ""
msgid "Previous Artifacts"
msgstr ""
-msgid "Previous file in diff (MRs only)"
+msgid "Previous file in diff"
msgstr ""
-msgid "Previous unresolved discussion (MRs only)"
+msgid "Previous unresolved discussion"
msgstr ""
msgid "Primary"
@@ -15085,6 +15402,9 @@ msgstr ""
msgid "Private profile"
msgstr ""
+msgid "Private projects Minutes cost factor"
+msgstr ""
+
msgid "Private projects can be created in your personal namespace with:"
msgstr ""
@@ -15913,6 +16233,9 @@ msgstr ""
msgid "ProjectSettings|With GitLab Pages you can host your static websites on GitLab"
msgstr ""
+msgid "ProjectSettings|With Metrics Dashboard you can visualize this project performance metrics"
+msgstr ""
+
msgid "ProjectTemplates|.NET Core"
msgstr ""
@@ -15976,6 +16299,9 @@ msgstr ""
msgid "ProjectTemplates|Spring"
msgstr ""
+msgid "ProjectTemplates|Static Site Editor/Middleman"
+msgstr ""
+
msgid "ProjectTemplates|iOS (Swift)"
msgstr ""
@@ -16195,13 +16521,13 @@ 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"
+msgid "PrometheusService|Select the Active checkbox to override the Auto Configuration with custom settings. If unchecked, Auto Configuration settings are used."
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|To enable manual configuration, uninstall Prometheus from your clusters"
+msgid "PrometheusService|Time-series monitoring service"
msgstr ""
msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below"
@@ -16387,6 +16713,9 @@ msgstr ""
msgid "Protip:"
msgstr ""
+msgid "Protocol"
+msgstr ""
+
msgid "Provider"
msgstr ""
@@ -16411,6 +16740,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Public projects Minutes cost factor"
+msgstr ""
+
msgid "Pull"
msgstr ""
@@ -16610,6 +16942,9 @@ msgid "Refreshing in a second to show the updated status..."
msgid_plural "Refreshing in %d seconds to show the updated status..."
msgstr[0] ""
+msgid "Regenerate export"
+msgstr ""
+
msgid "Regenerate instance ID"
msgstr ""
@@ -16986,9 +17321,28 @@ msgstr ""
msgid "Reports|%{combinedString} and %{resolvedString}"
msgstr ""
+msgid "Reports|Accessibility scanning detected %d issue for the source branch only"
+msgid_plural "Reports|Accessibility scanning detected %d issues for the source branch only"
+msgstr[0] ""
+
+msgid "Reports|Accessibility scanning detected no issues for the source branch only"
+msgstr ""
+
+msgid "Reports|Accessibility scanning failed loading results"
+msgstr ""
+
+msgid "Reports|Accessibility scanning results are being parsed"
+msgstr ""
+
msgid "Reports|Actions"
msgstr ""
+msgid "Reports|An error occured while loading report"
+msgstr ""
+
+msgid "Reports|An error occurred while loading %{name} results"
+msgstr ""
+
msgid "Reports|Class"
msgstr ""
@@ -17094,7 +17448,7 @@ msgstr ""
msgid "Requested %{time_ago}"
msgstr ""
-msgid "Requested design version does not exist"
+msgid "Requested design version does not exist."
msgstr ""
msgid "Requested states are invalid"
@@ -17276,6 +17630,9 @@ msgstr ""
msgid "Resync"
msgstr ""
+msgid "Resync all"
+msgstr ""
+
msgid "Resync all %{replicableType}"
msgstr ""
@@ -17343,6 +17700,9 @@ msgstr ""
msgid "Revoked personal access token %{personal_access_token_name}!"
msgstr ""
+msgid "Revoked project access token %{project_access_token_name}!"
+msgstr ""
+
msgid "RightSidebar|adding a"
msgstr ""
@@ -17391,6 +17751,9 @@ msgstr ""
msgid "Runner token"
msgstr ""
+msgid "Runner tokens"
+msgstr ""
+
msgid "Runner was not updated."
msgstr ""
@@ -17445,6 +17808,9 @@ msgstr ""
msgid "SAML SSO for %{group_name}"
msgstr ""
+msgid "SAML discovery tokens"
+msgstr ""
+
msgid "SAML for %{group_name}"
msgstr ""
@@ -17529,12 +17895,18 @@ msgstr ""
msgid "Scheduled"
msgstr ""
+msgid "Scheduled to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduled to merge this merge request when the pipeline succeeds."
msgstr ""
msgid "Schedules"
msgstr ""
+msgid "Schedules to merge this merge request (%{strategy})."
+msgstr ""
+
msgid "Scheduling"
msgstr ""
@@ -17592,6 +17964,9 @@ msgstr ""
msgid "Search branches and tags"
msgstr ""
+msgid "Search by author"
+msgstr ""
+
msgid "Search files"
msgstr ""
@@ -17729,10 +18104,6 @@ msgid "SearchResults|snippet"
msgid_plural "SearchResults|snippets"
msgstr[0] ""
-msgid "SearchResults|snippet result"
-msgid_plural "SearchResults|snippet results"
-msgstr[0] ""
-
msgid "SearchResults|user"
msgid_plural "SearchResults|users"
msgstr[0] ""
@@ -17741,6 +18112,9 @@ msgid "SearchResults|wiki result"
msgid_plural "SearchResults|wiki results"
msgstr[0] ""
+msgid "Searching by both author and message is currently not supported."
+msgstr ""
+
msgid "Seat Link"
msgstr ""
@@ -17768,184 +18142,232 @@ msgstr ""
msgid "Security Dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability counts. Please check your network connection and try again."
+msgid "Security configuration help link"
+msgstr ""
+
+msgid "Security dashboard"
msgstr ""
-msgid "Security Dashboard|Error fetching the vulnerability list. Please check your network connection and try again."
+msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Dashboard|Issue Created"
+msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
msgstr ""
-msgid "Security Reports|Comment added to '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Configured"
msgstr ""
-msgid "Security Reports|Comment deleted on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature"
msgstr ""
-msgid "Security Reports|Comment edited on '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Feature documentation for %{featureName}"
msgstr ""
-msgid "Security Reports|Create issue"
+msgid "SecurityConfiguration|Not yet configured"
msgstr ""
-msgid "Security Reports|Dismiss vulnerability"
+msgid "SecurityConfiguration|Secure features"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'"
+msgid "SecurityConfiguration|Status"
msgstr ""
-msgid "Security Reports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
+msgid "SecurityReports|%{firstProject} and %{secondProject}"
msgstr ""
-msgid "Security Reports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
+msgid "SecurityReports|%{firstProject}, %{secondProject}, and %{rest}"
msgstr ""
-msgid "Security Reports|Learn more about setting up your dashboard"
+msgid "SecurityReports|Add a project to your dashboard"
msgstr ""
-msgid "Security Reports|More info"
+msgid "SecurityReports|Add or remove projects from your dashboard"
msgstr ""
-msgid "Security Reports|Oops, something doesn't seem right."
+msgid "SecurityReports|Add projects"
msgstr ""
-msgid "Security Reports|Security reports can only be accessed by authorized users."
+msgid "SecurityReports|Comment added to '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error adding the comment."
+msgid "SecurityReports|Comment deleted on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the issue."
+msgid "SecurityReports|Comment edited on '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error creating the merge request."
+msgid "SecurityReports|Create issue"
msgstr ""
-msgid "Security Reports|There was an error deleting the comment."
+msgid "SecurityReports|Dismiss Selected"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerabilities."
+msgid "SecurityReports|Dismiss vulnerability"
msgstr ""
-msgid "Security Reports|There was an error dismissing the vulnerability."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'"
msgstr ""
-msgid "Security Reports|There was an error reverting the dismissal."
+msgid "SecurityReports|Dismissed '%{vulnerabilityName}'. Turn off the hide dismissed toggle to view."
msgstr ""
-msgid "Security Reports|There was an error reverting this dismissal."
+msgid "SecurityReports|Each vulnerability now has a unique page that can be directly linked to, shared, referenced, and tracked as the single source of truth. Vulnerability occurrences also persist across scanner runs, which improves tracking and visibility and reduces duplicates between scans."
msgstr ""
-msgid "Security Reports|Undo dismiss"
+msgid "SecurityReports|Edit dashboard"
msgstr ""
-msgid "Security Reports|You do not have sufficient permissions to access this report"
+msgid "SecurityReports|Either you don't have permission to view this dashboard or the dashboard has not been setup. Please check your permission settings with your administrator or check your dashboard configurations to proceed."
msgstr ""
-msgid "Security Reports|You must sign in as an authorized user to see this report"
+msgid "SecurityReports|Error fetching the vulnerability counts. Please check your network connection and try again."
msgstr ""
-msgid "Security configuration help link"
+msgid "SecurityReports|Error fetching the vulnerability list. Please check your network connection and try again."
msgstr ""
-msgid "Security dashboard"
+msgid "SecurityReports|False positive"
msgstr ""
-msgid "Security report is out of date. Please update your branch with the latest changes from the target branch (%{targetBranchName})"
+msgid "SecurityReports|Hide dismissed"
msgstr ""
-msgid "Security report is out of date. Run %{newPipelineLinkStart}a new pipeline%{newPipelineLinkEnd} for the target branch (%{targetBranchName})"
+msgid "SecurityReports|Introducing standalone vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Configured"
+msgid "SecurityReports|Issue Created"
msgstr ""
-msgid "SecurityConfiguration|Feature"
+msgid "SecurityReports|Learn More"
msgstr ""
-msgid "SecurityConfiguration|Feature documentation for %{featureName}"
+msgid "SecurityReports|Learn more about setting up your dashboard"
msgstr ""
-msgid "SecurityConfiguration|Not yet configured"
+msgid "SecurityReports|Load more vulnerabilities"
msgstr ""
-msgid "SecurityConfiguration|Secure features"
+msgid "SecurityReports|Monitor vulnerabilities in your code"
msgstr ""
-msgid "SecurityConfiguration|Status"
+msgid "SecurityReports|More info"
msgstr ""
-msgid "SecurityDashboard|%{firstProject} and %{secondProject}"
+msgid "SecurityReports|More information"
msgstr ""
-msgid "SecurityDashboard|%{firstProject}, %{secondProject}, and %{rest}"
+msgid "SecurityReports|No vulnerabilities found for dashboard"
msgstr ""
-msgid "SecurityDashboard|Add a project to your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this group"
msgstr ""
-msgid "SecurityDashboard|Add or remove projects from your dashboard"
+msgid "SecurityReports|No vulnerabilities found for this pipeline"
msgstr ""
-msgid "SecurityDashboard|Add projects"
+msgid "SecurityReports|No vulnerabilities found for this project"
msgstr ""
-msgid "SecurityDashboard|Edit dashboard"
+msgid "SecurityReports|Oops, something doesn't seem right."
msgstr ""
-msgid "SecurityDashboard|Hide dismissed"
+msgid "SecurityReports|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
msgstr ""
-msgid "SecurityDashboard|Monitor vulnerabilities in your code"
+msgid "SecurityReports|Project"
msgstr ""
-msgid "SecurityDashboard|More information"
+msgid "SecurityReports|Projects added"
msgstr ""
-msgid "SecurityDashboard|No vulnerabilities found for dashboard"
+msgid "SecurityReports|Remove project from dashboard"
msgstr ""
-msgid "SecurityDashboard|Pipeline %{pipelineLink} triggered %{timeago} by %{user}"
+msgid "SecurityReports|Report type"
msgstr ""
-msgid "SecurityDashboard|Project"
+msgid "SecurityReports|Return to dashboard"
msgstr ""
-msgid "SecurityDashboard|Projects added"
+msgid "SecurityReports|Security Dashboard"
msgstr ""
-msgid "SecurityDashboard|Remove project from dashboard"
+msgid "SecurityReports|Security reports can only be accessed by authorized users."
msgstr ""
-msgid "SecurityDashboard|Report type"
+msgid "SecurityReports|Select a project to add by using the project search field above."
msgstr ""
-msgid "SecurityDashboard|Return to dashboard"
+msgid "SecurityReports|Select a reason"
msgstr ""
-msgid "SecurityDashboard|Security Dashboard"
+msgid "SecurityReports|Severity"
msgstr ""
-msgid "SecurityDashboard|Select a project to add by using the project search field above."
+msgid "SecurityReports|Status"
msgstr ""
-msgid "SecurityDashboard|Severity"
+msgid "SecurityReports|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
msgstr ""
-msgid "SecurityDashboard|Status"
+msgid "SecurityReports|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security findings for projects you wish to monitor. Select \"Edit dashboard\" to add and remove projects."
+msgid "SecurityReports|There was an error adding the comment."
msgstr ""
-msgid "SecurityDashboard|The security dashboard displays the latest security report. Use it to find and fix vulnerabilities."
+msgid "SecurityReports|There was an error creating the issue."
msgstr ""
-msgid "SecurityDashboard|There was an error while generating the report."
+msgid "SecurityReports|There was an error creating the merge request."
msgstr ""
-msgid "SecurityDashboard|Unable to add %{invalidProjects}"
+msgid "SecurityReports|There was an error deleting the comment."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerabilities."
+msgstr ""
+
+msgid "SecurityReports|There was an error dismissing the vulnerability."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting the dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error reverting this dismissal."
+msgstr ""
+
+msgid "SecurityReports|There was an error while generating the report."
+msgstr ""
+
+msgid "SecurityReports|Unable to add %{invalidProjects}"
+msgstr ""
+
+msgid "SecurityReports|Undo dismiss"
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
+msgstr ""
+
+msgid "SecurityReports|Won't fix / Accept risk"
+msgstr ""
+
+msgid "SecurityReports|You do not have sufficient permissions to access this report"
+msgstr ""
+
+msgid "SecurityReports|You must sign in as an authorized user to see this report"
+msgstr ""
+
+msgid "SecurityReports|[No reason]"
msgstr ""
msgid "See GitLab's %{password_policy_guidelines}"
@@ -17957,6 +18379,9 @@ msgstr ""
msgid "See the affected projects in the GitLab admin panel"
msgstr ""
+msgid "See what's new at GitLab"
+msgstr ""
+
msgid "Select"
msgstr ""
@@ -18362,9 +18787,6 @@ msgstr ""
msgid "Set up Jira Integration"
msgstr ""
-msgid "Set up Jira Integration illustration"
-msgstr ""
-
msgid "Set up a %{type} Runner automatically"
msgstr ""
@@ -18449,6 +18871,9 @@ msgstr ""
msgid "Severity: %{severity}"
msgstr ""
+msgid "Shards (%{shards})"
+msgstr ""
+
msgid "Shards to synchronize"
msgstr ""
@@ -18762,6 +19187,9 @@ msgstr ""
msgid "Snowplow"
msgstr ""
+msgid "Some child epics may be hidden due to applied filters"
+msgstr ""
+
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr ""
@@ -18903,6 +19331,9 @@ msgstr ""
msgid "Something went wrong while updating your list settings"
msgstr ""
+msgid "Something went wrong with your automatic subscription renewal"
+msgstr ""
+
msgid "Something went wrong, unable to add %{project} to dashboard"
msgstr ""
@@ -19188,6 +19619,9 @@ msgstr ""
msgid "Stage removed"
msgstr ""
+msgid "Standard"
+msgstr ""
+
msgid "Star a label to make it a priority label. Order the prioritized labels to change their relative priority, by dragging."
msgstr ""
@@ -19311,6 +19745,9 @@ msgstr ""
msgid "Static Application Security Testing (SAST)"
msgstr ""
+msgid "StaticSiteEditor|An error occurred while submitting your changes."
+msgstr ""
+
msgid "StaticSiteEditor|Branch could not be created."
msgstr ""
@@ -19320,18 +19757,30 @@ msgstr ""
msgid "StaticSiteEditor|Could not create merge request."
msgstr ""
+msgid "StaticSiteEditor|Incompatible file content"
+msgstr ""
+
msgid "StaticSiteEditor|Return to site"
msgstr ""
+msgid "StaticSiteEditor|Static site editor"
+msgstr ""
+
msgid "StaticSiteEditor|Success!"
msgstr ""
msgid "StaticSiteEditor|Summary of changes"
msgstr ""
+msgid "StaticSiteEditor|The Static Site Editor is currently configured to only edit Markdown content on pages generated from Middleman. Visit the documentation to learn more about configuring your site to use the Static Site Editor."
+msgstr ""
+
msgid "StaticSiteEditor|Update %{sourcePath} file"
msgstr ""
+msgid "StaticSiteEditor|View documentation"
+msgstr ""
+
msgid "StaticSiteEditor|View merge request"
msgstr ""
@@ -19389,6 +19838,12 @@ msgstr ""
msgid "StatusPage|Status page"
msgstr ""
+msgid "StatusPage|Status page URL"
+msgstr ""
+
+msgid "StatusPage|Status page frontend documentation"
+msgstr ""
+
msgid "StatusPage|To publish incidents to an external status page, GitLab will store a JSON file in your Amazon S3 account in a location accessible to your external status page service. Make sure to also set up %{docsLink}"
msgstr ""
@@ -19737,6 +20192,12 @@ msgstr ""
msgid "Synced"
msgstr ""
+msgid "Synchronization disabled"
+msgstr ""
+
+msgid "Synchronization of container repositories is disabled."
+msgstr ""
+
msgid "System"
msgstr ""
@@ -19890,6 +20351,9 @@ msgstr ""
msgid "Telephone number"
msgstr ""
+msgid "Telephone number (Optional)"
+msgstr ""
+
msgid "Template"
msgstr ""
@@ -20193,6 +20657,9 @@ msgstr ""
msgid "The license was successfully uploaded and is now active. You can see the details below."
msgstr ""
+msgid "The license was successfully uploaded and will be active from %{starts_at}. You can see the details below."
+msgstr ""
+
msgid "The maximum file size allowed is %{size}."
msgstr ""
@@ -20514,6 +20981,9 @@ msgstr ""
msgid "There was an error getting the epic participants."
msgstr ""
+msgid "There was an error importing the Jira project."
+msgstr ""
+
msgid "There was an error loading users activity calendar."
msgstr ""
@@ -20529,7 +20999,7 @@ msgstr ""
msgid "There was an error resetting user pipeline minutes."
msgstr ""
-msgid "There was an error saving this Geo Node"
+msgid "There was an error saving this Geo Node."
msgstr ""
msgid "There was an error saving your changes."
@@ -20592,6 +21062,9 @@ msgstr ""
msgid "They can be managed using the %{link}."
msgstr ""
+msgid "Third Party Advisory Link"
+msgstr ""
+
msgid "Third party offers"
msgstr ""
@@ -20628,6 +21101,9 @@ msgstr ""
msgid "This application will be able to:"
msgstr ""
+msgid "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15MB. %{written_count} of %{issues_count} issues have been included. Consider re-exporting with a narrower selection of issues."
+msgstr ""
+
msgid "This block is self-referential"
msgstr ""
@@ -20769,6 +21245,12 @@ msgstr ""
msgid "This issue is confidential"
msgstr ""
+msgid "This issue is currently blocked by the following issues: %{issues}."
+msgstr ""
+
+msgid "This issue is in a child epic of the filtered epic"
+msgstr ""
+
msgid "This issue is locked."
msgstr ""
@@ -20967,7 +21449,10 @@ msgstr ""
msgid "This user will be the author of all events in the activity feed that are the result of an update, like new branches being created or new commits being pushed to existing branches. Upon creation or when reassigning you can only assign yourself to be the mirror user."
msgstr ""
-msgid "This variable can not be masked"
+msgid "This variable can not be masked."
+msgstr ""
+
+msgid "This variable does not match the expected pattern."
msgstr ""
msgid "This will help us personalize your onboarding experience."
@@ -20997,10 +21482,10 @@ msgstr ""
msgid "ThreatMonitoring|Application firewall not detected"
msgstr ""
-msgid "ThreatMonitoring|Container Network Policy"
+msgid "ThreatMonitoring|Container Network Policies are not installed or have been disabled. To view this data, ensure your Network Policies are installed and enabled for your cluster."
msgstr ""
-msgid "ThreatMonitoring|Container NetworkPolicies are not installed or has been disabled. To view this data, ensure you NetworkPolicies are installed and enabled for your cluster."
+msgid "ThreatMonitoring|Container Network Policy"
msgstr ""
msgid "ThreatMonitoring|Container NetworkPolicies not detected"
@@ -21033,7 +21518,7 @@ msgstr ""
msgid "ThreatMonitoring|Something went wrong, unable to fetch statistics"
msgstr ""
-msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure you firewall is installed and enabled for your cluster."
+msgid "ThreatMonitoring|The firewall is not installed or has been disabled. To view this data, ensure the web application firewall is installed and enabled for your cluster."
msgstr ""
msgid "ThreatMonitoring|The graph below is an overview of traffic coming to your application as tracked by the Web Application Firewall (WAF). View the docs for instructions on how to access the WAF logs to see what type of malicious traffic is trying to access your app. The docs link is also accessible by clicking the \"?\" icon next to the title below."
@@ -21102,6 +21587,9 @@ 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 of import: %{importTime}"
+msgstr ""
+
msgid "Time remaining"
msgstr ""
@@ -21284,7 +21772,7 @@ msgstr ""
msgid "Title:"
msgstr ""
-msgid "Titles and Filenames"
+msgid "Titles and Descriptions"
msgstr ""
msgid "To"
@@ -21491,7 +21979,7 @@ msgstr ""
msgid "Too many projects enabled. You will need to manage them via the console or the API."
msgstr ""
-msgid "Topics"
+msgid "Topics (optional)"
msgstr ""
msgid "Total"
@@ -21653,6 +22141,9 @@ msgstr ""
msgid "Try all GitLab has to offer for 30 days."
msgstr ""
+msgid "Try changing or removing filters."
+msgstr ""
+
msgid "Try to fork again"
msgstr ""
@@ -21746,6 +22237,9 @@ msgstr ""
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to connect to the Jira instance. Please check your Jira integration configuration."
+msgstr ""
+
msgid "Unable to convert Kubernetes logs encoding to UTF-8"
msgstr ""
@@ -22687,6 +23181,9 @@ msgstr ""
msgid "View issue"
msgstr ""
+msgid "View issues"
+msgstr ""
+
msgid "View it on GitLab"
msgstr ""
@@ -22864,6 +23361,15 @@ msgstr ""
msgid "VulnerabilityManagement|Resolved %{timeago} by %{user}"
msgstr ""
+msgid "VulnerabilityManagement|Something went wrong while trying to delete the comment. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to retrieve the vulnerability history. Please try again later."
+msgstr ""
+
+msgid "VulnerabilityManagement|Something went wrong while trying to save the comment. Please try again later."
+msgstr ""
+
msgid "VulnerabilityManagement|Something went wrong, could not create an issue."
msgstr ""
@@ -22894,6 +23400,9 @@ msgstr ""
msgid "VulnerabilityStatusTypes|Resolved"
msgstr ""
+msgid "Vulnerability|%{scannerName} (version %{scannerVersion})"
+msgstr ""
+
msgid "Vulnerability|Class"
msgstr ""
@@ -22927,7 +23436,10 @@ msgstr ""
msgid "Vulnerability|Project"
msgstr ""
-msgid "Vulnerability|Report Type"
+msgid "Vulnerability|Scanner Provider"
+msgstr ""
+
+msgid "Vulnerability|Scanner Type"
msgstr ""
msgid "Vulnerability|Severity"
@@ -22981,9 +23493,15 @@ msgstr ""
msgid "We sent you an email with reset password instructions"
msgstr ""
+msgid "We tried to automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{expires_on} but something went wrong so your subscription was downgraded to the free plan. Don't worry, your data is safe. We suggest you check your payment method and get in touch with our support team (%{support_link}). They'll gladly help with your subscription renewal."
+msgstr ""
+
msgid "We want to be sure it is you, please confirm you are not a robot."
msgstr ""
+msgid "We will automatically renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} on %{strong}%{expires_on}%{strong_close}. There's nothing that you need to do, we'll let you know when the renewal is complete. Need more seats, a higher plan or just want to review your payment method?"
+msgstr ""
+
msgid "We've found no vulnerabilities"
msgstr ""
@@ -23087,15 +23605,6 @@ msgstr ""
msgid "When:"
msgstr ""
-msgid "While it's rare to have no vulnerabilities for your group, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your pipeline, it can happen. In any event, we ask that you double check your settings to make sure all security scanning jobs have passed successfully."
-msgstr ""
-
-msgid "While it's rare to have no vulnerabilities for your project, it can happen. In any event, we ask that you double check your settings to make sure you've set up your dashboard correctly."
-msgstr ""
-
msgid "While it's rare to have no vulnerabilities, it can happen. In any event, we ask that you please double check your settings to make sure you've set up your dashboard correctly."
msgstr ""
@@ -23126,9 +23635,6 @@ msgstr ""
msgid "Wiki"
msgstr "Wiki"
-msgid "Wiki pages"
-msgstr ""
-
msgid "Wiki was successfully updated."
msgstr ""
@@ -23312,6 +23818,9 @@ msgstr ""
msgid "Yes, add it"
msgstr ""
+msgid "Yes, close issue"
+msgstr ""
+
msgid "Yes, let me map Google Code users to full names or GitLab users."
msgstr ""
@@ -23507,6 +24016,9 @@ msgstr ""
msgid "You could not create a new trigger."
msgstr ""
+msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} so it was downgraded to the free plan."
+msgstr ""
+
msgid "You didn't renew your %{strong}%{plan_name}%{strong_close} subscription so it was downgraded to the GitLab Core Plan."
msgstr ""
@@ -23573,6 +24085,9 @@ msgstr ""
msgid "You have declined the invitation to join %{label}."
msgstr ""
+msgid "You have imported from this project %{numberOfPreviousImportsForProject} times before. Each new import will create duplicate issues."
+msgstr ""
+
msgid "You have no permissions"
msgstr ""
@@ -23654,6 +24169,9 @@ msgstr ""
msgid "You need to upload a Google Takeout archive."
msgstr ""
+msgid "You reached %{usage_in_percent} of %{namespace_name}'s capacity (%{used_storage} of %{storage_limit})"
+msgstr ""
+
msgid "You tried to fork %{link_to_the_project} but it failed for the following reason:"
msgstr ""
@@ -23738,9 +24256,21 @@ msgstr ""
msgid "YouTube"
msgstr ""
+msgid "Your %{strong}%{plan_name}%{strong_close} subscription for %{strong}%{namespace_name}%{strong_close} will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
+msgstr ""
+
msgid "Your %{strong}%{plan_name}%{strong_close} subscription will expire on %{strong}%{expires_on}%{strong_close}. After that, you will not to be able to create issues or merge requests as well as many other features."
msgstr ""
+msgid "Your CSV export has started. It will be emailed to %{email} when complete."
+msgstr ""
+
+msgid "Your CSV export of %{issues_count} from project %{project_link} has been added to this email as an attachment."
+msgstr ""
+
+msgid "Your CSV export of %{written_count} from project %{project_name} (%{project_url}) has been added to this email as an attachment."
+msgstr ""
+
msgid "Your Commit Email will be used for web based operations, such as edits and merges."
msgstr ""
@@ -23837,6 +24367,9 @@ msgstr ""
msgid "Your comment could not be updated! Please check your network connection and try again."
msgstr ""
+msgid "Your comment will be discarded."
+msgstr ""
+
msgid "Your custom stage '%{title}' was created"
msgstr ""
@@ -23876,6 +24409,9 @@ msgstr ""
msgid "Your new personal access token has been created."
msgstr ""
+msgid "Your new project access token has been created."
+msgstr ""
+
msgid "Your password isn't required to view this page. If a password or any other personal details are requested, please contact your administrator to report abuse."
msgstr ""
@@ -23894,12 +24430,18 @@ msgstr ""
msgid "Your request for access has been queued for review."
msgstr ""
+msgid "Your search didn't match any commits."
+msgstr ""
+
msgid "Your subscription expired!"
msgstr ""
msgid "Your subscription has been downgraded"
msgstr ""
+msgid "Your subscription will automatically renew in %{remaining_days}"
+msgstr ""
+
msgid "Your subscription will expire in %{remaining_days}"
msgstr ""
@@ -23937,7 +24479,7 @@ msgstr "å‰"
msgid "allowed to fail"
msgstr ""
-msgid "already being used for another group or project milestone."
+msgid "already being used for another group or project %{timebox_name}."
msgstr ""
msgid "already has a \"created\" issue link"
@@ -24015,6 +24557,9 @@ msgstr ""
msgid "ciReport|%{linkStartTag}Learn more about SAST %{linkEndTag}"
msgstr ""
+msgid "ciReport|%{linkStartTag}Learn more about Secret Scanning %{linkEndTag}"
+msgstr ""
+
msgid "ciReport|%{linkStartTag}Learn more about codequality reports %{linkEndTag}"
msgstr ""
@@ -24173,6 +24718,12 @@ msgstr ""
msgid "ciReport|SAST"
msgstr ""
+msgid "ciReport|Secret scanning"
+msgstr ""
+
+msgid "ciReport|Secret scanning detects secrets and credentials vulnerabilities in your source code."
+msgstr ""
+
msgid "ciReport|Security scanning"
msgstr ""
@@ -24366,6 +24917,9 @@ msgstr ""
msgid "group"
msgstr ""
+msgid "groups"
+msgstr ""
+
msgid "has already been linked to another vulnerability"
msgstr ""
@@ -24527,9 +25081,6 @@ msgstr[0] ""
msgid "merged %{time_ago}"
msgstr ""
-msgid "milestone should belong either to a project or a group."
-msgstr ""
-
msgid "missing"
msgstr ""
@@ -24866,6 +25417,9 @@ msgstr ""
msgid "no contributions"
msgstr ""
+msgid "no expiration"
+msgstr ""
+
msgid "no one can merge"
msgstr ""
@@ -24916,6 +25470,9 @@ msgstr ""
msgid "pending removal"
msgstr ""
+msgid "per day"
+msgstr ""
+
msgid "pipeline"
msgstr ""
@@ -24942,6 +25499,12 @@ msgstr[0] ""
msgid "project avatar"
msgstr ""
+msgid "projects"
+msgstr ""
+
+msgid "push to your repository, create pipelines, create issues or add comments. To reduce storage capacity, delete unused repositories, artifacts, wikis, issues, and pipelines."
+msgstr ""
+
msgid "quick actions"
msgstr ""
@@ -25087,10 +25650,6 @@ msgstr ""
msgid "this document"
msgstr ""
-msgid "thread resolved"
-msgid_plural "threads resolved"
-msgstr[0] ""
-
msgid "to help your contributors communicate effectively!"
msgstr ""
@@ -25145,6 +25704,9 @@ msgstr ""
msgid "view the blob"
msgstr ""
+msgid "vulnerability|Add a comment"
+msgstr ""
+
msgid "vulnerability|Add a comment or reason for dismissal"
msgstr ""
diff --git a/package.json b/package.json
index dd03299964b..92392fddb21 100644
--- a/package.json
+++ b/package.json
@@ -39,12 +39,12 @@
"@babel/plugin-syntax-import-meta": "^7.8.3",
"@babel/preset-env": "^7.8.4",
"@gitlab/at.js": "1.5.5",
- "@gitlab/svgs": "1.125.0",
- "@gitlab/ui": "14.0.0",
+ "@gitlab/svgs": "1.127.0",
+ "@gitlab/ui": "14.5.0",
"@gitlab/visual-review-tools": "1.6.1",
"@rails/actioncable": "^6.0.2-2",
"@sentry/browser": "^5.10.2",
- "@sourcegraph/code-host-integration": "0.0.37",
+ "@sourcegraph/code-host-integration": "0.0.46",
"@toast-ui/editor": "^2.0.1",
"@toast-ui/vue-editor": "^2.0.1",
"apollo-cache-inmemory": "^1.6.3",
@@ -100,6 +100,7 @@
"lodash": "^4.17.15",
"marked": "^0.3.12",
"mermaid": "^8.4.8",
+ "mitt": "^1.2.0",
"monaco-editor": "^0.18.1",
"monaco-editor-webpack-plugin": "^1.7.0",
"mousetrap": "^1.4.6",
@@ -217,4 +218,4 @@
"node": ">=10.13.0",
"yarn": "^1.10.0"
}
-} \ No newline at end of file
+}
diff --git a/qa/qa.rb b/qa/qa.rb
index 130c7b2dae8..ed4ad868451 100644
--- a/qa/qa.rb
+++ b/qa/qa.rb
@@ -252,6 +252,7 @@ module QA
autoload :Main, 'qa/page/project/settings/main'
autoload :Repository, 'qa/page/project/settings/repository'
autoload :CICD, 'qa/page/project/settings/ci_cd'
+ autoload :GeneralPipelines, 'qa/page/project/settings/general_pipelines'
autoload :AutoDevops, 'qa/page/project/settings/auto_devops'
autoload :DeployKeys, 'qa/page/project/settings/deploy_keys'
autoload :DeployTokens, 'qa/page/project/settings/deploy_tokens'
@@ -262,6 +263,8 @@ module QA
autoload :Members, 'qa/page/project/settings/members'
autoload :MirroringRepositories, 'qa/page/project/settings/mirroring_repositories'
autoload :VisibilityFeaturesPermissions, 'qa/page/project/settings/visibility_features_permissions'
+ autoload :Operations, 'qa/page/project/settings/operations'
+ autoload :Incidents, 'qa/page/project/settings/incidents'
end
module SubMenus
@@ -417,6 +420,10 @@ module QA
module WebIDE
autoload :Alert, 'qa/page/component/web_ide/alert'
end
+
+ module Project
+ autoload :Templates, 'qa/page/component/project/templates'
+ end
end
end
diff --git a/qa/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml b/qa/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml
index 3e83c8f0f77..052ba1c14fb 100644
--- a/qa/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml
+++ b/qa/qa/fixtures/monitored_auto_devops/.gitlab-ci.yml
@@ -22,10 +22,12 @@ variables:
stages:
- production
-# This job continuously deploys to staging/production on every push to `master`.
+# This job continuously deploys to production on every push to `master`.
production:
stage: production
+ tags:
+ - qa
script:
- check_kube_domain
- install_dependencies
@@ -34,7 +36,6 @@ production:
- initialize_tiller
- create_secret
- deploy
- - persist_environment_url
environment:
name: production
url: http://$CI_PROJECT_PATH_SLUG.$AUTO_DEVOPS_DOMAIN
diff --git a/qa/qa/page/component/project/templates.rb b/qa/qa/page/component/project/templates.rb
new file mode 100644
index 00000000000..8baf15acdff
--- /dev/null
+++ b/qa/qa/page/component/project/templates.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+module QA
+ module Page::Component
+ module Project
+ module Templates
+ def use_template_for_project(project_name)
+ within find_element(:template_option_row, text: project_name) do
+ click_element :use_template_button
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/dashboard/snippet/new.rb b/qa/qa/page/dashboard/snippet/new.rb
index 27ea064c25e..95eee8c0fb2 100644
--- a/qa/qa/page/dashboard/snippet/new.rb
+++ b/qa/qa/page/dashboard/snippet/new.rb
@@ -10,7 +10,16 @@ module QA
end
view 'app/assets/javascripts/snippets/components/snippet_description_edit.vue' do
- element :snippet_description_field, required: true
+ element :snippet_description_field
+ element :description_placeholder, required: true
+ end
+
+ view 'app/assets/javascripts/snippets/components/snippet_title.vue' do
+ element :snippet_title, required: true
+ end
+
+ view 'app/assets/javascripts/snippets/components/snippet_blob_edit.vue' do
+ element :snippet_file_name
end
view 'app/views/shared/form_elements/_description.html.haml' do
diff --git a/qa/qa/page/dashboard/snippet/show.rb b/qa/qa/page/dashboard/snippet/show.rb
index 52d3364d0a9..2dcb11018ef 100644
--- a/qa/qa/page/dashboard/snippet/show.rb
+++ b/qa/qa/page/dashboard/snippet/show.rb
@@ -5,14 +5,17 @@ module QA
module Dashboard
module Snippet
class Show < Page::Base
- view 'app/assets/javascripts/snippets/components/snippet_description_edit.vue' do
- element :snippet_description_field, required: true
+ view 'app/assets/javascripts/snippets/components/snippet_description_view.vue' do
+ element :snippet_description_field
+ end
+
+ view 'app/assets/javascripts/snippets/components/snippet_title.vue' do
+ element :snippet_title, required: true
end
view 'app/views/shared/snippets/_header.html.haml' do
element :snippet_title, required: true
element :snippet_description_field, required: true
- element :embed_type
element :snippet_box
end
@@ -20,10 +23,18 @@ module QA
element :file_title_name
end
+ view 'app/assets/javascripts/blob/components/blob_header_filepath.vue' do
+ element :file_title_name
+ end
+
view 'app/views/shared/_file_highlight.html.haml' do
element :file_content
end
+ view 'app/assets/javascripts/vue_shared/components/blob_viewers/simple_viewer.vue' do
+ element :file_content
+ end
+
def has_snippet_title?(snippet_title)
has_element? :snippet_title, text: snippet_title
end
@@ -32,12 +43,6 @@ module QA
has_element? :snippet_description_field, text: snippet_description
end
- def has_embed_type?(embed_type)
- within_element(:embed_type) do
- has_text?(embed_type)
- end
- end
-
def has_visibility_type?(visibility_type)
within_element(:snippet_box) do
has_text?(visibility_type)
diff --git a/qa/qa/page/project/new.rb b/qa/qa/page/project/new.rb
index 97214e22820..f6c015f64ea 100644
--- a/qa/qa/page/project/new.rb
+++ b/qa/qa/page/project/new.rb
@@ -5,6 +5,7 @@ module QA
module Project
class New < Page::Base
include Page::Component::Select2
+ include Page::Component::Project::Templates
view 'app/views/projects/new.html.haml' do
element :project_create_from_template_tab
@@ -26,6 +27,11 @@ module QA
element :import_github, "icon('github', text: 'GitHub')" # rubocop:disable QA/ElementWithPattern
end
+ view 'app/views/projects/project_templates/_built_in_templates.html.haml' do
+ element :use_template_button
+ element :template_option_row
+ end
+
def choose_test_namespace
choose_namespace(Runtime::Namespace.path)
end
diff --git a/qa/qa/page/project/operations/kubernetes/index.rb b/qa/qa/page/project/operations/kubernetes/index.rb
index 84b58e9ea5b..0c92f9a9f28 100644
--- a/qa/qa/page/project/operations/kubernetes/index.rb
+++ b/qa/qa/page/project/operations/kubernetes/index.rb
@@ -17,6 +17,10 @@ module QA
def has_cluster?(cluster)
has_element?(:cluster, cluster_name: cluster.to_s)
end
+
+ def click_on_cluster(cluster)
+ click_on cluster.cluster_name
+ end
end
end
end
diff --git a/qa/qa/page/project/operations/metrics/show.rb b/qa/qa/page/project/operations/metrics/show.rb
index d44b31aebf9..90137e379c5 100644
--- a/qa/qa/page/project/operations/metrics/show.rb
+++ b/qa/qa/page/project/operations/metrics/show.rb
@@ -25,6 +25,7 @@ module QA
element :prometheus_graph_widgets
element :prometheus_widgets_dropdown
element :alert_widget_menu_item
+ element :generate_chart_link_menu_item
end
def wait_for_metrics
@@ -72,6 +73,11 @@ module QA
end
end
+ def copy_link_to_first_chart
+ all_elements(:prometheus_widgets_dropdown, minimum: 1).first.click
+ find_element(:generate_chart_link_menu_item)['data-clipboard-text']
+ end
+
private
def wait_for_data
diff --git a/qa/qa/page/project/settings/ci_cd.rb b/qa/qa/page/project/settings/ci_cd.rb
index 46f93fad61e..6d4f05f877a 100644
--- a/qa/qa/page/project/settings/ci_cd.rb
+++ b/qa/qa/page/project/settings/ci_cd.rb
@@ -11,6 +11,13 @@ module QA
element :autodevops_settings_content
element :runners_settings_content
element :variables_settings_content
+ element :general_pipelines_settings_content
+ end
+
+ def expand_general_pipelines(&block)
+ expand_section(:general_pipelines_settings_content) do
+ Settings::GeneralPipelines.perform(&block)
+ end
end
def expand_runners_settings(&block)
diff --git a/qa/qa/page/project/settings/general_pipelines.rb b/qa/qa/page/project/settings/general_pipelines.rb
new file mode 100644
index 00000000000..2265281a3f4
--- /dev/null
+++ b/qa/qa/page/project/settings/general_pipelines.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+module QA
+ module Page
+ module Project
+ module Settings
+ class GeneralPipelines < Page::Base
+ include Common
+
+ view 'app/views/projects/settings/ci_cd/_form.html.haml' do
+ element :build_coverage_regex_field
+ element :save_general_pipelines_changes_button
+ end
+
+ def configure_coverage_regex(pattern)
+ fill_element :build_coverage_regex_field, pattern
+ click_element :save_general_pipelines_changes_button
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/project/settings/incidents.rb b/qa/qa/page/project/settings/incidents.rb
new file mode 100644
index 00000000000..94d5fc369ad
--- /dev/null
+++ b/qa/qa/page/project/settings/incidents.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+module QA
+ module Page
+ module Project
+ module Settings
+ class Incidents < Page::Base
+ view 'app/views/projects/settings/operations/_incidents.html.haml' do
+ element :create_issue_checkbox
+ element :incident_templates_dropdown
+ element :save_changes_button
+ end
+
+ def enable_issues_for_incidents
+ check_element :create_issue_checkbox
+ end
+
+ def select_issue_template(template)
+ within_element :incident_templates_dropdown do
+ find(:option, template).select_option
+ end
+ end
+
+ def save_incident_settings
+ click_element :save_changes_button
+ end
+
+ def has_template?(template)
+ within_element :incident_templates_dropdown do
+ has_text?(template)
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/project/settings/operations.rb b/qa/qa/page/project/settings/operations.rb
new file mode 100644
index 00000000000..637eba39f56
--- /dev/null
+++ b/qa/qa/page/project/settings/operations.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+module QA
+ module Page
+ module Project
+ module Settings
+ class Operations < Page::Base
+ include Common
+
+ view 'app/views/projects/settings/operations/_incidents.html.haml' do
+ element :incidents_settings_content
+ end
+
+ def expand_incidents(&block)
+ expand_section(:incidents_settings_content) do
+ Settings::Incidents.perform(&block)
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/project/sub_menus/operations.rb b/qa/qa/page/project/sub_menus/operations.rb
index bcbc1dc16d3..5d7c9869cde 100644
--- a/qa/qa/page/project/sub_menus/operations.rb
+++ b/qa/qa/page/project/sub_menus/operations.rb
@@ -10,7 +10,7 @@ module QA
def self.included(base)
base.class_eval do
view 'app/views/layouts/nav/sidebar/_project.html.haml' do
- element :link_operations
+ element :operations_link
element :operations_environments_link
element :operations_metrics_link
end
@@ -45,8 +45,8 @@ module QA
def hover_operations
within_sidebar do
- scroll_to_element(:link_operations)
- find_element(:link_operations).hover
+ scroll_to_element(:operations_link)
+ find_element(:operations_link).hover
yield
end
diff --git a/qa/qa/page/project/sub_menus/settings.rb b/qa/qa/page/project/sub_menus/settings.rb
index 8be442ba35d..1bbb6aaa5cf 100644
--- a/qa/qa/page/project/sub_menus/settings.rb
+++ b/qa/qa/page/project/sub_menus/settings.rb
@@ -14,6 +14,7 @@ module QA
element :link_members_settings
element :general_settings_link
element :integrations_settings_link
+ element :operations_settings_link
end
end
end
@@ -64,6 +65,14 @@ module QA
end
end
+ def go_to_operations_settings
+ hover_settings do
+ within_submenu do
+ click_element :operations_settings_link
+ end
+ end
+ end
+
private
def hover_settings
diff --git a/qa/qa/resource/project.rb b/qa/qa/resource/project.rb
index f41328c2d82..00db5ea3a65 100644
--- a/qa/qa/resource/project.rb
+++ b/qa/qa/resource/project.rb
@@ -20,6 +20,7 @@ module QA
attribute :standalone
attribute :runners_token
attribute :visibility
+ attribute :template_name
attribute :group do
Group.fabricate!
@@ -52,6 +53,7 @@ module QA
@initialize_with_readme = false
@auto_devops_enabled = false
@visibility = :public
+ @template_name = nil
end
def name=(raw_name)
@@ -64,6 +66,13 @@ module QA
Page::Group::Show.perform(&:go_to_new_project)
end
+ if @template_name
+ Page::Project::New.perform do |new_page|
+ new_page.click_create_from_template_tab
+ new_page.use_template_for_project(@template_name)
+ end
+ end
+
Page::Project::New.perform do |new_page|
new_page.choose_test_namespace
new_page.choose_name(@name)
@@ -127,6 +136,7 @@ module QA
end
post_body[:repository_storage] = repository_storage if repository_storage
+ post_body[:template_name] = @template_name if @template_name
post_body
end
diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/move_project_create_fork_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/move_project_create_fork_spec.rb
index 13fe8918f97..d0123da53bb 100644
--- a/qa/qa/specs/features/browser_ui/3_create/repository/move_project_create_fork_spec.rb
+++ b/qa/qa/specs/features/browser_ui/3_create/repository/move_project_create_fork_spec.rb
@@ -1,8 +1,8 @@
# frozen_string_literal: true
module QA
- context 'Create' do
- describe 'Gitaly repository storage', :orchestrated, :repository_storage, :requires_admin, quarantine: { type: :new } do
+ context 'Create', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/217002', type: :investigating } do
+ describe 'Gitaly repository storage', :orchestrated, :repository_storage, :requires_admin do
let(:user) { Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) }
let(:parent_project) do
Resource::Project.fabricate_via_api! do |project|
diff --git a/qa/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb b/qa/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb
index 8ea1534492c..ed988bdf046 100644
--- a/qa/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb
+++ b/qa/qa/specs/features/browser_ui/3_create/web_ide/review_merge_request_spec.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module QA
- context 'Create', quarantine: { type: :new } do
+ context 'Create' do
describe 'Review a merge request in Web IDE' do
let(:new_file) { 'awesome_new_file.txt' }
let(:original_text) { 'Text' }
diff --git a/qa/qa/specs/features/browser_ui/4_verify/testing/view_code_coverage_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/testing/view_code_coverage_spec.rb
new file mode 100644
index 00000000000..bf20c4a70ea
--- /dev/null
+++ b/qa/qa/specs/features/browser_ui/4_verify/testing/view_code_coverage_spec.rb
@@ -0,0 +1,62 @@
+# frozen_string_literal: true
+
+module QA
+ context 'Verify', :docker, :runner do
+ describe 'Code coverage statistics' do
+ let(:simplecov) { '\(\d+.\d+\%\) covered' }
+ let(:executor) { "qa-runner-#{Time.now.to_i}" }
+ let(:runner) do
+ Resource::Runner.fabricate_via_api! do |runner|
+ runner.name = executor
+ end
+ end
+
+ let(:merge_request) do
+ Resource::MergeRequest.fabricate_via_api! do |mr|
+ mr.project = runner.project
+ mr.file_name = '.gitlab-ci.yml'
+ mr.file_content = <<~EOF
+ test:
+ tags:
+ - qa
+ - e2e
+ script:
+ - echo '(66.67%) covered'
+ EOF
+ end
+ end
+
+ before do
+ Flow::Login.sign_in
+ end
+
+ after do
+ runner.remove_via_api!
+ end
+
+ it 'creates an MR with code coverage statistics' do
+ runner.project.visit!
+ configure_code_coverage(simplecov)
+ merge_request.visit!
+
+ Page::MergeRequest::Show.perform do |mr_widget|
+ Support::Retrier.retry_until(max_attempts: 5, sleep_interval: 5) do
+ mr_widget.has_pipeline_status?(/Pipeline #\d+ passed/)
+ end
+ expect(mr_widget).to have_content('Coverage 66.67%')
+ end
+ end
+ end
+
+ private
+
+ def configure_code_coverage(coverage_tool_pattern)
+ Page::Project::Menu.perform(&:go_to_ci_cd_settings)
+ Page::Project::Settings::CICD.perform do |settings|
+ settings.expand_general_pipelines do |coverage|
+ coverage.configure_coverage_regex(coverage_tool_pattern)
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_dependent_relationship_spec.rb b/qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_dependent_relationship_spec.rb
index e71212bcb68..b78aee75471 100644
--- a/qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_dependent_relationship_spec.rb
+++ b/qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_dependent_relationship_spec.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module QA
- context 'Release', :docker, quarantine: { type: :new } do
+ context 'Release', :docker do
describe 'Parent-child pipelines dependent relationship' do
let!(:project) do
Resource::Project.fabricate_via_api! do |project|
diff --git a/qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_independent_relationship_spec.rb b/qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_independent_relationship_spec.rb
index 633af9c2e8a..bd5e66b8669 100644
--- a/qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_independent_relationship_spec.rb
+++ b/qa/qa/specs/features/browser_ui/6_release/pipeline/parent_child_pipelines_independent_relationship_spec.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
module QA
- context 'Release', :docker, quarantine: { type: :new } do
+ context 'Release', :docker do
describe 'Parent-child pipelines independent relationship' do
let!(:project) do
Resource::Project.fabricate_via_api! do |project|
diff --git a/qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb b/qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb
index ab6c08f8ec5..04c68598239 100644
--- a/qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb
+++ b/qa/qa/specs/features/browser_ui/7_configure/kubernetes/kubernetes_integration_spec.rb
@@ -1,8 +1,8 @@
# frozen_string_literal: true
module QA
- context 'Configure' do
- describe 'Kubernetes Cluster Integration', :orchestrated, :kubernetes, :requires_admin, quarantine: { type: :new } do
+ context 'Configure', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/209085', type: :investigating } do
+ describe 'Kubernetes Cluster Integration', :orchestrated, :kubernetes, :requires_admin do
context 'Project Clusters' do
let(:cluster) { Service::KubernetesCluster.new(provider_class: Service::ClusterProvider::K3s).create! }
let(:project) do
diff --git a/qa/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb b/qa/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb
index 465b3530d00..da63b1ac7c8 100644
--- a/qa/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb
+++ b/qa/qa/specs/features/browser_ui/8_monitor/apm/dashboards_spec.rb
@@ -2,7 +2,7 @@
module QA
context 'Monitor' do
- describe 'Dashboards', :orchestrated, :kubernetes, quarantine: { type: :new } do
+ describe 'Dashboards', :orchestrated, :kubernetes, quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29262', type: :waiting_on } do
before(:all) do
@cluster = Service::KubernetesCluster.new.create!
Flow::Login.sign_in
diff --git a/scripts/rspec_helpers.sh b/scripts/rspec_helpers.sh
index e0cce46fb6b..622389f34b6 100644
--- a/scripts/rspec_helpers.sh
+++ b/scripts/rspec_helpers.sh
@@ -73,6 +73,12 @@ function rspec_paralellized_job() {
export KNAPSACK_LOG_LEVEL="debug"
export KNAPSACK_REPORT_PATH="knapsack/${report_name}_report.json"
+ # There's a bug where artifacts are sometimes not downloaded. Since specs can run without the Knapsack report, we can
+ # handle the missing artifact gracefully here. See https://gitlab.com/gitlab-org/gitlab/-/issues/212349.
+ if [[ ! -f "${KNAPSACK_RSPEC_SUITE_REPORT_PATH}" ]]; then
+ echo "{}" > "${KNAPSACK_RSPEC_SUITE_REPORT_PATH}"
+ fi
+
cp "${KNAPSACK_RSPEC_SUITE_REPORT_PATH}" "${KNAPSACK_REPORT_PATH}"
if [[ -z "${KNAPSACK_TEST_FILE_PATTERN}" ]]; then
diff --git a/spec/controllers/concerns/issuable_actions_spec.rb b/spec/controllers/concerns/issuable_actions_spec.rb
index 7b0b4497f3f..2ab46992b99 100644
--- a/spec/controllers/concerns/issuable_actions_spec.rb
+++ b/spec/controllers/concerns/issuable_actions_spec.rb
@@ -14,7 +14,7 @@ describe IssuableActions do
klass = Class.new do
attr_reader :current_user, :project, :issuable
- def self.before_action(action, params = nil)
+ def self.before_action(action = nil, params = nil)
end
include IssuableActions
diff --git a/spec/controllers/groups/group_links_controller_spec.rb b/spec/controllers/groups/group_links_controller_spec.rb
index 21169188386..ca430414d17 100644
--- a/spec/controllers/groups/group_links_controller_spec.rb
+++ b/spec/controllers/groups/group_links_controller_spec.rb
@@ -99,18 +99,6 @@ describe Groups::GroupLinksController do
expect(flash[:alert]).to eq('error')
end
end
-
- context 'when feature flag is disabled' do
- before do
- stub_feature_flags(share_group_with_group: false)
- end
-
- it 'renders 404' do
- subject
-
- expect(response).to have_gitlab_http_status(:not_found)
- end
- end
end
context 'when user does not have access to the group' do
@@ -184,18 +172,6 @@ describe Groups::GroupLinksController do
expect(response).to have_gitlab_http_status(:not_found)
end
end
-
- context 'when feature flag is disabled' do
- before do
- stub_feature_flags(share_group_with_group: false)
- end
-
- it 'renders 404' do
- subject
-
- expect(response).to have_gitlab_http_status(:not_found)
- end
- end
end
describe '#destroy' do
@@ -231,17 +207,5 @@ describe Groups::GroupLinksController do
expect(response).to have_gitlab_http_status(:not_found)
end
end
-
- context 'when feature flag is disabled' do
- before do
- stub_feature_flags(share_group_with_group: false)
- end
-
- it 'renders 404' do
- subject
-
- expect(response).to have_gitlab_http_status(:not_found)
- end
- end
end
end
diff --git a/spec/controllers/projects/alert_management_controller_spec.rb b/spec/controllers/projects/alert_management_controller_spec.rb
index 361c7e10cdb..31185aa948a 100644
--- a/spec/controllers/projects/alert_management_controller_spec.rb
+++ b/spec/controllers/projects/alert_management_controller_spec.rb
@@ -4,7 +4,7 @@ require 'spec_helper'
describe Projects::AlertManagementController do
let_it_be(:project) { create(:project) }
- let_it_be(:role) { :reporter }
+ let_it_be(:role) { :developer }
let_it_be(:user) { create(:user) }
let_it_be(:id) { 1 }
@@ -24,6 +24,16 @@ describe Projects::AlertManagementController do
expect(response).to have_gitlab_http_status(:ok)
end
+
+ context 'when user is unauthorized' do
+ let(:role) { :reporter }
+
+ it 'shows 404' do
+ get :index, params: { namespace_id: project.namespace, project_id: project }
+
+ expect(response).to have_gitlab_http_status(:not_found)
+ end
+ end
end
context 'when alert_management_minimal is disabled' do
@@ -50,6 +60,16 @@ describe Projects::AlertManagementController do
expect(response).to have_gitlab_http_status(:ok)
end
+
+ context 'when user is unauthorized' do
+ let(:role) { :reporter }
+
+ it 'shows 404' do
+ get :index, params: { namespace_id: project.namespace, project_id: project }
+
+ expect(response).to have_gitlab_http_status(:not_found)
+ end
+ end
end
context 'when alert_management_detail is disabled' do
@@ -64,4 +84,12 @@ describe Projects::AlertManagementController do
end
end
end
+
+ describe 'set_alert_id' do
+ it 'sets alert id from the route' do
+ get :details, params: { namespace_id: project.namespace, project_id: project, id: id }
+
+ expect(assigns(:alert_id)).to eq(id.to_s)
+ end
+ end
end
diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb
index a2df023fe4c..053932944bb 100644
--- a/spec/controllers/projects/issues_controller_spec.rb
+++ b/spec/controllers/projects/issues_controller_spec.rb
@@ -187,6 +187,33 @@ describe Projects::IssuesController do
expect(assigns(:issue)).to be_a_new(Issue)
end
+ where(:conf_value, :conf_result) do
+ [
+ [true, true],
+ ['true', true],
+ ['TRUE', true],
+ [false, false],
+ ['false', false],
+ ['FALSE', false]
+ ]
+ end
+
+ with_them do
+ it 'sets the confidential flag to the expected value' do
+ get :new, params: {
+ namespace_id: project.namespace,
+ project_id: project,
+ issue: {
+ confidential: conf_value
+ }
+ }
+
+ assigned_issue = assigns(:issue)
+ expect(assigned_issue).to be_a_new(Issue)
+ expect(assigned_issue.confidential).to eq conf_result
+ end
+ end
+
it 'fills in an issue for a merge request' do
project_with_repository = create(:project, :repository)
project_with_repository.add_developer(user)
diff --git a/spec/controllers/projects/pages_domains_controller_spec.rb b/spec/controllers/projects/pages_domains_controller_spec.rb
index c78c5fe2886..40a6f77f0d6 100644
--- a/spec/controllers/projects/pages_domains_controller_spec.rb
+++ b/spec/controllers/projects/pages_domains_controller_spec.rb
@@ -148,16 +148,10 @@ describe Projects::PagesDomainsController do
describe 'POST verify' do
let(:params) { request_params.merge(id: pages_domain.domain) }
- def stub_service
- service = double(:service)
-
- expect(VerifyPagesDomainService).to receive(:new) { service }
-
- service
- end
-
it 'handles verification success' do
- expect(stub_service).to receive(:execute).and_return(status: :success)
+ expect_next_instance_of(VerifyPagesDomainService, pages_domain) do |service|
+ expect(service).to receive(:execute).and_return(status: :success)
+ end
post :verify, params: params
@@ -166,7 +160,9 @@ describe Projects::PagesDomainsController do
end
it 'handles verification failure' do
- expect(stub_service).to receive(:execute).and_return(status: :failed)
+ expect_next_instance_of(VerifyPagesDomainService, pages_domain) do |service|
+ expect(service).to receive(:execute).and_return(status: :failed)
+ end
post :verify, params: params
diff --git a/spec/controllers/projects/pipelines_controller_spec.rb b/spec/controllers/projects/pipelines_controller_spec.rb
index 8dc337e3a3d..3c34d41504d 100644
--- a/spec/controllers/projects/pipelines_controller_spec.rb
+++ b/spec/controllers/projects/pipelines_controller_spec.rb
@@ -145,11 +145,61 @@ describe Projects::PipelinesController do
end
end
- def get_pipelines_index_json
+ context 'filter by scope' do
+ it 'returns matched pipelines' do
+ get_pipelines_index_json(scope: 'running')
+
+ check_pipeline_response(returned: 2, all: 6, running: 2, pending: 1, finished: 3)
+ end
+
+ context 'scope is branches or tags' do
+ before do
+ create(:ci_pipeline, :failed, project: project, ref: 'v1.0.0', tag: true)
+ end
+
+ context 'when scope is branches' do
+ it 'returns matched pipelines' do
+ get_pipelines_index_json(scope: 'branches')
+
+ check_pipeline_response(returned: 1, all: 7, running: 2, pending: 1, finished: 4)
+ end
+ end
+
+ context 'when scope is tags' do
+ it 'returns matched pipelines' do
+ get_pipelines_index_json(scope: 'tags')
+
+ check_pipeline_response(returned: 1, all: 7, running: 2, pending: 1, finished: 4)
+ end
+ end
+ end
+ end
+
+ context 'filter by username' do
+ let!(:pipeline) { create(:ci_pipeline, :running, project: project, user: user) }
+
+ context 'when username exists' do
+ it 'returns matched pipelines' do
+ get_pipelines_index_json(username: user.username)
+
+ check_pipeline_response(returned: 1, all: 1, running: 1, pending: 0, finished: 0)
+ end
+ end
+
+ context 'when username does not exist' do
+ it 'returns empty' do
+ get_pipelines_index_json(username: 'invalid-username')
+
+ check_pipeline_response(returned: 0, all: 0, running: 0, pending: 0, finished: 0)
+ end
+ end
+ end
+
+ def get_pipelines_index_json(params = {})
get :index, params: {
namespace_id: project.namespace,
project_id: project
- },
+ }.merge(params),
format: :json
end
@@ -199,6 +249,18 @@ describe Projects::PipelinesController do
user: user
)
end
+
+ def check_pipeline_response(returned:, all:, running:, pending:, finished:)
+ aggregate_failures do
+ expect(response).to match_response_schema('pipeline')
+
+ expect(json_response['pipelines'].count).to eq returned
+ expect(json_response['count']['all'].to_i).to eq all
+ expect(json_response['count']['running'].to_i).to eq running
+ expect(json_response['count']['pending'].to_i).to eq pending
+ expect(json_response['count']['finished'].to_i).to eq finished
+ end
+ end
end
describe 'GET show.json' do
diff --git a/spec/controllers/projects/service_hook_logs_controller_spec.rb b/spec/controllers/projects/service_hook_logs_controller_spec.rb
index ca57b0579a8..a5130cd6e32 100644
--- a/spec/controllers/projects/service_hook_logs_controller_spec.rb
+++ b/spec/controllers/projects/service_hook_logs_controller_spec.rb
@@ -24,7 +24,7 @@ describe Projects::ServiceHookLogsController do
describe 'GET #show' do
subject { get :show, params: log_params }
- it do
+ specify do
expect(response).to be_successful
end
end
diff --git a/spec/controllers/registrations_controller_spec.rb b/spec/controllers/registrations_controller_spec.rb
index eda8b8655a1..41822a5a34c 100644
--- a/spec/controllers/registrations_controller_spec.rb
+++ b/spec/controllers/registrations_controller_spec.rb
@@ -419,24 +419,34 @@ describe RegistrationsController do
describe '#welcome' do
subject { get :welcome }
- before do
- sign_in(create(:user))
- end
-
context 'signup_flow experiment enabled' do
before do
stub_experiment_for_user(signup_flow: true)
end
it 'renders the devise_experimental_separate_sign_up_flow layout' do
+ sign_in(create(:user))
+
expected_layout = Gitlab.ee? ? :checkout : :devise_experimental_separate_sign_up_flow
expect(subject).to render_template(expected_layout)
end
+
+ context '2FA is required from group' do
+ before do
+ user = create(:user, require_two_factor_authentication_from_group: true)
+ sign_in(user)
+ end
+
+ it 'does not perform a redirect' do
+ expect(subject).not_to redirect_to(profile_two_factor_auth_path)
+ end
+ end
end
context 'signup_flow experiment disabled' do
before do
+ sign_in(create(:user))
stub_experiment_for_user(signup_flow: false)
end
diff --git a/spec/factories/alert_management/alerts.rb b/spec/factories/alert_management/alerts.rb
index 20bbfffc6c6..28cfe5d6b29 100644
--- a/spec/factories/alert_management/alerts.rb
+++ b/spec/factories/alert_management/alerts.rb
@@ -31,8 +31,23 @@ FactoryBot.define do
ended_at { Time.current }
end
+ trait :without_ended_at do
+ ended_at { nil }
+ end
+
+ trait :acknowledged do
+ status { AlertManagement::Alert::STATUSES[:acknowledged] }
+ without_ended_at
+ end
+
trait :resolved do
- status { :resolved }
+ status { AlertManagement::Alert::STATUSES[:resolved] }
+ with_ended_at
+ end
+
+ trait :ignored do
+ status { AlertManagement::Alert::STATUSES[:ignored] }
+ without_ended_at
end
trait :all_fields do
@@ -41,7 +56,6 @@ FactoryBot.define do
with_service
with_monitoring_tool
with_host
- with_ended_at
end
end
end
diff --git a/spec/factories/ci/freeze_periods.rb b/spec/factories/ci/freeze_periods.rb
new file mode 100644
index 00000000000..de48c2076c8
--- /dev/null
+++ b/spec/factories/ci/freeze_periods.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+
+FactoryBot.define do
+ factory :ci_freeze_period, class: 'Ci::FreezePeriod' do
+ project
+ freeze_start { '0 23 * * 5' }
+ freeze_end { '0 7 * * 1' }
+ cron_timezone { 'UTC' }
+ end
+end
diff --git a/spec/factories/ci/pipelines.rb b/spec/factories/ci/pipelines.rb
index f71225eac22..0b3653a01ed 100644
--- a/spec/factories/ci/pipelines.rb
+++ b/spec/factories/ci/pipelines.rb
@@ -83,6 +83,14 @@ FactoryBot.define do
end
end
+ trait :with_accessibility_reports do
+ status { :success }
+
+ after(:build) do |pipeline, evaluator|
+ pipeline.builds << build(:ci_build, :accessibility_reports, pipeline: pipeline, project: pipeline.project)
+ end
+ end
+
trait :with_coverage_reports do
status { :success }
diff --git a/spec/factories/groups.rb b/spec/factories/groups.rb
index 4b6c1756d1e..d51c437f83a 100644
--- a/spec/factories/groups.rb
+++ b/spec/factories/groups.rb
@@ -6,7 +6,7 @@ FactoryBot.define do
path { name.downcase.gsub(/\s/, '_') }
type { 'Group' }
owner { nil }
- project_creation_level { ::Gitlab::Access::MAINTAINER_PROJECT_ACCESS}
+ project_creation_level { ::Gitlab::Access::MAINTAINER_PROJECT_ACCESS }
after(:create) do |group|
if group.owner
@@ -17,15 +17,15 @@ FactoryBot.define do
end
trait :public do
- visibility_level { Gitlab::VisibilityLevel::PUBLIC}
+ visibility_level { Gitlab::VisibilityLevel::PUBLIC }
end
trait :internal do
- visibility_level {Gitlab::VisibilityLevel::INTERNAL}
+ visibility_level {Gitlab::VisibilityLevel::INTERNAL }
end
trait :private do
- visibility_level { Gitlab::VisibilityLevel::PRIVATE}
+ visibility_level { Gitlab::VisibilityLevel::PRIVATE }
end
trait :with_avatar do
@@ -49,7 +49,7 @@ FactoryBot.define do
end
trait :owner_subgroup_creation_only do
- subgroup_creation_level { ::Gitlab::Access::OWNER_SUBGROUP_ACCESS}
+ subgroup_creation_level { ::Gitlab::Access::OWNER_SUBGROUP_ACCESS }
end
end
end
diff --git a/spec/factories/merge_requests.rb b/spec/factories/merge_requests.rb
index 5916e76dce1..b10c04a37f7 100644
--- a/spec/factories/merge_requests.rb
+++ b/spec/factories/merge_requests.rb
@@ -121,6 +121,18 @@ FactoryBot.define do
end
end
+ trait :with_accessibility_reports do
+ after(:build) do |merge_request|
+ merge_request.head_pipeline = build(
+ :ci_pipeline,
+ :success,
+ :with_accessibility_reports,
+ project: merge_request.source_project,
+ ref: merge_request.source_branch,
+ sha: merge_request.diff_head_sha)
+ end
+ end
+
trait :with_coverage_reports do
after(:build) do |merge_request|
merge_request.head_pipeline = build(
diff --git a/spec/factories/notes.rb b/spec/factories/notes.rb
index 0868e38f70e..7c3ba122b5a 100644
--- a/spec/factories/notes.rb
+++ b/spec/factories/notes.rb
@@ -16,6 +16,7 @@ FactoryBot.define do
factory :note_on_merge_request, traits: [:on_merge_request]
factory :note_on_project_snippet, traits: [:on_project_snippet]
factory :note_on_personal_snippet, traits: [:on_personal_snippet]
+ factory :note_on_design, traits: [:on_design]
factory :system_note, traits: [:system]
factory :discussion_note, class: 'DiscussionNote'
diff --git a/spec/features/commits/user_view_commits_spec.rb b/spec/features/commits/user_view_commits_spec.rb
new file mode 100644
index 00000000000..133baca8b1c
--- /dev/null
+++ b/spec/features/commits/user_view_commits_spec.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe 'Commit > User view commits' do
+ let_it_be(:project) { create(:project, :public, :repository) }
+ let_it_be(:user) { project.creator }
+
+ before do
+ visit project_commits_path(project)
+ end
+
+ describe 'Commits List' do
+ it 'displays the correct number of commits per day in the header' do
+ expect(first('.js-commit-header').find('.commits-count').text).to eq('1 commit')
+ end
+
+ it 'lists the correct number of commits' do
+ expect(page).to have_selector('#commits-list > li:nth-child(2) > ul', count: 1)
+ end
+ end
+end
diff --git a/spec/features/global_search_spec.rb b/spec/features/global_search_spec.rb
index c499fac6bc0..a7c8c29517e 100644
--- a/spec/features/global_search_spec.rb
+++ b/spec/features/global_search_spec.rb
@@ -21,7 +21,7 @@ describe 'Global search' do
describe 'I search through the issues and I see pagination' do
before do
- allow_next_instance_of(Gitlab::SearchResults) do |instance|
+ allow_next_instance_of(SearchService) do |instance|
allow(instance).to receive(:per_page).and_return(1)
end
create_list(:issue, 2, project: project, title: 'initial')
diff --git a/spec/features/groups/members/manage_groups_spec.rb b/spec/features/groups/members/manage_groups_spec.rb
index 55f9418521f..593c450c6d6 100644
--- a/spec/features/groups/members/manage_groups_spec.rb
+++ b/spec/features/groups/members/manage_groups_spec.rb
@@ -15,75 +15,56 @@ describe 'Groups > Members > Manage groups', :js do
sign_in(user)
end
- context 'with share groups with groups feature flag' do
- before do
- stub_feature_flags(shared_with_group: true)
- end
-
- it 'add group to group' do
- visit group_group_members_path(shared_group)
+ it 'add group to group' do
+ visit group_group_members_path(shared_group)
- add_group(shared_with_group.id, 'Reporter')
+ add_group(shared_with_group.id, 'Reporter')
- page.within(first_row) do
- expect(page).to have_content(shared_with_group.name)
- expect(page).to have_content('Reporter')
- end
+ page.within(first_row) do
+ expect(page).to have_content(shared_with_group.name)
+ expect(page).to have_content('Reporter')
end
+ end
- it 'remove user from group' do
- create(:group_group_link, shared_group: shared_group,
- shared_with_group: shared_with_group, group_access: ::Gitlab::Access::DEVELOPER)
-
- visit group_group_members_path(shared_group)
-
- expect(page).to have_content(shared_with_group.name)
+ it 'remove user from group' do
+ create(:group_group_link, shared_group: shared_group,
+ shared_with_group: shared_with_group, group_access: ::Gitlab::Access::DEVELOPER)
- accept_confirm do
- find(:css, '#existing_shares li', text: shared_with_group.name).find(:css, 'a.btn-remove').click
- end
+ visit group_group_members_path(shared_group)
- wait_for_requests
+ expect(page).to have_content(shared_with_group.name)
- expect(page).not_to have_content(shared_with_group.name)
+ accept_confirm do
+ find(:css, '#existing_shares li', text: shared_with_group.name).find(:css, 'a.btn-remove').click
end
- it 'update group to owner level' do
- create(:group_group_link, shared_group: shared_group,
- shared_with_group: shared_with_group, group_access: ::Gitlab::Access::DEVELOPER)
+ wait_for_requests
- visit group_group_members_path(shared_group)
+ expect(page).not_to have_content(shared_with_group.name)
+ end
- page.within(first_row) do
- click_button('Developer')
- click_link('Maintainer')
+ it 'update group to owner level' do
+ create(:group_group_link, shared_group: shared_group,
+ shared_with_group: shared_with_group, group_access: ::Gitlab::Access::DEVELOPER)
- wait_for_requests
+ visit group_group_members_path(shared_group)
- expect(page).to have_button('Maintainer')
- end
- end
+ page.within(first_row) do
+ click_button('Developer')
+ click_link('Maintainer')
- def add_group(id, role)
- page.click_link 'Invite group'
- page.within ".invite-group-form" do
- select2(id, from: "#shared_with_group_id")
- select(role, from: "shared_group_access")
- click_button "Invite"
- end
- end
- end
+ wait_for_requests
- context 'without share groups with groups feature flag' do
- before do
- stub_feature_flags(share_group_with_group: false)
+ expect(page).to have_button('Maintainer')
end
+ end
- it 'does not render invitation form and tabs' do
- visit group_group_members_path(shared_group)
-
- expect(page).not_to have_link('Invite member')
- expect(page).not_to have_link('Invite group')
+ def add_group(id, role)
+ page.click_link 'Invite group'
+ page.within ".invite-group-form" do
+ select2(id, from: "#shared_with_group_id")
+ select(role, from: "shared_group_access")
+ click_button "Invite"
end
end
end
diff --git a/spec/features/groups/members/master_adds_member_with_expiration_date_spec.rb b/spec/features/groups/members/master_adds_member_with_expiration_date_spec.rb
new file mode 100644
index 00000000000..491937ce4ab
--- /dev/null
+++ b/spec/features/groups/members/master_adds_member_with_expiration_date_spec.rb
@@ -0,0 +1,68 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe 'Groups > Members > Owner adds member with expiration date', :js do
+ include Select2Helper
+ include ActiveSupport::Testing::TimeHelpers
+
+ let(:user1) { create(:user, name: 'John Doe') }
+ let!(:new_member) { create(:user, name: 'Mary Jane') }
+ let(:group) { create(:group) }
+
+ before do
+ group.add_owner(user1)
+ sign_in(user1)
+ end
+
+ it 'expiration date is displayed in the members list' do
+ travel_to Time.zone.parse('2016-08-06 08:00') do
+ date = 4.days.from_now
+ visit group_group_members_path(group)
+
+ page.within '.invite-users-form' do
+ select2(new_member.id, from: '#user_ids', multiple: true)
+ fill_in 'expires_at', with: date.to_s(:medium) + "\n"
+ click_on 'Invite'
+ end
+
+ page.within "#group_member_#{group_member_id(new_member)}" do
+ expect(page).to have_content('Expires in 4 days')
+ end
+ end
+ end
+
+ it 'change expiration date' do
+ travel_to Time.zone.parse('2016-08-06 08:00') do
+ date = 3.days.from_now
+ group.add_developer(new_member)
+
+ visit group_group_members_path(group)
+
+ page.within "#group_member_#{group_member_id(new_member)}" do
+ find('.js-access-expiration-date').set date.to_s(:medium) + "\n"
+ wait_for_requests
+ expect(page).to have_content('Expires in 3 days')
+ end
+ end
+ end
+
+ it 'remove expiration date' do
+ travel_to Time.zone.parse('2016-08-06 08:00') do
+ date = 3.days.from_now
+ group_member = create(:group_member, :developer, user: new_member, group: group, expires_at: date.to_s(:medium))
+
+ visit group_group_members_path(group)
+
+ page.within "#group_member_#{group_member.id}" do
+ find('.js-clear-input').click
+ wait_for_requests
+ expect(page).not_to have_content('Expires in 3 days')
+ end
+ end
+ end
+
+ def group_member_id(user)
+ group.members.find_by(user_id: new_member).id
+ end
+end
diff --git a/spec/features/issues/filtered_search/filter_issues_spec.rb b/spec/features/issues/filtered_search/filter_issues_spec.rb
index 5e2b5921e06..3ee5840e1b9 100644
--- a/spec/features/issues/filtered_search/filter_issues_spec.rb
+++ b/spec/features/issues/filtered_search/filter_issues_spec.rb
@@ -81,6 +81,26 @@ describe 'Filter issues', :js do
expect_filtered_search_input(search_term)
end
+ context 'with the NOT queries feature flag disabled' do
+ before do
+ stub_feature_flags(not_issuable_queries: false)
+ visit project_issues_path(project)
+ end
+
+ it 'does not have the != option' do
+ input_filtered_search("label:", submit: false)
+
+ wait_for_requests
+ within('#js-dropdown-operator') do
+ tokens = all(:css, 'li.filter-dropdown-item')
+ expect(tokens.count).to eq(1)
+ button = tokens[0].find('button')
+ expect(button).to have_content('=')
+ expect(button).not_to have_content('!=')
+ end
+ end
+ end
+
describe 'filter issues by author' do
context 'only author' do
it 'filters issues by searched author' do
@@ -153,16 +173,16 @@ describe 'Filter issues', :js do
expect_filtered_search_input_empty
end
- it 'filters issues by no label' do
- input_filtered_search('label:=none')
+ it 'filters issues by any label' do
+ input_filtered_search('label:=any')
- expect_tokens([label_token('None', false)])
+ expect_tokens([label_token('Any', false)])
expect_issues_list_count(4)
expect_filtered_search_input_empty
end
it 'filters issues by no label' do
- input_filtered_search('label:!=none')
+ input_filtered_search('label:=none')
expect_tokens([label_token('None', false)])
expect_issues_list_count(4)
@@ -351,14 +371,6 @@ describe 'Filter issues', :js do
expect_filtered_search_input_empty
end
- it 'filters issues by negation of no milestone' do
- input_filtered_search("milestone:!=none ")
-
- expect_tokens([milestone_token('None', false, '!=')])
- expect_issues_list_count(5)
- expect_filtered_search_input_empty
- end
-
it 'filters issues by upcoming milestones' do
create(:milestone, project: project, due_date: 1.month.from_now) do |future_milestone|
create(:issue, project: project, milestone: future_milestone, author: user)
@@ -376,10 +388,14 @@ describe 'Filter issues', :js do
create(:issue, project: project, milestone: future_milestone, author: user)
end
+ create(:milestone, project: project, due_date: 3.days.ago) do |past_milestone|
+ create(:issue, project: project, milestone: past_milestone, author: user)
+ end
+
input_filtered_search("milestone:!=upcoming")
expect_tokens([milestone_token('Upcoming', false, '!=')])
- expect_issues_list_count(8)
+ expect_issues_list_count(1)
expect_filtered_search_input_empty
end
@@ -392,10 +408,13 @@ describe 'Filter issues', :js do
end
it 'filters issues by negation of started milestones' do
+ milestone2 = create(:milestone, title: "9", project: project, start_date: 2.weeks.from_now)
+ create(:issue, project: project, author: user, title: "something else", milestone: milestone2)
+
input_filtered_search("milestone:!=started")
expect_tokens([milestone_token('Started', false, '!=')])
- expect_issues_list_count(3)
+ expect_issues_list_count(1)
expect_filtered_search_input_empty
end
diff --git a/spec/features/issues/filtered_search/visual_tokens_spec.rb b/spec/features/issues/filtered_search/visual_tokens_spec.rb
index 2b164e2fd97..d34253b3c5e 100644
--- a/spec/features/issues/filtered_search/visual_tokens_spec.rb
+++ b/spec/features/issues/filtered_search/visual_tokens_spec.rb
@@ -175,4 +175,20 @@ describe 'Visual tokens', :js do
expect(token.find('.name').text).to eq('Label')
expect(token.find('.operator').text).to eq('=')
end
+
+ describe 'Any/None option' do
+ it 'hidden when NOT operator is selected' do
+ input_filtered_search('milestone:!=', extra_space: false, submit: false)
+
+ expect(page).not_to have_selector("#js-dropdown-milestone", text: 'Any')
+ expect(page).not_to have_selector("#js-dropdown-milestone", text: 'None')
+ end
+
+ it 'shown when EQUAL operator is selected' do
+ input_filtered_search('milestone:=', extra_space: false, submit: false)
+
+ expect(page).to have_selector("#js-dropdown-milestone", text: 'Any')
+ expect(page).to have_selector("#js-dropdown-milestone", text: 'None')
+ end
+ end
end
diff --git a/spec/features/projects/pages_spec.rb b/spec/features/projects/pages_spec.rb
index f4f70e7efbc..faa2b3c9424 100644
--- a/spec/features/projects/pages_spec.rb
+++ b/spec/features/projects/pages_spec.rb
@@ -158,6 +158,17 @@ shared_examples 'pages settings editing' do
expect(page).to have_content('my.test.domain.com')
end
+ it 'shows validation error if domain is duplicated' do
+ project.pages_domains.create!(domain: 'my.test.domain.com')
+
+ visit new_project_pages_domain_path(project)
+
+ fill_in 'Domain', with: 'my.test.domain.com'
+ click_button 'Create New Domain'
+
+ expect(page).to have_content('Domain has already been taken')
+ end
+
describe 'with dns verification enabled' do
before do
stub_application_setting(pages_domain_verification_enabled: true)
diff --git a/spec/finders/alert_management/alerts_finder_spec.rb b/spec/finders/alert_management/alerts_finder_spec.rb
index bfc848937df..8ce5216ba9a 100644
--- a/spec/finders/alert_management/alerts_finder_spec.rb
+++ b/spec/finders/alert_management/alerts_finder_spec.rb
@@ -5,8 +5,8 @@ require 'spec_helper'
describe AlertManagement::AlertsFinder, '#execute' do
let_it_be(:current_user) { create(:user) }
let_it_be(:project) { create(:project) }
- let_it_be(:alert_1) { create(:alert_management_alert, project: project) }
- let_it_be(:alert_2) { create(:alert_management_alert, project: project) }
+ let_it_be(:alert_1) { create(:alert_management_alert, :resolved, project: project, ended_at: 1.year.ago, events: 2, severity: :high) }
+ let_it_be(:alert_2) { create(:alert_management_alert, :ignored, project: project, events: 1, severity: :critical) }
let_it_be(:alert_3) { create(:alert_management_alert) }
let(:params) { {} }
@@ -36,5 +36,160 @@ describe AlertManagement::AlertsFinder, '#execute' do
it { is_expected.to be_empty }
end
end
+
+ describe 'sorting' do
+ context 'when sorting by created' do
+ context 'sorts alerts ascending' do
+ let(:params) { { sort: 'created_asc' } }
+
+ it { is_expected.to eq [alert_1, alert_2] }
+ end
+
+ context 'sorts alerts descending' do
+ let(:params) { { sort: 'created_desc' } }
+
+ it { is_expected.to eq [alert_2, alert_1] }
+ end
+ end
+
+ context 'when sorting by updated' do
+ context 'sorts alerts ascending' do
+ let(:params) { { sort: 'updated_asc' } }
+
+ it { is_expected.to eq [alert_1, alert_2] }
+ end
+
+ context 'sorts alerts descending' do
+ let(:params) { { sort: 'updated_desc' } }
+
+ it { is_expected.to eq [alert_2, alert_1] }
+ end
+ end
+
+ context 'when sorting by start time' do
+ context 'sorts alerts ascending' do
+ let(:params) { { sort: 'start_time_asc' } }
+
+ it { is_expected.to eq [alert_1, alert_2] }
+ end
+
+ context 'sorts alerts descending' do
+ let(:params) { { sort: 'start_time_desc' } }
+
+ it { is_expected.to eq [alert_2, alert_1] }
+ end
+ end
+
+ context 'when sorting by end time' do
+ context 'sorts alerts ascending' do
+ let(:params) { { sort: 'end_time_asc' } }
+
+ it { is_expected.to eq [alert_1, alert_2] }
+ end
+
+ context 'sorts alerts descending' do
+ let(:params) { { sort: 'end_time_desc' } }
+
+ it { is_expected.to eq [alert_2, alert_1] }
+ end
+ end
+
+ context 'when sorting by events count' do
+ let_it_be(:alert_count_6) { create(:alert_management_alert, project: project, events: 6) }
+ let_it_be(:alert_count_3) { create(:alert_management_alert, project: project, events: 3) }
+
+ context 'sorts alerts ascending' do
+ let(:params) { { sort: 'events_count_asc' } }
+
+ it { is_expected.to eq [alert_2, alert_1, alert_count_3, alert_count_6] }
+ end
+
+ context 'sorts alerts descending' do
+ let(:params) { { sort: 'events_count_desc' } }
+
+ it { is_expected.to eq [alert_count_6, alert_count_3, alert_1, alert_2] }
+ end
+ end
+
+ context 'when sorting by severity' do
+ let_it_be(:alert_critical) { create(:alert_management_alert, project: project, severity: :critical) }
+ let_it_be(:alert_high) { create(:alert_management_alert, project: project, severity: :high) }
+ let_it_be(:alert_medium) { create(:alert_management_alert, project: project, severity: :medium) }
+ let_it_be(:alert_low) { create(:alert_management_alert, project: project, severity: :low) }
+ let_it_be(:alert_info) { create(:alert_management_alert, project: project, severity: :info) }
+ let_it_be(:alert_unknown) { create(:alert_management_alert, project: project, severity: :unknown) }
+
+ context 'sorts alerts ascending' do
+ let(:params) { { sort: 'severity_asc' } }
+
+ it do
+ is_expected.to eq [
+ alert_2,
+ alert_critical,
+ alert_1,
+ alert_high,
+ alert_medium,
+ alert_low,
+ alert_info,
+ alert_unknown
+ ]
+ end
+ end
+
+ context 'sorts alerts descending' do
+ let(:params) { { sort: 'severity_desc' } }
+
+ it do
+ is_expected.to eq [
+ alert_unknown,
+ alert_info,
+ alert_low,
+ alert_medium,
+ alert_1,
+ alert_high,
+ alert_critical,
+ alert_2
+ ]
+ end
+ end
+ end
+
+ context 'when sorting by status' do
+ let_it_be(:alert_triggered) { create(:alert_management_alert, project: project) }
+ let_it_be(:alert_acknowledged) { create(:alert_management_alert, :acknowledged, project: project) }
+ let_it_be(:alert_resolved) { create(:alert_management_alert, :resolved, project: project) }
+ let_it_be(:alert_ignored) { create(:alert_management_alert, :ignored, project: project) }
+
+ context 'sorts alerts ascending' do
+ let(:params) { { sort: 'status_asc' } }
+
+ it do
+ is_expected.to eq [
+ alert_triggered,
+ alert_acknowledged,
+ alert_1,
+ alert_resolved,
+ alert_2,
+ alert_ignored
+ ]
+ end
+ end
+
+ context 'sorts alerts descending' do
+ let(:params) { { sort: 'status_desc' } }
+
+ it do
+ is_expected.to eq [
+ alert_2,
+ alert_ignored,
+ alert_1,
+ alert_resolved,
+ alert_acknowledged,
+ alert_triggered
+ ]
+ end
+ end
+ end
+ end
end
end
diff --git a/spec/finders/issues_finder_spec.rb b/spec/finders/issues_finder_spec.rb
index baf40861a6e..7493fafb5cc 100644
--- a/spec/finders/issues_finder_spec.rb
+++ b/spec/finders/issues_finder_spec.rb
@@ -132,26 +132,6 @@ describe IssuesFinder do
end
end
- context 'filtering by NOT group_id' do
- let(:params) { { not: { group_id: group.id } } }
-
- context 'when include_subgroup param not set' do
- it 'returns all other group issues' do
- expect(issues).to contain_exactly(issue2, issue3, issue4)
- end
- end
-
- context 'when include_subgroup param is true', :nested_groups do
- before do
- params[:include_subgroups] = true
- end
-
- it 'returns all other group and subgroup issues' do
- expect(issues).to contain_exactly(issue2, issue3)
- end
- end
- end
-
context 'filtering by author ID' do
let(:params) { { author_id: user2.id } }
@@ -292,12 +272,12 @@ describe IssuesFinder do
context 'using NOT' do
let(:params) { { not: { milestone_title: Milestone::Upcoming.name } } }
- it 'returns issues not in upcoming milestones for each project or group' do
- target_issues = @created_issues.reject do |issue|
- issue.milestone&.due_date && issue.milestone.due_date > Date.current
- end + @created_issues.select { |issue| issue.milestone&.title == '8.9' }
+ it 'returns issues not in upcoming milestones for each project or group, but must have a due date' do
+ target_issues = @created_issues.select do |issue|
+ issue.milestone&.due_date && issue.milestone.due_date <= Date.current
+ end
- expect(issues).to contain_exactly(issue1, issue2, issue3, issue4, *target_issues)
+ expect(issues).to contain_exactly(*target_issues)
end
end
end
@@ -343,9 +323,9 @@ describe IssuesFinder do
let(:params) { { not: { milestone_title: Milestone::Started.name } } }
it 'returns issues not in the started milestones for each project' do
- target_issues = Issue.where.not(milestone: Milestone.started)
+ target_issues = Issue.where(milestone: Milestone.not_started)
- expect(issues).to contain_exactly(issue2, issue3, issue4, *target_issues)
+ expect(issues).to contain_exactly(*target_issues)
end
end
end
@@ -452,14 +432,6 @@ describe IssuesFinder do
it 'returns issues with title and description match for search term' do
expect(issues).to contain_exactly(issue1, issue2)
end
-
- context 'using NOT' do
- let(:params) { { not: { search: 'git' } } }
-
- it 'returns issues with no title and description match for search term' do
- expect(issues).to contain_exactly(issue3, issue4)
- end
- end
end
context 'filtering by issue term in title' do
@@ -468,14 +440,6 @@ describe IssuesFinder do
it 'returns issues with title match for search term' do
expect(issues).to contain_exactly(issue1)
end
-
- context 'using NOT' do
- let(:params) { { not: { search: 'git', in: 'title' } } }
-
- it 'returns issues with no title match for search term' do
- expect(issues).to contain_exactly(issue2, issue3, issue4)
- end
- end
end
context 'filtering by issues iids' do
diff --git a/spec/finders/releases_finder_spec.rb b/spec/finders/releases_finder_spec.rb
index 3da5ee47b6b..cb4e5fed816 100644
--- a/spec/finders/releases_finder_spec.rb
+++ b/spec/finders/releases_finder_spec.rb
@@ -5,10 +5,11 @@ require 'spec_helper'
describe ReleasesFinder do
let(:user) { create(:user) }
let(:project) { create(:project, :repository) }
+ let(:params) { {} }
let(:repository) { project.repository }
let(:v1_0_0) { create(:release, project: project, tag: 'v1.0.0') }
let(:v1_1_0) { create(:release, project: project, tag: 'v1.1.0') }
- let(:finder) { described_class.new(project, user) }
+ let(:finder) { described_class.new(project, user, params) }
before do
v1_0_0.update_attribute(:released_at, 2.days.ago)
@@ -64,6 +65,14 @@ describe ReleasesFinder do
expect(subject).to eq([v1_1_0])
end
end
+
+ context 'when a tag parameter is passed' do
+ let(:params) { { tag: 'v1.0.0' } }
+
+ it 'only returns the release with the matching tag' do
+ expect(subject).to eq([v1_0_0])
+ end
+ end
end
end
end
diff --git a/spec/fixtures/api/schemas/entities/accessibility_error.json b/spec/fixtures/api/schemas/entities/accessibility_error.json
new file mode 100644
index 00000000000..3ea84835505
--- /dev/null
+++ b/spec/fixtures/api/schemas/entities/accessibility_error.json
@@ -0,0 +1,40 @@
+{
+ "type": "object",
+ "required": [
+ "code",
+ "type",
+ "type_code",
+ "message",
+ "context",
+ "selector",
+ "runner",
+ "runner_extras"
+ ],
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "type": {
+ "type": "string"
+ },
+ "type_code": {
+ "type": "integer"
+ },
+ "message": {
+ "type": "string"
+ },
+ "context": {
+ "type": "string"
+ },
+ "selector": {
+ "type": "string"
+ },
+ "runner": {
+ "type": "string"
+ },
+ "runner_extras": {
+ "type": ["object", "null"]
+ }
+ },
+ "additionalProperties": false
+}
diff --git a/spec/fixtures/api/schemas/entities/accessibility_reports_comparer.json b/spec/fixtures/api/schemas/entities/accessibility_reports_comparer.json
new file mode 100644
index 00000000000..ec243354eab
--- /dev/null
+++ b/spec/fixtures/api/schemas/entities/accessibility_reports_comparer.json
@@ -0,0 +1,43 @@
+{
+ "type": "object",
+ "required": ["status", "summary", "new_errors", "resolved_errors", "existing_errors"],
+ "properties": {
+ "status": {
+ "type": "string"
+ },
+ "summary": {
+ "type": "object",
+ "properties": {
+ "total": {
+ "type": "integer"
+ },
+ "resolved": {
+ "type": "integer"
+ },
+ "errored": {
+ "type": "integer"
+ }
+ },
+ "required": ["total", "resolved", "errored"]
+ },
+ "new_errors": {
+ "type": "array",
+ "items": {
+ "$ref": "accessibility_error.json"
+ }
+ },
+ "resolved_errors": {
+ "type": "array",
+ "items": {
+ "$ref": "accessibility_error.json"
+ }
+ },
+ "existing_errors": {
+ "type": "array",
+ "items": {
+ "$ref": "accessibility_error.json"
+ }
+ }
+ },
+ "additionalProperties": false
+}
diff --git a/spec/frontend/alert_management/components/alert_management_detail_spec.js b/spec/frontend/alert_management/components/alert_management_detail_spec.js
index 994de8d4d39..55ac62eccdf 100644
--- a/spec/frontend/alert_management/components/alert_management_detail_spec.js
+++ b/spec/frontend/alert_management/components/alert_management_detail_spec.js
@@ -3,36 +3,86 @@ import AlertDetails from '~/alert_management/components/alert_details.vue';
describe('AlertDetails', () => {
let wrapper;
+ const newIssuePath = 'root/alerts/-/issues/new';
- function mountComponent() {
- wrapper = shallowMount(AlertDetails);
+ function mountComponent(alert = {}, createIssueFromAlertEnabled = false) {
+ wrapper = shallowMount(AlertDetails, {
+ propsData: {
+ alertId: 'alertId',
+ projectPath: 'projectPath',
+ newIssuePath,
+ },
+ data() {
+ return { alert };
+ },
+ provide: {
+ glFeatures: { createIssueFromAlertEnabled },
+ },
+ });
}
- beforeEach(() => {
- mountComponent();
- });
-
afterEach(() => {
if (wrapper) {
wrapper.destroy();
}
});
+ const findCreatedIssueBtn = () => wrapper.find('[data-testid="createIssueBtn"]');
+
describe('Alert details', () => {
- it('renders a tab with overview information', () => {
- expect(wrapper.find('[data-testid="overviewTab"]').exists()).toBe(true);
+ describe('when alert is null', () => {
+ beforeEach(() => {
+ mountComponent(null);
+ });
+
+ describe('when alert is null', () => {
+ beforeEach(() => {
+ mountComponent(null);
+ });
+
+ it('shows an empty state', () => {
+ expect(wrapper.find('[data-testid="alertDetailsTabs"]').exists()).toBe(false);
+ });
+ });
});
- it('renders a tab with full alert information', () => {
- expect(wrapper.find('[data-testid="fullDetailsTab"]').exists()).toBe(true);
+ describe('when alert is present', () => {
+ beforeEach(() => {
+ mountComponent();
+ });
+
+ it('renders a tab with overview information', () => {
+ expect(wrapper.find('[data-testid="overviewTab"]').exists()).toBe(true);
+ });
+
+ it('renders a tab with full alert information', () => {
+ expect(wrapper.find('[data-testid="fullDetailsTab"]').exists()).toBe(true);
+ });
+
+ it('renders alert details', () => {
+ expect(wrapper.find('[data-testid="startTimeItem"]').exists()).toBe(true);
+ });
});
- it('renders alert details', () => {
- expect(wrapper.find('[data-testid="startTimeItem"]').exists()).toBe(true);
+ it('renders a status dropdown containing three items', () => {
+ expect(wrapper.findAll('[data-testid="statusDropdownItem"]').length).toBe(3);
});
- it('renders a status dropdown', () => {
- expect(wrapper.find('[data-testid="statusDropdownItem"]').exists()).toBe(true);
+ describe('Create issue from alert', () => {
+ describe('createIssueFromAlertEnabled feature flag enabled', () => {
+ it('should display a button that links to new issue page', () => {
+ mountComponent({}, true);
+ expect(findCreatedIssueBtn().exists()).toBe(true);
+ expect(findCreatedIssueBtn().attributes('href')).toBe(newIssuePath);
+ });
+ });
+
+ describe('createIssueFromAlertEnabled feature flag disabled', () => {
+ it('should display a button that links to a new issue page', () => {
+ mountComponent({}, false);
+ expect(findCreatedIssueBtn().exists()).toBe(false);
+ });
+ });
});
});
});
diff --git a/spec/frontend/alert_management/components/alert_management_list_spec.js b/spec/frontend/alert_management/components/alert_management_list_spec.js
index c0494d736a6..cb2531663bd 100644
--- a/spec/frontend/alert_management/components/alert_management_list_spec.js
+++ b/spec/frontend/alert_management/components/alert_management_list_spec.js
@@ -1,6 +1,16 @@
import { mount } from '@vue/test-utils';
-import { GlEmptyState, GlTable, GlAlert, GlLoadingIcon, GlNewDropdown, GlIcon } from '@gitlab/ui';
+import {
+ GlEmptyState,
+ GlTable,
+ GlAlert,
+ GlLoadingIcon,
+ GlNewDropdown,
+ GlBadge,
+ GlIcon,
+ GlTab,
+} from '@gitlab/ui';
import AlertManagementList from '~/alert_management/components/alert_management_list.vue';
+import { ALERTS_STATUS_TABS } from '../../../../app/assets/javascripts/alert_management/constants';
import mockAlerts from '../mocks/alerts.json';
@@ -12,6 +22,8 @@ describe('AlertManagementList', () => {
const findAlert = () => wrapper.find(GlAlert);
const findLoader = () => wrapper.find(GlLoadingIcon);
const findStatusDropdown = () => wrapper.find(GlNewDropdown);
+ const findStatusFilterTabs = () => wrapper.findAll(GlTab);
+ const findNumberOfAlertsBadge = () => wrapper.findAll(GlBadge);
function mountComponent({
props = {
@@ -20,6 +32,8 @@ describe('AlertManagementList', () => {
},
data = {},
loading = false,
+ alertListStatusFilteringEnabled = false,
+ stubs = {},
} = {}) {
wrapper = mount(AlertManagementList, {
propsData: {
@@ -28,6 +42,9 @@ describe('AlertManagementList', () => {
emptyAlertSvgPath: 'illustration/path',
...props,
},
+ provide: {
+ glFeatures: { alertListStatusFilteringEnabled },
+ },
data() {
return data;
},
@@ -40,6 +57,7 @@ describe('AlertManagementList', () => {
},
},
},
+ stubs,
});
}
@@ -59,6 +77,56 @@ describe('AlertManagementList', () => {
});
});
+ describe('Status Filter Tabs', () => {
+ describe('alertListStatusFilteringEnabled feature flag enabled', () => {
+ beforeEach(() => {
+ mountComponent({
+ props: { alertManagementEnabled: true, userCanEnableAlertManagement: true },
+ data: { alerts: mockAlerts },
+ loading: false,
+ alertListStatusFilteringEnabled: true,
+ stubs: {
+ GlTab: true,
+ },
+ });
+ });
+
+ it('should display filter tabs for all statuses', () => {
+ const tabs = findStatusFilterTabs().wrappers;
+ tabs.forEach((tab, i) => {
+ expect(tab.text()).toContain(ALERTS_STATUS_TABS[i].title);
+ });
+ });
+
+ it('should have number of items badge along with status tab', () => {
+ expect(findNumberOfAlertsBadge().length).toEqual(ALERTS_STATUS_TABS.length);
+ expect(
+ findNumberOfAlertsBadge()
+ .at(0)
+ .text(),
+ ).toEqual(`${mockAlerts.length}`);
+ });
+ });
+
+ describe('alertListStatusFilteringEnabled feature flag disabled', () => {
+ beforeEach(() => {
+ mountComponent({
+ props: { alertManagementEnabled: true, userCanEnableAlertManagement: true },
+ data: { alerts: mockAlerts },
+ loading: false,
+ alertListStatusFilteringEnabled: false,
+ stubs: {
+ GlTab: true,
+ },
+ });
+ });
+
+ it('should NOT display tabs', () => {
+ expect(findStatusFilterTabs()).not.toExist();
+ });
+ });
+ });
+
describe('Alerts table', () => {
it('loading state', () => {
mountComponent({
diff --git a/spec/frontend/api_spec.js b/spec/frontend/api_spec.js
index f34c2fb69eb..d365048ab0b 100644
--- a/spec/frontend/api_spec.js
+++ b/spec/frontend/api_spec.js
@@ -15,7 +15,7 @@ describe('Api', () => {
beforeEach(() => {
mock = new MockAdapter(axios);
originalGon = window.gon;
- window.gon = Object.assign({}, dummyGon);
+ window.gon = { ...dummyGon };
});
afterEach(() => {
diff --git a/spec/frontend/blob/components/__snapshots__/blob_header_filepath_spec.js.snap b/spec/frontend/blob/components/__snapshots__/blob_header_filepath_spec.js.snap
index 46e34a59151..2ac6e0d5d24 100644
--- a/spec/frontend/blob/components/__snapshots__/blob_header_filepath_spec.js.snap
+++ b/spec/frontend/blob/components/__snapshots__/blob_header_filepath_spec.js.snap
@@ -13,7 +13,8 @@ exports[`Blob Header Filepath rendering matches the snapshot 1`] = `
/>
<strong
- class="file-title-name qa-file-title-name mr-1 js-blob-header-filepath"
+ class="file-title-name mr-1 js-blob-header-filepath"
+ data-qa-selector="file_title_name"
>
foo/bar/dummy.md
</strong>
diff --git a/spec/frontend/blob/components/blob_content_spec.js b/spec/frontend/blob/components/blob_content_spec.js
index 6a130c9c43d..ff153007be9 100644
--- a/spec/frontend/blob/components/blob_content_spec.js
+++ b/spec/frontend/blob/components/blob_content_spec.js
@@ -38,7 +38,7 @@ describe('Blob Content component', () => {
it('renders error if there is any in the viewer', () => {
const renderError = 'Oops';
- const viewer = Object.assign({}, SimpleViewerMock, { renderError });
+ const viewer = { ...SimpleViewerMock, renderError };
createComponent({}, viewer);
expect(wrapper.contains(GlLoadingIcon)).toBe(false);
expect(wrapper.contains(BlobContentError)).toBe(true);
diff --git a/spec/frontend/blob/components/blob_header_filepath_spec.js b/spec/frontend/blob/components/blob_header_filepath_spec.js
index 6f38167d4bd..3a53208f357 100644
--- a/spec/frontend/blob/components/blob_header_filepath_spec.js
+++ b/spec/frontend/blob/components/blob_header_filepath_spec.js
@@ -15,7 +15,7 @@ describe('Blob Header Filepath', () => {
function createComponent(blobProps = {}, options = {}) {
wrapper = shallowMount(BlobHeaderFilepath, {
propsData: {
- blob: Object.assign({}, MockBlob, blobProps),
+ blob: { ...MockBlob, ...blobProps },
},
...options,
});
diff --git a/spec/frontend/blob/components/blob_header_spec.js b/spec/frontend/blob/components/blob_header_spec.js
index d410ef10fc9..0e7d2f6516a 100644
--- a/spec/frontend/blob/components/blob_header_spec.js
+++ b/spec/frontend/blob/components/blob_header_spec.js
@@ -13,7 +13,7 @@ describe('Blob Header Default Actions', () => {
const method = shouldMount ? mount : shallowMount;
wrapper = method.call(this, BlobHeader, {
propsData: {
- blob: Object.assign({}, Blob, blobProps),
+ blob: { ...Blob, ...blobProps },
...propsData,
},
...options,
diff --git a/spec/frontend/blob/pipeline_tour_success_modal_spec.js b/spec/frontend/blob/pipeline_tour_success_modal_spec.js
index 99940225652..6d4e5e46cb8 100644
--- a/spec/frontend/blob/pipeline_tour_success_modal_spec.js
+++ b/spec/frontend/blob/pipeline_tour_success_modal_spec.js
@@ -12,8 +12,8 @@ describe('PipelineTourSuccessModal', () => {
beforeEach(() => {
document.body.dataset.page = 'projects:blob:show';
-
trackingSpy = mockTracking('_category_', undefined, jest.spyOn);
+
wrapper = shallowMount(pipelineTourSuccess, {
propsData: modalProps,
stubs: {
diff --git a/spec/frontend/blob/suggest_gitlab_ci_yml/components/popover_spec.js b/spec/frontend/blob/suggest_gitlab_ci_yml/components/popover_spec.js
index fb0964a3f32..3c03e6f04ab 100644
--- a/spec/frontend/blob/suggest_gitlab_ci_yml/components/popover_spec.js
+++ b/spec/frontend/blob/suggest_gitlab_ci_yml/components/popover_spec.js
@@ -69,8 +69,10 @@ describe('Suggest gitlab-ci.yml Popover', () => {
let trackingSpy;
beforeEach(() => {
+ document.body.dataset.page = 'projects:blob:new';
+ trackingSpy = mockTracking('_category_', undefined, jest.spyOn);
+
createWrapper(commitTrackLabel);
- trackingSpy = mockTracking('_category_', wrapper.element, jest.spyOn);
});
afterEach(() => {
@@ -83,10 +85,6 @@ describe('Suggest gitlab-ci.yml Popover', () => {
const expectedLabel = 'suggest_commit_first_project_gitlab_ci_yml';
const expectedProperty = 'owner';
- document.body.dataset.page = 'projects:blob:new';
-
- wrapper.vm.trackOnShow();
-
expect(trackingSpy).toHaveBeenCalledWith(expectedCategory, expectedAction, {
label: expectedLabel,
property: expectedProperty,
@@ -99,6 +97,7 @@ describe('Suggest gitlab-ci.yml Popover', () => {
const expectedProperty = 'owner';
const expectedValue = '10';
const dismissButton = wrapper.find(GlDeprecatedButton);
+ trackingSpy = mockTracking('_category_', wrapper.element, jest.spyOn);
triggerEvent(dismissButton.element);
diff --git a/spec/frontend/boards/board_list_spec.js b/spec/frontend/boards/board_list_spec.js
index 882310030f8..fa21053e2de 100644
--- a/spec/frontend/boards/board_list_spec.js
+++ b/spec/frontend/boards/board_list_spec.js
@@ -64,7 +64,7 @@ describe('Board list component', () => {
let getIssues;
function generateIssues(compWrapper) {
for (let i = 1; i < 20; i += 1) {
- const issue = Object.assign({}, compWrapper.list.issues[0]);
+ const issue = { ...compWrapper.list.issues[0] };
issue.id += i;
compWrapper.list.issues.push(issue);
}
diff --git a/spec/frontend/clusters/components/knative_domain_editor_spec.js b/spec/frontend/clusters/components/knative_domain_editor_spec.js
index 2de04f7da1f..73d08661199 100644
--- a/spec/frontend/clusters/components/knative_domain_editor_spec.js
+++ b/spec/frontend/clusters/components/knative_domain_editor_spec.js
@@ -93,7 +93,7 @@ describe('KnativeDomainEditor', () => {
it('displays toast indicating a successful update', () => {
wrapper.vm.$toast = { show: jest.fn() };
- wrapper.setProps({ knative: Object.assign({ updateSuccessful: true }, knative) });
+ wrapper.setProps({ knative: { updateSuccessful: true, ...knative } });
return wrapper.vm.$nextTick(() => {
expect(wrapper.vm.$toast.show).toHaveBeenCalledWith(
diff --git a/spec/frontend/code_navigation/store/actions_spec.js b/spec/frontend/code_navigation/store/actions_spec.js
index 3996e8ea1f5..4cf77ed1be5 100644
--- a/spec/frontend/code_navigation/store/actions_spec.js
+++ b/spec/frontend/code_navigation/store/actions_spec.js
@@ -143,6 +143,16 @@ describe('Code navigation actions', () => {
expect(addInteractionClass.mock.calls[0]).toEqual(['index.js', 'test']);
expect(addInteractionClass.mock.calls[1]).toEqual(['index.js', 'console.log']);
});
+
+ it('does not call addInteractionClass when no data exists', () => {
+ const state = {
+ data: null,
+ };
+
+ actions.showBlobInteractionZones({ state }, 'index.js');
+
+ expect(addInteractionClass).not.toHaveBeenCalled();
+ });
});
describe('showDefinition', () => {
diff --git a/spec/frontend/commit/pipelines/pipelines_spec.js b/spec/frontend/commit/pipelines/pipelines_spec.js
index b88cba90b87..86ae207e7b7 100644
--- a/spec/frontend/commit/pipelines/pipelines_spec.js
+++ b/spec/frontend/commit/pipelines/pipelines_spec.js
@@ -118,7 +118,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
let pipelineCopy;
beforeEach(() => {
- pipelineCopy = Object.assign({}, pipeline);
+ pipelineCopy = { ...pipeline };
});
describe('when latest pipeline has detached flag and canRunPipeline is true', () => {
@@ -128,12 +128,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
mock.onGet('endpoint.json').reply(200, [pipelineCopy]);
- vm = mountComponent(
- PipelinesTable,
- Object.assign({}, props, {
- canRunPipeline: true,
- }),
- );
+ vm = mountComponent(PipelinesTable, { ...props, canRunPipeline: true });
setImmediate(() => {
expect(vm.$el.querySelector('.js-run-mr-pipeline')).not.toBeNull();
@@ -149,12 +144,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
mock.onGet('endpoint.json').reply(200, [pipelineCopy]);
- vm = mountComponent(
- PipelinesTable,
- Object.assign({}, props, {
- canRunPipeline: false,
- }),
- );
+ vm = mountComponent(PipelinesTable, { ...props, canRunPipeline: false });
setImmediate(() => {
expect(vm.$el.querySelector('.js-run-mr-pipeline')).toBeNull();
@@ -170,12 +160,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
mock.onGet('endpoint.json').reply(200, [pipelineCopy]);
- vm = mountComponent(
- PipelinesTable,
- Object.assign({}, props, {
- canRunPipeline: true,
- }),
- );
+ vm = mountComponent(PipelinesTable, { ...props, canRunPipeline: true });
setImmediate(() => {
expect(vm.$el.querySelector('.js-run-mr-pipeline')).toBeNull();
@@ -191,12 +176,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
mock.onGet('endpoint.json').reply(200, [pipelineCopy]);
- vm = mountComponent(
- PipelinesTable,
- Object.assign({}, props, {
- canRunPipeline: false,
- }),
- );
+ vm = mountComponent(PipelinesTable, { ...props, canRunPipeline: false });
setImmediate(() => {
expect(vm.$el.querySelector('.js-run-mr-pipeline')).toBeNull();
@@ -211,14 +191,12 @@ describe('Pipelines table in Commits and Merge requests', () => {
mock.onGet('endpoint.json').reply(200, [pipelineCopy]);
- vm = mountComponent(
- PipelinesTable,
- Object.assign({}, props, {
- canRunPipeline: true,
- projectId: '5',
- mergeRequestId: 3,
- }),
- );
+ vm = mountComponent(PipelinesTable, {
+ ...props,
+ canRunPipeline: true,
+ projectId: '5',
+ mergeRequestId: 3,
+ });
});
it('updates the loading state', done => {
diff --git a/spec/frontend/design_management/components/__snapshots__/design_note_pin_spec.js.snap b/spec/frontend/design_management/components/__snapshots__/design_note_pin_spec.js.snap
new file mode 100644
index 00000000000..4828e8cb3c2
--- /dev/null
+++ b/spec/frontend/design_management/components/__snapshots__/design_note_pin_spec.js.snap
@@ -0,0 +1,42 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design discussions component should match the snapshot of note when repositioning 1`] = `
+<button
+ aria-label="Comment form position"
+ class="position-absolute btn-transparent comment-indicator"
+ style="left: 10px; top: 10px; cursor: move;"
+ type="button"
+>
+ <icon-stub
+ name="image-comment-dark"
+ size="16"
+ />
+</button>
+`;
+
+exports[`Design discussions component should match the snapshot of note with index 1`] = `
+<button
+ aria-label="Comment '1' position"
+ class="position-absolute js-image-badge badge badge-pill"
+ style="left: 10px; top: 10px;"
+ type="button"
+>
+
+ 1
+
+</button>
+`;
+
+exports[`Design discussions component should match the snapshot of note without index 1`] = `
+<button
+ aria-label="Comment form position"
+ class="position-absolute btn-transparent comment-indicator"
+ style="left: 10px; top: 10px;"
+ type="button"
+>
+ <icon-stub
+ name="image-comment-dark"
+ size="16"
+ />
+</button>
+`;
diff --git a/spec/frontend/design_management/components/__snapshots__/design_presentation_spec.js.snap b/spec/frontend/design_management/components/__snapshots__/design_presentation_spec.js.snap
new file mode 100644
index 00000000000..189962c5b2e
--- /dev/null
+++ b/spec/frontend/design_management/components/__snapshots__/design_presentation_spec.js.snap
@@ -0,0 +1,104 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management design presentation component currentCommentForm is equal to current annotation position when isAnnotating is true 1`] = `
+<div
+ class="h-100 w-100 p-3 overflow-auto position-relative"
+>
+ <div
+ class="h-100 w-100 d-flex align-items-center position-relative"
+ >
+ <design-image-stub
+ image="test.jpg"
+ name="test"
+ scale="1"
+ />
+
+ <design-overlay-stub
+ currentcommentform="[object Object]"
+ dimensions="[object Object]"
+ notes=""
+ position="[object Object]"
+ />
+ </div>
+</div>
+`;
+
+exports[`Design management design presentation component currentCommentForm is null when isAnnotating is false 1`] = `
+<div
+ class="h-100 w-100 p-3 overflow-auto position-relative"
+>
+ <div
+ class="h-100 w-100 d-flex align-items-center position-relative"
+ >
+ <design-image-stub
+ image="test.jpg"
+ name="test"
+ scale="1"
+ />
+
+ <design-overlay-stub
+ dimensions="[object Object]"
+ notes=""
+ position="[object Object]"
+ />
+ </div>
+</div>
+`;
+
+exports[`Design management design presentation component currentCommentForm is null when isAnnotating is true but annotation position is falsey 1`] = `
+<div
+ class="h-100 w-100 p-3 overflow-auto position-relative"
+>
+ <div
+ class="h-100 w-100 d-flex align-items-center position-relative"
+ >
+ <design-image-stub
+ image="test.jpg"
+ name="test"
+ scale="1"
+ />
+
+ <design-overlay-stub
+ dimensions="[object Object]"
+ notes=""
+ position="[object Object]"
+ />
+ </div>
+</div>
+`;
+
+exports[`Design management design presentation component renders empty state when no image provided 1`] = `
+<div
+ class="h-100 w-100 p-3 overflow-auto position-relative"
+>
+ <div
+ class="h-100 w-100 d-flex align-items-center position-relative"
+ >
+ <!---->
+
+ <!---->
+ </div>
+</div>
+`;
+
+exports[`Design management design presentation component renders image and overlay when image provided 1`] = `
+<div
+ class="h-100 w-100 p-3 overflow-auto position-relative"
+>
+ <div
+ class="h-100 w-100 d-flex align-items-center position-relative"
+ >
+ <design-image-stub
+ image="test.jpg"
+ name="test"
+ scale="1"
+ />
+
+ <design-overlay-stub
+ dimensions="[object Object]"
+ notes=""
+ position="[object Object]"
+ />
+ </div>
+</div>
+`;
diff --git a/spec/frontend/design_management/components/__snapshots__/design_scaler_spec.js.snap b/spec/frontend/design_management/components/__snapshots__/design_scaler_spec.js.snap
new file mode 100644
index 00000000000..cb4575cbd11
--- /dev/null
+++ b/spec/frontend/design_management/components/__snapshots__/design_scaler_spec.js.snap
@@ -0,0 +1,115 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management design scaler component minus and reset buttons are disabled when scale === 1 1`] = `
+<div
+ class="design-scaler btn-group"
+ role="group"
+>
+ <button
+ class="btn"
+ disabled="disabled"
+ >
+ <span
+ class="d-flex-center gl-icon s16"
+ >
+
+ –
+
+ </span>
+ </button>
+
+ <button
+ class="btn"
+ disabled="disabled"
+ >
+ <gl-icon-stub
+ name="redo"
+ size="16"
+ />
+ </button>
+
+ <button
+ class="btn"
+ >
+ <gl-icon-stub
+ name="plus"
+ size="16"
+ />
+ </button>
+</div>
+`;
+
+exports[`Design management design scaler component minus and reset buttons are enabled when scale > 1 1`] = `
+<div
+ class="design-scaler btn-group"
+ role="group"
+>
+ <button
+ class="btn"
+ >
+ <span
+ class="d-flex-center gl-icon s16"
+ >
+
+ –
+
+ </span>
+ </button>
+
+ <button
+ class="btn"
+ >
+ <gl-icon-stub
+ name="redo"
+ size="16"
+ />
+ </button>
+
+ <button
+ class="btn"
+ >
+ <gl-icon-stub
+ name="plus"
+ size="16"
+ />
+ </button>
+</div>
+`;
+
+exports[`Design management design scaler component plus button is disabled when scale === 2 1`] = `
+<div
+ class="design-scaler btn-group"
+ role="group"
+>
+ <button
+ class="btn"
+ >
+ <span
+ class="d-flex-center gl-icon s16"
+ >
+
+ –
+
+ </span>
+ </button>
+
+ <button
+ class="btn"
+ >
+ <gl-icon-stub
+ name="redo"
+ size="16"
+ />
+ </button>
+
+ <button
+ class="btn"
+ disabled="disabled"
+ >
+ <gl-icon-stub
+ name="plus"
+ size="16"
+ />
+ </button>
+</div>
+`;
diff --git a/spec/frontend/design_management/components/__snapshots__/image_spec.js.snap b/spec/frontend/design_management/components/__snapshots__/image_spec.js.snap
new file mode 100644
index 00000000000..acaa62b11eb
--- /dev/null
+++ b/spec/frontend/design_management/components/__snapshots__/image_spec.js.snap
@@ -0,0 +1,68 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management large image component renders image 1`] = `
+<div
+ class="m-auto js-design-image"
+>
+ <!---->
+
+ <img
+ alt="test"
+ class="mh-100 img-fluid"
+ src="test.jpg"
+ />
+</div>
+`;
+
+exports[`Design management large image component renders loading state 1`] = `
+<div
+ class="m-auto js-design-image"
+ isloading="true"
+>
+ <!---->
+
+ <img
+ alt=""
+ class="mh-100 img-fluid"
+ src=""
+ />
+</div>
+`;
+
+exports[`Design management large image component renders media broken icon on error 1`] = `
+<gl-icon-stub
+ class="text-secondary-100"
+ name="media-broken"
+ size="48"
+/>
+`;
+
+exports[`Design management large image component sets correct classes and styles if imageStyle is set 1`] = `
+<div
+ class="m-auto js-design-image"
+>
+ <!---->
+
+ <img
+ alt="test"
+ class="mh-100"
+ src="test.jpg"
+ style="width: 100px; height: 100px;"
+ />
+</div>
+`;
+
+exports[`Design management large image component zoom sets image style when zoomed 1`] = `
+<div
+ class="m-auto js-design-image"
+>
+ <!---->
+
+ <img
+ alt="test"
+ class="mh-100"
+ src="test.jpg"
+ style="width: 200px; height: 200px;"
+ />
+</div>
+`;
diff --git a/spec/frontend/design_management/components/delete_button_spec.js b/spec/frontend/design_management/components/delete_button_spec.js
new file mode 100644
index 00000000000..9d3bcd98e44
--- /dev/null
+++ b/spec/frontend/design_management/components/delete_button_spec.js
@@ -0,0 +1,51 @@
+import { shallowMount } from '@vue/test-utils';
+import { GlDeprecatedButton, GlModal, GlModalDirective } from '@gitlab/ui';
+import BatchDeleteButton from '~/design_management/components/delete_button.vue';
+
+describe('Batch delete button component', () => {
+ let wrapper;
+
+ const findButton = () => wrapper.find(GlDeprecatedButton);
+ const findModal = () => wrapper.find(GlModal);
+
+ function createComponent(isDeleting = false) {
+ wrapper = shallowMount(BatchDeleteButton, {
+ propsData: {
+ isDeleting,
+ },
+ directives: {
+ GlModalDirective,
+ },
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('renders non-disabled button by default', () => {
+ createComponent();
+
+ expect(findButton().exists()).toBe(true);
+ expect(findButton().attributes('disabled')).toBeFalsy();
+ });
+
+ it('renders disabled button when design is deleting', () => {
+ createComponent(true);
+ expect(findButton().attributes('disabled')).toBeTruthy();
+ });
+
+ it('emits `deleteSelectedDesigns` event on modal ok click', () => {
+ createComponent();
+ findButton().vm.$emit('click');
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ findModal().vm.$emit('ok');
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(wrapper.emitted().deleteSelectedDesigns).toBeTruthy();
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/design_note_pin_spec.js b/spec/frontend/design_management/components/design_note_pin_spec.js
new file mode 100644
index 00000000000..4f7260b1363
--- /dev/null
+++ b/spec/frontend/design_management/components/design_note_pin_spec.js
@@ -0,0 +1,49 @@
+import { shallowMount } from '@vue/test-utils';
+import DesignNotePin from '~/design_management/components/design_note_pin.vue';
+
+describe('Design discussions component', () => {
+ let wrapper;
+
+ function createComponent(propsData = {}) {
+ wrapper = shallowMount(DesignNotePin, {
+ propsData: {
+ position: {
+ left: '10px',
+ top: '10px',
+ },
+ ...propsData,
+ },
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('should match the snapshot of note without index', () => {
+ createComponent();
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('should match the snapshot of note with index', () => {
+ createComponent({ label: '1' });
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('should match the snapshot of note when repositioning', () => {
+ createComponent({ repositioning: true });
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ describe('pinStyle', () => {
+ it('sets cursor to `move` when repositioning = true', () => {
+ createComponent({ repositioning: true });
+ expect(wrapper.vm.pinStyle.cursor).toBe('move');
+ });
+
+ it('does not set cursor when repositioning = false', () => {
+ createComponent();
+ expect(wrapper.vm.pinStyle.cursor).toBe(undefined);
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/design_notes/__snapshots__/design_note_spec.js.snap b/spec/frontend/design_management/components/design_notes/__snapshots__/design_note_spec.js.snap
new file mode 100644
index 00000000000..84e52e1099a
--- /dev/null
+++ b/spec/frontend/design_management/components/design_notes/__snapshots__/design_note_spec.js.snap
@@ -0,0 +1,71 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design note component should match the snapshot 1`] = `
+<timeline-entry-item-stub
+ class="design-note note-form"
+ id="note_123"
+>
+ <user-avatar-link-stub
+ imgalt=""
+ imgcssclasses=""
+ imgsize="40"
+ imgsrc=""
+ linkhref=""
+ tooltipplacement="top"
+ tooltiptext=""
+ username=""
+ />
+
+ <div
+ class="d-flex justify-content-between"
+ >
+ <div>
+ <a
+ class="js-user-link"
+ data-user-id="author-id"
+ >
+ <span
+ class="note-header-author-name bold"
+ >
+
+ </span>
+
+ <!---->
+
+ <span
+ class="note-headline-light"
+ >
+ @
+ </span>
+ </a>
+
+ <span
+ class="note-headline-light note-headline-meta"
+ >
+ <span
+ class="system-note-message"
+ />
+
+ <!---->
+ </span>
+ </div>
+
+ <button
+ class="note-action-button js-note-edit btn btn-transparent qa-note-edit-button"
+ title="Edit comment"
+ type="button"
+ >
+ <gl-icon-stub
+ class="link-highlight"
+ name="pencil"
+ size="16"
+ />
+ </button>
+ </div>
+
+ <div
+ class="note-text js-note-text md"
+ data-qa-selector="note_content"
+ />
+</timeline-entry-item-stub>
+`;
diff --git a/spec/frontend/design_management/components/design_notes/__snapshots__/design_reply_form_spec.js.snap b/spec/frontend/design_management/components/design_notes/__snapshots__/design_reply_form_spec.js.snap
new file mode 100644
index 00000000000..e01c79e3520
--- /dev/null
+++ b/spec/frontend/design_management/components/design_notes/__snapshots__/design_reply_form_spec.js.snap
@@ -0,0 +1,15 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design reply form component renders button text as "Comment" when creating a comment 1`] = `
+"<button data-track-event=\\"click_button\\" data-qa-selector=\\"save_comment_button\\" type=\\"submit\\" disabled=\\"disabled\\" class=\\"btn btn-success btn-md disabled\\">
+ <!---->
+ Comment
+</button>"
+`;
+
+exports[`Design reply form component renders button text as "Save comment" when creating a comment 1`] = `
+"<button data-track-event=\\"click_button\\" data-qa-selector=\\"save_comment_button\\" type=\\"submit\\" disabled=\\"disabled\\" class=\\"btn btn-success btn-md disabled\\">
+ <!---->
+ Save comment
+</button>"
+`;
diff --git a/spec/frontend/design_management/components/design_notes/design_discussion_spec.js b/spec/frontend/design_management/components/design_notes/design_discussion_spec.js
new file mode 100644
index 00000000000..dd2ca29d660
--- /dev/null
+++ b/spec/frontend/design_management/components/design_notes/design_discussion_spec.js
@@ -0,0 +1,121 @@
+import { shallowMount } from '@vue/test-utils';
+import { ApolloMutation } from 'vue-apollo';
+import DesignDiscussion from '~/design_management/components/design_notes/design_discussion.vue';
+import DesignNote from '~/design_management/components/design_notes/design_note.vue';
+import DesignReplyForm from '~/design_management/components/design_notes/design_reply_form.vue';
+import createNoteMutation from '~/design_management/graphql/mutations/createNote.mutation.graphql';
+import ReplyPlaceholder from '~/notes/components/discussion_reply_placeholder.vue';
+
+describe('Design discussions component', () => {
+ let wrapper;
+
+ const findReplyPlaceholder = () => wrapper.find(ReplyPlaceholder);
+ const findReplyForm = () => wrapper.find(DesignReplyForm);
+
+ const mutationVariables = {
+ mutation: createNoteMutation,
+ update: expect.anything(),
+ variables: {
+ input: {
+ noteableId: 'noteable-id',
+ body: 'test',
+ discussionId: '0',
+ },
+ },
+ };
+ const mutate = jest.fn(() => Promise.resolve());
+ const $apollo = {
+ mutate,
+ };
+
+ function createComponent(props = {}) {
+ wrapper = shallowMount(DesignDiscussion, {
+ propsData: {
+ discussion: {
+ id: '0',
+ notes: [
+ {
+ id: '1',
+ },
+ {
+ id: '2',
+ },
+ ],
+ },
+ noteableId: 'noteable-id',
+ designId: 'design-id',
+ discussionIndex: 1,
+ ...props,
+ },
+ stubs: {
+ ReplyPlaceholder,
+ ApolloMutation,
+ },
+ mocks: { $apollo },
+ });
+ }
+
+ beforeEach(() => {
+ createComponent();
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('renders correct amount of discussion notes', () => {
+ expect(wrapper.findAll(DesignNote)).toHaveLength(2);
+ });
+
+ it('renders reply placeholder by default', () => {
+ expect(findReplyPlaceholder().exists()).toBe(true);
+ });
+
+ it('hides reply placeholder and opens form on placeholder click', () => {
+ findReplyPlaceholder().trigger('click');
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findReplyPlaceholder().exists()).toBe(false);
+ expect(findReplyForm().exists()).toBe(true);
+ });
+ });
+
+ it('calls mutation on submitting form and closes the form', () => {
+ wrapper.setData({
+ discussionComment: 'test',
+ isFormRendered: true,
+ });
+
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ findReplyForm().vm.$emit('submitForm');
+
+ expect(mutate).toHaveBeenCalledWith(mutationVariables);
+
+ return mutate({ variables: mutationVariables });
+ })
+ .then(() => {
+ expect(findReplyForm().exists()).toBe(false);
+ });
+ });
+
+ it('clears the discussion comment on closing comment form', () => {
+ wrapper.setData({
+ discussionComment: 'test',
+ isFormRendered: true,
+ });
+
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ findReplyForm().vm.$emit('cancelForm');
+
+ expect(wrapper.vm.discussionComment).toBe('');
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(findReplyForm().exists()).toBe(false);
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/design_notes/design_note_spec.js b/spec/frontend/design_management/components/design_notes/design_note_spec.js
new file mode 100644
index 00000000000..228ee9df00e
--- /dev/null
+++ b/spec/frontend/design_management/components/design_notes/design_note_spec.js
@@ -0,0 +1,147 @@
+import { shallowMount } from '@vue/test-utils';
+import { ApolloMutation } from 'vue-apollo';
+import DesignNote from '~/design_management/components/design_notes/design_note.vue';
+import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';
+import TimeAgoTooltip from '~/vue_shared/components/time_ago_tooltip.vue';
+import DesignReplyForm from '~/design_management/components/design_notes/design_reply_form.vue';
+
+const scrollIntoViewMock = jest.fn();
+const note = {
+ id: 'gid://gitlab/DiffNote/123',
+ author: {
+ id: 'author-id',
+ },
+ body: 'test',
+};
+HTMLElement.prototype.scrollIntoView = scrollIntoViewMock;
+
+const $route = {
+ hash: '#note_123',
+};
+
+const mutate = jest.fn().mockResolvedValue({ data: { updateNote: {} } });
+
+describe('Design note component', () => {
+ let wrapper;
+
+ const findUserAvatar = () => wrapper.find(UserAvatarLink);
+ const findUserLink = () => wrapper.find('.js-user-link');
+ const findReplyForm = () => wrapper.find(DesignReplyForm);
+ const findEditButton = () => wrapper.find('.js-note-edit');
+ const findNoteContent = () => wrapper.find('.js-note-text');
+
+ function createComponent(props = {}, data = { isEditing: false }) {
+ wrapper = shallowMount(DesignNote, {
+ propsData: {
+ note: {},
+ ...props,
+ },
+ data() {
+ return {
+ ...data,
+ };
+ },
+ mocks: {
+ $route,
+ $apollo: {
+ mutate,
+ },
+ },
+ stubs: {
+ ApolloMutation,
+ },
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('should match the snapshot', () => {
+ createComponent({
+ note,
+ });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('should render an author', () => {
+ createComponent({
+ note,
+ });
+
+ expect(findUserAvatar().exists()).toBe(true);
+ expect(findUserLink().exists()).toBe(true);
+ });
+
+ it('should render a time ago tooltip if note has createdAt property', () => {
+ createComponent({
+ note: {
+ ...note,
+ createdAt: '2019-07-26T15:02:20Z',
+ },
+ });
+
+ expect(wrapper.find(TimeAgoTooltip).exists()).toBe(true);
+ });
+
+ it('should trigger a scrollIntoView method', () => {
+ createComponent({
+ note,
+ });
+
+ expect(scrollIntoViewMock).toHaveBeenCalled();
+ });
+
+ it('should open an edit form on edit button click', () => {
+ createComponent({
+ note,
+ });
+
+ findEditButton().trigger('click');
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findReplyForm().exists()).toBe(true);
+ expect(findNoteContent().exists()).toBe(false);
+ });
+ });
+
+ describe('when edit form is rendered', () => {
+ beforeEach(() => {
+ createComponent(
+ {
+ note,
+ },
+ { isEditing: true },
+ );
+ });
+
+ it('should not render note content and should render reply form', () => {
+ expect(findNoteContent().exists()).toBe(false);
+ expect(findReplyForm().exists()).toBe(true);
+ });
+
+ it('hides the form on hideForm event', () => {
+ findReplyForm().vm.$emit('cancelForm');
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findReplyForm().exists()).toBe(false);
+ expect(findNoteContent().exists()).toBe(true);
+ });
+ });
+
+ it('calls a mutation on submitForm event and hides a form', () => {
+ findReplyForm().vm.$emit('submitForm');
+ expect(mutate).toHaveBeenCalled();
+
+ return mutate()
+ .then(() => {
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(findReplyForm().exists()).toBe(false);
+ expect(findNoteContent().exists()).toBe(true);
+ });
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/design_notes/design_reply_form_spec.js b/spec/frontend/design_management/components/design_notes/design_reply_form_spec.js
new file mode 100644
index 00000000000..34b8f1f9fa8
--- /dev/null
+++ b/spec/frontend/design_management/components/design_notes/design_reply_form_spec.js
@@ -0,0 +1,182 @@
+import { mount } from '@vue/test-utils';
+import DesignReplyForm from '~/design_management/components/design_notes/design_reply_form.vue';
+
+const showModal = jest.fn();
+
+const GlModal = {
+ template: '<div><slot name="modal-title"></slot><slot></slot><slot name="modal-ok"></slot></div>',
+ methods: {
+ show: showModal,
+ },
+};
+
+describe('Design reply form component', () => {
+ let wrapper;
+
+ const findTextarea = () => wrapper.find('textarea');
+ const findSubmitButton = () => wrapper.find({ ref: 'submitButton' });
+ const findCancelButton = () => wrapper.find({ ref: 'cancelButton' });
+ const findModal = () => wrapper.find({ ref: 'cancelCommentModal' });
+
+ function createComponent(props = {}) {
+ wrapper = mount(DesignReplyForm, {
+ propsData: {
+ value: '',
+ isSaving: false,
+ ...props,
+ },
+ stubs: { GlModal },
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('textarea has focus after component mount', () => {
+ createComponent();
+
+ expect(findTextarea().element).toEqual(document.activeElement);
+ });
+
+ it('renders button text as "Comment" when creating a comment', () => {
+ createComponent();
+
+ expect(findSubmitButton().html()).toMatchSnapshot();
+ });
+
+ it('renders button text as "Save comment" when creating a comment', () => {
+ createComponent({ isNewComment: false });
+
+ expect(findSubmitButton().html()).toMatchSnapshot();
+ });
+
+ describe('when form has no text', () => {
+ beforeEach(() => {
+ createComponent({
+ value: '',
+ });
+ });
+
+ it('submit button is disabled', () => {
+ expect(findSubmitButton().attributes().disabled).toBeTruthy();
+ });
+
+ it('does not emit submitForm event on textarea ctrl+enter keydown', () => {
+ findTextarea().trigger('keydown.enter', {
+ ctrlKey: true,
+ });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('submitForm')).toBeFalsy();
+ });
+ });
+
+ it('does not emit submitForm event on textarea meta+enter keydown', () => {
+ findTextarea().trigger('keydown.enter', {
+ metaKey: true,
+ });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('submitForm')).toBeFalsy();
+ });
+ });
+
+ it('emits cancelForm event on pressing escape button on textarea', () => {
+ findTextarea().trigger('keyup.esc');
+
+ expect(wrapper.emitted('cancelForm')).toBeTruthy();
+ });
+
+ it('emits cancelForm event on clicking Cancel button', () => {
+ findCancelButton().vm.$emit('click');
+
+ expect(wrapper.emitted('cancelForm')).toHaveLength(1);
+ });
+ });
+
+ describe('when form has text', () => {
+ beforeEach(() => {
+ createComponent({
+ value: 'test',
+ });
+ });
+
+ it('submit button is enabled', () => {
+ expect(findSubmitButton().attributes().disabled).toBeFalsy();
+ });
+
+ it('emits submitForm event on Comment button click', () => {
+ findSubmitButton().vm.$emit('click');
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('submitForm')).toBeTruthy();
+ });
+ });
+
+ it('emits submitForm event on textarea ctrl+enter keydown', () => {
+ findTextarea().trigger('keydown.enter', {
+ ctrlKey: true,
+ });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('submitForm')).toBeTruthy();
+ });
+ });
+
+ it('emits submitForm event on textarea meta+enter keydown', () => {
+ findTextarea().trigger('keydown.enter', {
+ metaKey: true,
+ });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('submitForm')).toBeTruthy();
+ });
+ });
+
+ it('emits input event on changing textarea content', () => {
+ findTextarea().setValue('test2');
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('input')).toBeTruthy();
+ });
+ });
+
+ it('emits cancelForm event on Escape key if text was not changed', () => {
+ findTextarea().trigger('keyup.esc');
+
+ expect(wrapper.emitted('cancelForm')).toBeTruthy();
+ });
+
+ it('opens confirmation modal on Escape key when text has changed', () => {
+ wrapper.setProps({ value: 'test2' });
+
+ return wrapper.vm.$nextTick().then(() => {
+ findTextarea().trigger('keyup.esc');
+ expect(showModal).toHaveBeenCalled();
+ });
+ });
+
+ it('emits cancelForm event on Cancel button click if text was not changed', () => {
+ findCancelButton().trigger('click');
+
+ expect(wrapper.emitted('cancelForm')).toBeTruthy();
+ });
+
+ it('opens confirmation modal on Cancel button click when text has changed', () => {
+ wrapper.setProps({ value: 'test2' });
+
+ return wrapper.vm.$nextTick().then(() => {
+ findCancelButton().trigger('click');
+ expect(showModal).toHaveBeenCalled();
+ });
+ });
+
+ it('emits cancelForm event on modal Ok button click', () => {
+ findTextarea().trigger('keyup.esc');
+ findModal().vm.$emit('ok');
+
+ expect(wrapper.emitted('cancelForm')).toBeTruthy();
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/design_overlay_spec.js b/spec/frontend/design_management/components/design_overlay_spec.js
new file mode 100644
index 00000000000..df470819a1d
--- /dev/null
+++ b/spec/frontend/design_management/components/design_overlay_spec.js
@@ -0,0 +1,343 @@
+import { mount } from '@vue/test-utils';
+import DesignOverlay from '~/design_management/components/design_overlay.vue';
+import notes from '../mock_data/notes';
+
+describe('Design overlay component', () => {
+ let wrapper;
+
+ const mockDimensions = { width: 100, height: 100 };
+ const mockNoteNotAuthorised = {
+ id: 'note-not-authorised',
+ discussion: { id: 'discussion-not-authorised' },
+ position: {
+ x: 1,
+ y: 80,
+ ...mockDimensions,
+ },
+ userPermissions: {},
+ };
+
+ const findOverlay = () => wrapper.find('.image-diff-overlay');
+ const findAllNotes = () => wrapper.findAll('.js-image-badge');
+ const findCommentBadge = () => wrapper.find('.comment-indicator');
+ const findFirstBadge = () => findAllNotes().at(0);
+ const findSecondBadge = () => findAllNotes().at(1);
+
+ const clickAndDragBadge = (elem, fromPoint, toPoint) => {
+ elem.trigger('mousedown', { clientX: fromPoint.x, clientY: fromPoint.y });
+ return wrapper.vm.$nextTick().then(() => {
+ elem.trigger('mousemove', { clientX: toPoint.x, clientY: toPoint.y });
+ return wrapper.vm.$nextTick();
+ });
+ };
+
+ function createComponent(props = {}) {
+ wrapper = mount(DesignOverlay, {
+ propsData: {
+ dimensions: mockDimensions,
+ position: {
+ top: '0',
+ left: '0',
+ },
+ ...props,
+ },
+ });
+ }
+
+ it('should have correct inline style', () => {
+ createComponent();
+
+ expect(wrapper.find('.image-diff-overlay').attributes().style).toBe(
+ 'width: 100px; height: 100px; top: 0px; left: 0px;',
+ );
+ });
+
+ it('should emit `openCommentForm` when clicking on overlay', () => {
+ createComponent();
+ const newCoordinates = {
+ x: 10,
+ y: 10,
+ };
+
+ wrapper
+ .find('.image-diff-overlay-add-comment')
+ .trigger('mouseup', { offsetX: newCoordinates.x, offsetY: newCoordinates.y });
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('openCommentForm')).toEqual([
+ [{ x: newCoordinates.x, y: newCoordinates.y }],
+ ]);
+ });
+ });
+
+ describe('with notes', () => {
+ beforeEach(() => {
+ createComponent({
+ notes,
+ });
+ });
+
+ it('should render a correct amount of notes', () => {
+ expect(findAllNotes()).toHaveLength(notes.length);
+ });
+
+ it('should have a correct style for each note badge', () => {
+ expect(findFirstBadge().attributes().style).toBe('left: 10px; top: 15px;');
+ expect(findSecondBadge().attributes().style).toBe('left: 50px; top: 50px;');
+ });
+
+ it('should recalculate badges positions on window resize', () => {
+ createComponent({
+ notes,
+ dimensions: {
+ width: 400,
+ height: 400,
+ },
+ });
+
+ expect(findFirstBadge().attributes().style).toBe('left: 40px; top: 60px;');
+
+ wrapper.setProps({
+ dimensions: {
+ width: 200,
+ height: 200,
+ },
+ });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findFirstBadge().attributes().style).toBe('left: 20px; top: 30px;');
+ });
+ });
+ });
+
+ describe('when moving notes', () => {
+ it('should update badge style when note is being moved', () => {
+ createComponent({
+ notes,
+ });
+
+ const { position } = notes[0];
+
+ return clickAndDragBadge(
+ findFirstBadge(),
+ { x: position.x, y: position.y },
+ { x: 20, y: 20 },
+ ).then(() => {
+ expect(findFirstBadge().attributes().style).toBe('left: 20px; top: 20px; cursor: move;');
+ });
+ });
+
+ it('should emit `moveNote` event when note-moving action ends', () => {
+ createComponent({ notes });
+ const note = notes[0];
+ const { position } = note;
+ const newCoordinates = { x: 20, y: 20 };
+
+ wrapper.setData({
+ movingNoteNewPosition: {
+ ...position,
+ ...newCoordinates,
+ },
+ movingNoteStartPosition: {
+ noteId: notes[0].id,
+ discussionId: notes[0].discussion.id,
+ ...position,
+ },
+ });
+
+ const badge = findFirstBadge();
+ return clickAndDragBadge(badge, { x: position.x, y: position.y }, newCoordinates)
+ .then(() => {
+ badge.trigger('mouseup');
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(wrapper.emitted('moveNote')).toEqual([
+ [
+ {
+ noteId: notes[0].id,
+ discussionId: notes[0].discussion.id,
+ coordinates: newCoordinates,
+ },
+ ],
+ ]);
+ });
+ });
+
+ it('should do nothing if [adminNote] permission is not present', () => {
+ createComponent({
+ dimensions: mockDimensions,
+ notes: [mockNoteNotAuthorised],
+ });
+
+ const badge = findAllNotes().at(0);
+ return clickAndDragBadge(
+ badge,
+ { x: mockNoteNotAuthorised.x, y: mockNoteNotAuthorised.y },
+ { x: 20, y: 20 },
+ ).then(() => {
+ expect(wrapper.vm.movingNoteStartPosition).toBeNull();
+ expect(findFirstBadge().attributes().style).toBe('left: 1px; top: 80px;');
+ });
+ });
+ });
+
+ describe('with a new form', () => {
+ it('should render a new comment badge', () => {
+ createComponent({
+ currentCommentForm: {
+ ...notes[0].position,
+ },
+ });
+
+ expect(findCommentBadge().exists()).toBe(true);
+ expect(findCommentBadge().attributes().style).toBe('left: 10px; top: 15px;');
+ });
+
+ describe('when moving the comment badge', () => {
+ it('should update badge style to reflect new position', () => {
+ const { position } = notes[0];
+
+ createComponent({
+ currentCommentForm: {
+ ...position,
+ },
+ });
+
+ return clickAndDragBadge(
+ findCommentBadge(),
+ { x: position.x, y: position.y },
+ { x: 20, y: 20 },
+ ).then(() => {
+ expect(findCommentBadge().attributes().style).toBe(
+ 'left: 20px; top: 20px; cursor: move;',
+ );
+ });
+ });
+
+ it('should update badge style when note-moving action ends', () => {
+ const { position } = notes[0];
+ createComponent({
+ currentCommentForm: {
+ ...position,
+ },
+ });
+
+ const commentBadge = findCommentBadge();
+ const toPoint = { x: 20, y: 20 };
+
+ return clickAndDragBadge(commentBadge, { x: position.x, y: position.y }, toPoint)
+ .then(() => {
+ commentBadge.trigger('mouseup');
+ // simulates the currentCommentForm being updated in index.vue component, and
+ // propagated back down to this prop
+ wrapper.setProps({
+ currentCommentForm: { height: position.height, width: position.width, ...toPoint },
+ });
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(commentBadge.attributes().style).toBe('left: 20px; top: 20px;');
+ });
+ });
+
+ it.each`
+ element | getElementFunc | event
+ ${'overlay'} | ${findOverlay} | ${'mouseleave'}
+ ${'comment badge'} | ${findCommentBadge} | ${'mouseup'}
+ `(
+ 'should emit `openCommentForm` event when $event fired on $element element',
+ ({ getElementFunc, event }) => {
+ createComponent({
+ notes,
+ currentCommentForm: {
+ ...notes[0].position,
+ },
+ });
+
+ const newCoordinates = { x: 20, y: 20 };
+ wrapper.setData({
+ movingNoteStartPosition: {
+ ...notes[0].position,
+ },
+ movingNoteNewPosition: {
+ ...notes[0].position,
+ ...newCoordinates,
+ },
+ });
+
+ getElementFunc().trigger(event);
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('openCommentForm')).toEqual([[newCoordinates]]);
+ });
+ },
+ );
+ });
+ });
+
+ describe('getMovingNotePositionDelta', () => {
+ it('should calculate delta correctly from state', () => {
+ createComponent();
+
+ wrapper.setData({
+ movingNoteStartPosition: {
+ clientX: 10,
+ clientY: 20,
+ },
+ });
+
+ const mockMouseEvent = {
+ clientX: 30,
+ clientY: 10,
+ };
+
+ expect(wrapper.vm.getMovingNotePositionDelta(mockMouseEvent)).toEqual({
+ deltaX: 20,
+ deltaY: -10,
+ });
+ });
+ });
+
+ describe('isPositionInOverlay', () => {
+ createComponent({ dimensions: mockDimensions });
+
+ it.each`
+ test | coordinates | expectedResult
+ ${'within overlay bounds'} | ${{ x: 50, y: 50 }} | ${true}
+ ${'outside overlay bounds'} | ${{ x: 101, y: 101 }} | ${false}
+ `('returns [$expectedResult] when position is $test', ({ coordinates, expectedResult }) => {
+ const position = { ...mockDimensions, ...coordinates };
+
+ expect(wrapper.vm.isPositionInOverlay(position)).toBe(expectedResult);
+ });
+ });
+
+ describe('getNoteRelativePosition', () => {
+ it('calculates position correctly', () => {
+ createComponent({ dimensions: mockDimensions });
+ const position = { x: 50, y: 50, width: 200, height: 200 };
+
+ expect(wrapper.vm.getNoteRelativePosition(position)).toEqual({ left: 25, top: 25 });
+ });
+ });
+
+ describe('canMoveNote', () => {
+ it.each`
+ adminNotePermission | canMoveNoteResult
+ ${true} | ${true}
+ ${false} | ${false}
+ ${undefined} | ${false}
+ `(
+ 'returns [$canMoveNoteResult] when [adminNote permission] is [$adminNotePermission]',
+ ({ adminNotePermission, canMoveNoteResult }) => {
+ createComponent();
+
+ const note = {
+ userPermissions: {
+ adminNote: adminNotePermission,
+ },
+ };
+ expect(wrapper.vm.canMoveNote(note)).toBe(canMoveNoteResult);
+ },
+ );
+ });
+});
diff --git a/spec/frontend/design_management/components/design_presentation_spec.js b/spec/frontend/design_management/components/design_presentation_spec.js
new file mode 100644
index 00000000000..8a709393d92
--- /dev/null
+++ b/spec/frontend/design_management/components/design_presentation_spec.js
@@ -0,0 +1,546 @@
+import { shallowMount } from '@vue/test-utils';
+import DesignPresentation from '~/design_management/components/design_presentation.vue';
+import DesignOverlay from '~/design_management/components/design_overlay.vue';
+
+const mockOverlayData = {
+ overlayDimensions: {
+ width: 100,
+ height: 100,
+ },
+ overlayPosition: {
+ top: '0',
+ left: '0',
+ },
+};
+
+describe('Design management design presentation component', () => {
+ let wrapper;
+
+ function createComponent(
+ { image, imageName, discussions = [], isAnnotating = false } = {},
+ data = {},
+ stubs = {},
+ ) {
+ wrapper = shallowMount(DesignPresentation, {
+ propsData: {
+ image,
+ imageName,
+ discussions,
+ isAnnotating,
+ },
+ stubs,
+ });
+
+ wrapper.setData(data);
+ wrapper.element.scrollTo = jest.fn();
+ }
+
+ const findOverlayCommentButton = () => wrapper.find('.image-diff-overlay-add-comment');
+
+ /**
+ * Spy on $refs and mock given values
+ * @param {Object} viewportDimensions {width, height}
+ * @param {Object} childDimensions {width, height}
+ * @param {Float} scrollTopPerc 0 < x < 1
+ * @param {Float} scrollLeftPerc 0 < x < 1
+ */
+ function mockRefDimensions(
+ ref,
+ viewportDimensions,
+ childDimensions,
+ scrollTopPerc,
+ scrollLeftPerc,
+ ) {
+ jest.spyOn(ref, 'scrollWidth', 'get').mockReturnValue(childDimensions.width);
+ jest.spyOn(ref, 'scrollHeight', 'get').mockReturnValue(childDimensions.height);
+ jest.spyOn(ref, 'offsetWidth', 'get').mockReturnValue(viewportDimensions.width);
+ jest.spyOn(ref, 'offsetHeight', 'get').mockReturnValue(viewportDimensions.height);
+ jest
+ .spyOn(ref, 'scrollLeft', 'get')
+ .mockReturnValue((childDimensions.width - viewportDimensions.width) * scrollLeftPerc);
+ jest
+ .spyOn(ref, 'scrollTop', 'get')
+ .mockReturnValue((childDimensions.height - viewportDimensions.height) * scrollTopPerc);
+ }
+
+ function clickDragExplore(startCoords, endCoords, { useTouchEvents, mouseup } = {}) {
+ const event = useTouchEvents
+ ? {
+ mousedown: 'touchstart',
+ mousemove: 'touchmove',
+ mouseup: 'touchend',
+ }
+ : {
+ mousedown: 'mousedown',
+ mousemove: 'mousemove',
+ mouseup: 'mouseup',
+ };
+
+ const addCommentOverlay = findOverlayCommentButton();
+
+ // triggering mouse events on this element best simulates
+ // reality, as it is the lowest-level node that needs to
+ // respond to mouse events
+ addCommentOverlay.trigger(event.mousedown, {
+ clientX: startCoords.clientX,
+ clientY: startCoords.clientY,
+ });
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ addCommentOverlay.trigger(event.mousemove, {
+ clientX: endCoords.clientX,
+ clientY: endCoords.clientY,
+ });
+
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ if (mouseup) {
+ addCommentOverlay.trigger(event.mouseup);
+ return wrapper.vm.$nextTick();
+ }
+
+ return undefined;
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('renders image and overlay when image provided', () => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ },
+ mockOverlayData,
+ );
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('renders empty state when no image provided', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('openCommentForm event emits correct data', () => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ },
+ mockOverlayData,
+ );
+
+ wrapper.vm.openCommentForm({ x: 1, y: 1 });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('openCommentForm')).toEqual([
+ [{ ...mockOverlayData.overlayDimensions, x: 1, y: 1 }],
+ ]);
+ });
+ });
+
+ describe('currentCommentForm', () => {
+ it('is null when isAnnotating is false', () => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ },
+ mockOverlayData,
+ );
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.vm.currentCommentForm).toBeNull();
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('is null when isAnnotating is true but annotation position is falsey', () => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ isAnnotating: true,
+ },
+ mockOverlayData,
+ );
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.vm.currentCommentForm).toBeNull();
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('is equal to current annotation position when isAnnotating is true', () => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ isAnnotating: true,
+ },
+ {
+ ...mockOverlayData,
+ currentAnnotationPosition: {
+ x: 1,
+ y: 1,
+ width: 100,
+ height: 100,
+ },
+ },
+ );
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.vm.currentCommentForm).toEqual({
+ x: 1,
+ y: 1,
+ width: 100,
+ height: 100,
+ });
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+ });
+
+ describe('setOverlayPosition', () => {
+ beforeEach(() => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ },
+ mockOverlayData,
+ );
+ });
+
+ afterEach(() => {
+ jest.clearAllMocks();
+ });
+
+ it('sets overlay position correctly when overlay is smaller than viewport', () => {
+ jest.spyOn(wrapper.vm.$refs.presentationViewport, 'offsetWidth', 'get').mockReturnValue(200);
+ jest.spyOn(wrapper.vm.$refs.presentationViewport, 'offsetHeight', 'get').mockReturnValue(200);
+
+ wrapper.vm.setOverlayPosition();
+ expect(wrapper.vm.overlayPosition).toEqual({
+ left: `calc(50% - ${mockOverlayData.overlayDimensions.width / 2}px)`,
+ top: `calc(50% - ${mockOverlayData.overlayDimensions.height / 2}px)`,
+ });
+ });
+
+ it('sets overlay position correctly when overlay width is larger than viewports', () => {
+ jest.spyOn(wrapper.vm.$refs.presentationViewport, 'offsetWidth', 'get').mockReturnValue(50);
+ jest.spyOn(wrapper.vm.$refs.presentationViewport, 'offsetHeight', 'get').mockReturnValue(200);
+
+ wrapper.vm.setOverlayPosition();
+ expect(wrapper.vm.overlayPosition).toEqual({
+ left: '0',
+ top: `calc(50% - ${mockOverlayData.overlayDimensions.height / 2}px)`,
+ });
+ });
+
+ it('sets overlay position correctly when overlay height is larger than viewports', () => {
+ jest.spyOn(wrapper.vm.$refs.presentationViewport, 'offsetWidth', 'get').mockReturnValue(200);
+ jest.spyOn(wrapper.vm.$refs.presentationViewport, 'offsetHeight', 'get').mockReturnValue(50);
+
+ wrapper.vm.setOverlayPosition();
+ expect(wrapper.vm.overlayPosition).toEqual({
+ left: `calc(50% - ${mockOverlayData.overlayDimensions.width / 2}px)`,
+ top: '0',
+ });
+ });
+ });
+
+ describe('getViewportCenter', () => {
+ beforeEach(() => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ },
+ mockOverlayData,
+ );
+ });
+
+ it('calculate center correctly with no scroll', () => {
+ mockRefDimensions(
+ wrapper.vm.$refs.presentationViewport,
+ { width: 10, height: 10 },
+ { width: 20, height: 20 },
+ 0,
+ 0,
+ );
+
+ expect(wrapper.vm.getViewportCenter()).toEqual({
+ x: 5,
+ y: 5,
+ });
+ });
+
+ it('calculate center correctly with some scroll', () => {
+ mockRefDimensions(
+ wrapper.vm.$refs.presentationViewport,
+ { width: 10, height: 10 },
+ { width: 20, height: 20 },
+ 0.5,
+ 0.5,
+ );
+
+ expect(wrapper.vm.getViewportCenter()).toEqual({
+ x: 10,
+ y: 10,
+ });
+ });
+
+ it('Returns default case if no overflow (scrollWidth==offsetWidth, etc.)', () => {
+ mockRefDimensions(
+ wrapper.vm.$refs.presentationViewport,
+ { width: 20, height: 20 },
+ { width: 20, height: 20 },
+ 0.5,
+ 0.5,
+ );
+
+ expect(wrapper.vm.getViewportCenter()).toEqual({
+ x: 10,
+ y: 10,
+ });
+ });
+ });
+
+ describe('scaleZoomFocalPoint', () => {
+ it('scales focal point correctly when zooming in', () => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ },
+ {
+ ...mockOverlayData,
+ zoomFocalPoint: {
+ x: 5,
+ y: 5,
+ width: 50,
+ height: 50,
+ },
+ },
+ );
+
+ wrapper.vm.scaleZoomFocalPoint();
+ expect(wrapper.vm.zoomFocalPoint).toEqual({
+ x: 10,
+ y: 10,
+ width: 100,
+ height: 100,
+ });
+ });
+
+ it('scales focal point correctly when zooming out', () => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ },
+ {
+ ...mockOverlayData,
+ zoomFocalPoint: {
+ x: 10,
+ y: 10,
+ width: 200,
+ height: 200,
+ },
+ },
+ );
+
+ wrapper.vm.scaleZoomFocalPoint();
+ expect(wrapper.vm.zoomFocalPoint).toEqual({
+ x: 5,
+ y: 5,
+ width: 100,
+ height: 100,
+ });
+ });
+ });
+
+ describe('onImageResize', () => {
+ it('sets zoom focal point on initial load', () => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ },
+ mockOverlayData,
+ );
+
+ wrapper.setMethods({
+ shiftZoomFocalPoint: jest.fn(),
+ scaleZoomFocalPoint: jest.fn(),
+ scrollToFocalPoint: jest.fn(),
+ });
+
+ wrapper.vm.onImageResize({ width: 10, height: 10 });
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.vm.shiftZoomFocalPoint).toHaveBeenCalled();
+ expect(wrapper.vm.initialLoad).toBe(false);
+ });
+ });
+
+ it('calls scaleZoomFocalPoint and scrollToFocalPoint after initial load', () => {
+ wrapper.vm.onImageResize({ width: 10, height: 10 });
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.vm.scaleZoomFocalPoint).toHaveBeenCalled();
+ expect(wrapper.vm.scrollToFocalPoint).toHaveBeenCalled();
+ });
+ });
+ });
+
+ describe('onPresentationMousedown', () => {
+ it.each`
+ scenario | width | height
+ ${'width overflows'} | ${101} | ${100}
+ ${'height overflows'} | ${100} | ${101}
+ ${'width and height overflows'} | ${200} | ${200}
+ `('sets lastDragPosition when design $scenario', ({ width, height }) => {
+ createComponent();
+ mockRefDimensions(
+ wrapper.vm.$refs.presentationViewport,
+ { width: 100, height: 100 },
+ { width, height },
+ );
+
+ const newLastDragPosition = { x: 2, y: 2 };
+ wrapper.vm.onPresentationMousedown({
+ clientX: newLastDragPosition.x,
+ clientY: newLastDragPosition.y,
+ });
+
+ expect(wrapper.vm.lastDragPosition).toStrictEqual(newLastDragPosition);
+ });
+
+ it('does not set lastDragPosition if design does not overflow', () => {
+ const lastDragPosition = { x: 1, y: 1 };
+
+ createComponent({}, { lastDragPosition });
+ mockRefDimensions(
+ wrapper.vm.$refs.presentationViewport,
+ { width: 100, height: 100 },
+ { width: 50, height: 50 },
+ );
+
+ wrapper.vm.onPresentationMousedown({ clientX: 2, clientY: 2 });
+
+ // check lastDragPosition is unchanged
+ expect(wrapper.vm.lastDragPosition).toStrictEqual(lastDragPosition);
+ });
+ });
+
+ describe('getAnnotationPositon', () => {
+ it.each`
+ coordinates | overlayDimensions | position
+ ${{ x: 100, y: 100 }} | ${{ width: 50, height: 50 }} | ${{ x: 100, y: 100, width: 50, height: 50 }}
+ ${{ x: 100.2, y: 100.5 }} | ${{ width: 50.6, height: 50.0 }} | ${{ x: 100, y: 101, width: 51, height: 50 }}
+ `('returns correct annotation position', ({ coordinates, overlayDimensions, position }) => {
+ createComponent(undefined, {
+ overlayDimensions: {
+ width: overlayDimensions.width,
+ height: overlayDimensions.height,
+ },
+ });
+
+ expect(wrapper.vm.getAnnotationPositon(coordinates)).toStrictEqual(position);
+ });
+ });
+
+ describe('when design is overflowing', () => {
+ beforeEach(() => {
+ createComponent(
+ {
+ image: 'test.jpg',
+ imageName: 'test',
+ },
+ mockOverlayData,
+ {
+ 'design-overlay': DesignOverlay,
+ },
+ );
+
+ // mock a design that overflows
+ mockRefDimensions(
+ wrapper.vm.$refs.presentationViewport,
+ { width: 10, height: 10 },
+ { width: 20, height: 20 },
+ 0,
+ 0,
+ );
+ });
+
+ it('opens a comment form if design was not dragged', () => {
+ const addCommentOverlay = findOverlayCommentButton();
+ const startCoords = {
+ clientX: 1,
+ clientY: 1,
+ };
+
+ addCommentOverlay.trigger('mousedown', {
+ clientX: startCoords.clientX,
+ clientY: startCoords.clientY,
+ });
+
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ addCommentOverlay.trigger('mouseup');
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(wrapper.emitted('openCommentForm')).toBeDefined();
+ });
+ });
+
+ describe('when clicking and dragging', () => {
+ it.each`
+ description | useTouchEvents
+ ${'with touch events'} | ${true}
+ ${'without touch events'} | ${false}
+ `('calls scrollTo with correct arguments $description', ({ useTouchEvents }) => {
+ return clickDragExplore(
+ { clientX: 0, clientY: 0 },
+ { clientX: 10, clientY: 10 },
+ { useTouchEvents },
+ ).then(() => {
+ expect(wrapper.element.scrollTo).toHaveBeenCalledTimes(1);
+ expect(wrapper.element.scrollTo).toHaveBeenCalledWith(-10, -10);
+ });
+ });
+
+ it('does not open a comment form when drag position exceeds buffer', () => {
+ return clickDragExplore(
+ { clientX: 0, clientY: 0 },
+ { clientX: 10, clientY: 10 },
+ { mouseup: true },
+ ).then(() => {
+ expect(wrapper.emitted('openCommentForm')).toBeFalsy();
+ });
+ });
+
+ it('opens a comment form when drag position is within buffer', () => {
+ return clickDragExplore(
+ { clientX: 0, clientY: 0 },
+ { clientX: 1, clientY: 0 },
+ { mouseup: true },
+ ).then(() => {
+ expect(wrapper.emitted('openCommentForm')).toBeDefined();
+ });
+ });
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/design_scaler_spec.js b/spec/frontend/design_management/components/design_scaler_spec.js
new file mode 100644
index 00000000000..b06d2f924df
--- /dev/null
+++ b/spec/frontend/design_management/components/design_scaler_spec.js
@@ -0,0 +1,67 @@
+import { shallowMount } from '@vue/test-utils';
+import DesignScaler from '~/design_management/components/design_scaler.vue';
+
+describe('Design management design scaler component', () => {
+ let wrapper;
+
+ function createComponent(propsData, data = {}) {
+ wrapper = shallowMount(DesignScaler, {
+ propsData,
+ });
+ wrapper.setData(data);
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ const getButton = type => {
+ const buttonTypeOrder = ['minus', 'reset', 'plus'];
+ const buttons = wrapper.findAll('button');
+ return buttons.at(buttonTypeOrder.indexOf(type));
+ };
+
+ it('emits @scale event when "plus" button clicked', () => {
+ createComponent();
+
+ getButton('plus').trigger('click');
+ expect(wrapper.emitted('scale')).toEqual([[1.2]]);
+ });
+
+ it('emits @scale event when "reset" button clicked (scale > 1)', () => {
+ createComponent({}, { scale: 1.6 });
+ return wrapper.vm.$nextTick().then(() => {
+ getButton('reset').trigger('click');
+ expect(wrapper.emitted('scale')).toEqual([[1]]);
+ });
+ });
+
+ it('emits @scale event when "minus" button clicked (scale > 1)', () => {
+ createComponent({}, { scale: 1.6 });
+
+ return wrapper.vm.$nextTick().then(() => {
+ getButton('minus').trigger('click');
+ expect(wrapper.emitted('scale')).toEqual([[1.4]]);
+ });
+ });
+
+ it('minus and reset buttons are disabled when scale === 1', () => {
+ createComponent();
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('minus and reset buttons are enabled when scale > 1', () => {
+ createComponent({}, { scale: 1.2 });
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('plus button is disabled when scale === 2', () => {
+ createComponent({}, { scale: 2 });
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/image_spec.js b/spec/frontend/design_management/components/image_spec.js
new file mode 100644
index 00000000000..52d60b04a8a
--- /dev/null
+++ b/spec/frontend/design_management/components/image_spec.js
@@ -0,0 +1,133 @@
+import { shallowMount } from '@vue/test-utils';
+import { GlIcon } from '@gitlab/ui';
+import DesignImage from '~/design_management/components/image.vue';
+
+describe('Design management large image component', () => {
+ let wrapper;
+
+ function createComponent(propsData, data = {}) {
+ wrapper = shallowMount(DesignImage, {
+ propsData,
+ });
+ wrapper.setData(data);
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('renders loading state', () => {
+ createComponent({
+ isLoading: true,
+ });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders image', () => {
+ createComponent({
+ isLoading: false,
+ image: 'test.jpg',
+ name: 'test',
+ });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('sets correct classes and styles if imageStyle is set', () => {
+ createComponent(
+ {
+ isLoading: false,
+ image: 'test.jpg',
+ name: 'test',
+ },
+ {
+ imageStyle: {
+ width: '100px',
+ height: '100px',
+ },
+ },
+ );
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('renders media broken icon on error', () => {
+ createComponent({
+ isLoading: false,
+ image: 'test.jpg',
+ name: 'test',
+ });
+
+ const image = wrapper.find('img');
+ image.trigger('error');
+ return wrapper.vm.$nextTick().then(() => {
+ expect(image.isVisible()).toBe(false);
+ expect(wrapper.find(GlIcon).element).toMatchSnapshot();
+ });
+ });
+
+ describe('zoom', () => {
+ const baseImageWidth = 100;
+ const baseImageHeight = 100;
+
+ beforeEach(() => {
+ createComponent(
+ {
+ isLoading: false,
+ image: 'test.jpg',
+ name: 'test',
+ },
+ {
+ imageStyle: {
+ width: `${baseImageWidth}px`,
+ height: `${baseImageHeight}px`,
+ },
+ baseImageSize: {
+ width: baseImageWidth,
+ height: baseImageHeight,
+ },
+ },
+ );
+
+ jest.spyOn(wrapper.vm.$refs.contentImg, 'offsetWidth', 'get').mockReturnValue(baseImageWidth);
+ jest
+ .spyOn(wrapper.vm.$refs.contentImg, 'offsetHeight', 'get')
+ .mockReturnValue(baseImageHeight);
+ });
+
+ it('emits @resize event on zoom', () => {
+ const zoomAmount = 2;
+ wrapper.vm.zoom(zoomAmount);
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('resize')).toEqual([
+ [{ width: baseImageWidth * zoomAmount, height: baseImageHeight * zoomAmount }],
+ ]);
+ });
+ });
+
+ it('emits @resize event with base image size when scale=1', () => {
+ wrapper.vm.zoom(1);
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.emitted('resize')).toEqual([
+ [{ width: baseImageWidth, height: baseImageHeight }],
+ ]);
+ });
+ });
+
+ it('sets image style when zoomed', () => {
+ const zoomAmount = 2;
+ wrapper.vm.zoom(zoomAmount);
+ expect(wrapper.vm.imageStyle).toEqual({
+ width: `${baseImageWidth * zoomAmount}px`,
+ height: `${baseImageHeight * zoomAmount}px`,
+ });
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/list/__snapshots__/item_spec.js.snap b/spec/frontend/design_management/components/list/__snapshots__/item_spec.js.snap
new file mode 100644
index 00000000000..9cd427f6aae
--- /dev/null
+++ b/spec/frontend/design_management/components/list/__snapshots__/item_spec.js.snap
@@ -0,0 +1,472 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management list item component when item appears in view after image is loaded renders media broken icon when image onerror triggered 1`] = `
+<gl-icon-stub
+ class="text-secondary"
+ name="media-broken"
+ size="32"
+/>
+`;
+
+exports[`Design management list item component with no notes renders item with correct status icon for creation event 1`] = `
+<router-link-stub
+ class="card cursor-pointer text-plain js-design-list-item design-list-item"
+ to="[object Object]"
+>
+ <div
+ class="card-body p-0 d-flex-center overflow-hidden position-relative"
+ >
+ <div
+ class="design-event position-absolute"
+ >
+ <span
+ aria-label="Added in this version"
+ title="Added in this version"
+ >
+ <icon-stub
+ class="text-success-500"
+ name="file-addition-solid"
+ size="18"
+ />
+ </span>
+ </div>
+
+ <gl-intersection-observer-stub
+ options="[object Object]"
+ >
+ <!---->
+
+ <img
+ alt="test"
+ class="block mx-auto mw-100 mh-100 design-img"
+ data-qa-selector="design_image"
+ src=""
+ />
+ </gl-intersection-observer-stub>
+ </div>
+
+ <div
+ class="card-footer d-flex w-100"
+ >
+ <div
+ class="d-flex flex-column str-truncated-100"
+ >
+ <span
+ class="bold str-truncated-100"
+ data-qa-selector="design_file_name"
+ >
+ test
+ </span>
+
+ <span
+ class="str-truncated-100"
+ >
+
+ Updated
+ <timeago-stub
+ cssclass=""
+ time="01-01-2019"
+ tooltipplacement="bottom"
+ />
+ </span>
+ </div>
+
+ <!---->
+ </div>
+</router-link-stub>
+`;
+
+exports[`Design management list item component with no notes renders item with correct status icon for deletion event 1`] = `
+<router-link-stub
+ class="card cursor-pointer text-plain js-design-list-item design-list-item"
+ to="[object Object]"
+>
+ <div
+ class="card-body p-0 d-flex-center overflow-hidden position-relative"
+ >
+ <div
+ class="design-event position-absolute"
+ >
+ <span
+ aria-label="Deleted in this version"
+ title="Deleted in this version"
+ >
+ <icon-stub
+ class="text-danger-500"
+ name="file-deletion-solid"
+ size="18"
+ />
+ </span>
+ </div>
+
+ <gl-intersection-observer-stub
+ options="[object Object]"
+ >
+ <!---->
+
+ <img
+ alt="test"
+ class="block mx-auto mw-100 mh-100 design-img"
+ data-qa-selector="design_image"
+ src=""
+ />
+ </gl-intersection-observer-stub>
+ </div>
+
+ <div
+ class="card-footer d-flex w-100"
+ >
+ <div
+ class="d-flex flex-column str-truncated-100"
+ >
+ <span
+ class="bold str-truncated-100"
+ data-qa-selector="design_file_name"
+ >
+ test
+ </span>
+
+ <span
+ class="str-truncated-100"
+ >
+
+ Updated
+ <timeago-stub
+ cssclass=""
+ time="01-01-2019"
+ tooltipplacement="bottom"
+ />
+ </span>
+ </div>
+
+ <!---->
+ </div>
+</router-link-stub>
+`;
+
+exports[`Design management list item component with no notes renders item with correct status icon for modification event 1`] = `
+<router-link-stub
+ class="card cursor-pointer text-plain js-design-list-item design-list-item"
+ to="[object Object]"
+>
+ <div
+ class="card-body p-0 d-flex-center overflow-hidden position-relative"
+ >
+ <div
+ class="design-event position-absolute"
+ >
+ <span
+ aria-label="Modified in this version"
+ title="Modified in this version"
+ >
+ <icon-stub
+ class="text-primary-500"
+ name="file-modified-solid"
+ size="18"
+ />
+ </span>
+ </div>
+
+ <gl-intersection-observer-stub
+ options="[object Object]"
+ >
+ <!---->
+
+ <img
+ alt="test"
+ class="block mx-auto mw-100 mh-100 design-img"
+ data-qa-selector="design_image"
+ src=""
+ />
+ </gl-intersection-observer-stub>
+ </div>
+
+ <div
+ class="card-footer d-flex w-100"
+ >
+ <div
+ class="d-flex flex-column str-truncated-100"
+ >
+ <span
+ class="bold str-truncated-100"
+ data-qa-selector="design_file_name"
+ >
+ test
+ </span>
+
+ <span
+ class="str-truncated-100"
+ >
+
+ Updated
+ <timeago-stub
+ cssclass=""
+ time="01-01-2019"
+ tooltipplacement="bottom"
+ />
+ </span>
+ </div>
+
+ <!---->
+ </div>
+</router-link-stub>
+`;
+
+exports[`Design management list item component with no notes renders item with no status icon for none event 1`] = `
+<router-link-stub
+ class="card cursor-pointer text-plain js-design-list-item design-list-item"
+ to="[object Object]"
+>
+ <div
+ class="card-body p-0 d-flex-center overflow-hidden position-relative"
+ >
+ <!---->
+
+ <gl-intersection-observer-stub
+ options="[object Object]"
+ >
+ <!---->
+
+ <img
+ alt="test"
+ class="block mx-auto mw-100 mh-100 design-img"
+ data-qa-selector="design_image"
+ src=""
+ />
+ </gl-intersection-observer-stub>
+ </div>
+
+ <div
+ class="card-footer d-flex w-100"
+ >
+ <div
+ class="d-flex flex-column str-truncated-100"
+ >
+ <span
+ class="bold str-truncated-100"
+ data-qa-selector="design_file_name"
+ >
+ test
+ </span>
+
+ <span
+ class="str-truncated-100"
+ >
+
+ Updated
+ <timeago-stub
+ cssclass=""
+ time="01-01-2019"
+ tooltipplacement="bottom"
+ />
+ </span>
+ </div>
+
+ <!---->
+ </div>
+</router-link-stub>
+`;
+
+exports[`Design management list item component with no notes renders loading spinner when isUploading is true 1`] = `
+<router-link-stub
+ class="card cursor-pointer text-plain js-design-list-item design-list-item"
+ to="[object Object]"
+>
+ <div
+ class="card-body p-0 d-flex-center overflow-hidden position-relative"
+ >
+ <!---->
+
+ <gl-intersection-observer-stub
+ options="[object Object]"
+ >
+ <gl-loading-icon-stub
+ color="orange"
+ label="Loading"
+ size="md"
+ />
+
+ <img
+ alt="test"
+ class="block mx-auto mw-100 mh-100 design-img"
+ data-qa-selector="design_image"
+ src=""
+ style="display: none;"
+ />
+ </gl-intersection-observer-stub>
+ </div>
+
+ <div
+ class="card-footer d-flex w-100"
+ >
+ <div
+ class="d-flex flex-column str-truncated-100"
+ >
+ <span
+ class="bold str-truncated-100"
+ data-qa-selector="design_file_name"
+ >
+ test
+ </span>
+
+ <span
+ class="str-truncated-100"
+ >
+
+ Updated
+ <timeago-stub
+ cssclass=""
+ time="01-01-2019"
+ tooltipplacement="bottom"
+ />
+ </span>
+ </div>
+
+ <!---->
+ </div>
+</router-link-stub>
+`;
+
+exports[`Design management list item component with notes renders item with multiple comments 1`] = `
+<router-link-stub
+ class="card cursor-pointer text-plain js-design-list-item design-list-item"
+ to="[object Object]"
+>
+ <div
+ class="card-body p-0 d-flex-center overflow-hidden position-relative"
+ >
+ <!---->
+
+ <gl-intersection-observer-stub
+ options="[object Object]"
+ >
+ <!---->
+
+ <img
+ alt="test"
+ class="block mx-auto mw-100 mh-100 design-img"
+ data-qa-selector="design_image"
+ src=""
+ />
+ </gl-intersection-observer-stub>
+ </div>
+
+ <div
+ class="card-footer d-flex w-100"
+ >
+ <div
+ class="d-flex flex-column str-truncated-100"
+ >
+ <span
+ class="bold str-truncated-100"
+ data-qa-selector="design_file_name"
+ >
+ test
+ </span>
+
+ <span
+ class="str-truncated-100"
+ >
+
+ Updated
+ <timeago-stub
+ cssclass=""
+ time="01-01-2019"
+ tooltipplacement="bottom"
+ />
+ </span>
+ </div>
+
+ <div
+ class="ml-auto d-flex align-items-center text-secondary"
+ >
+ <icon-stub
+ class="ml-1"
+ name="comments"
+ size="16"
+ />
+
+ <span
+ aria-label="2 comments"
+ class="ml-1"
+ >
+
+ 2
+
+ </span>
+ </div>
+ </div>
+</router-link-stub>
+`;
+
+exports[`Design management list item component with notes renders item with single comment 1`] = `
+<router-link-stub
+ class="card cursor-pointer text-plain js-design-list-item design-list-item"
+ to="[object Object]"
+>
+ <div
+ class="card-body p-0 d-flex-center overflow-hidden position-relative"
+ >
+ <!---->
+
+ <gl-intersection-observer-stub
+ options="[object Object]"
+ >
+ <!---->
+
+ <img
+ alt="test"
+ class="block mx-auto mw-100 mh-100 design-img"
+ data-qa-selector="design_image"
+ src=""
+ />
+ </gl-intersection-observer-stub>
+ </div>
+
+ <div
+ class="card-footer d-flex w-100"
+ >
+ <div
+ class="d-flex flex-column str-truncated-100"
+ >
+ <span
+ class="bold str-truncated-100"
+ data-qa-selector="design_file_name"
+ >
+ test
+ </span>
+
+ <span
+ class="str-truncated-100"
+ >
+
+ Updated
+ <timeago-stub
+ cssclass=""
+ time="01-01-2019"
+ tooltipplacement="bottom"
+ />
+ </span>
+ </div>
+
+ <div
+ class="ml-auto d-flex align-items-center text-secondary"
+ >
+ <icon-stub
+ class="ml-1"
+ name="comments"
+ size="16"
+ />
+
+ <span
+ aria-label="1 comment"
+ class="ml-1"
+ >
+
+ 1
+
+ </span>
+ </div>
+ </div>
+</router-link-stub>
+`;
diff --git a/spec/frontend/design_management/components/list/item_spec.js b/spec/frontend/design_management/components/list/item_spec.js
new file mode 100644
index 00000000000..705b532454f
--- /dev/null
+++ b/spec/frontend/design_management/components/list/item_spec.js
@@ -0,0 +1,168 @@
+import { createLocalVue, shallowMount } from '@vue/test-utils';
+import { GlIcon, GlLoadingIcon, GlIntersectionObserver } from '@gitlab/ui';
+import VueRouter from 'vue-router';
+import Item from '~/design_management/components/list/item.vue';
+
+const localVue = createLocalVue();
+localVue.use(VueRouter);
+const router = new VueRouter();
+
+// Referenced from: doc/api/graphql/reference/gitlab_schema.graphql:DesignVersionEvent
+const DESIGN_VERSION_EVENT = {
+ CREATION: 'CREATION',
+ DELETION: 'DELETION',
+ MODIFICATION: 'MODIFICATION',
+ NO_CHANGE: 'NONE',
+};
+
+describe('Design management list item component', () => {
+ let wrapper;
+
+ function createComponent({
+ notesCount = 0,
+ event = DESIGN_VERSION_EVENT.NO_CHANGE,
+ isUploading = false,
+ imageLoading = false,
+ } = {}) {
+ wrapper = shallowMount(Item, {
+ localVue,
+ router,
+ propsData: {
+ id: 1,
+ filename: 'test',
+ image: 'http://via.placeholder.com/300',
+ isUploading,
+ event,
+ notesCount,
+ updatedAt: '01-01-2019',
+ },
+ data() {
+ return {
+ imageLoading,
+ };
+ },
+ stubs: ['router-link'],
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ describe('when item is not in view', () => {
+ it('image is not rendered', () => {
+ createComponent();
+
+ const image = wrapper.find('img');
+ expect(image.attributes('src')).toBe('');
+ });
+ });
+
+ describe('when item appears in view', () => {
+ let image;
+ let glIntersectionObserver;
+
+ beforeEach(() => {
+ createComponent();
+ image = wrapper.find('img');
+ glIntersectionObserver = wrapper.find(GlIntersectionObserver);
+
+ glIntersectionObserver.vm.$emit('appear');
+ return wrapper.vm.$nextTick();
+ });
+
+ describe('before image is loaded', () => {
+ it('renders loading spinner', () => {
+ expect(wrapper.find(GlLoadingIcon)).toExist();
+ });
+ });
+
+ describe('after image is loaded', () => {
+ beforeEach(() => {
+ image.trigger('load');
+ return wrapper.vm.$nextTick();
+ });
+
+ it('renders an image', () => {
+ expect(image.attributes('src')).toBe('http://via.placeholder.com/300');
+ expect(image.isVisible()).toBe(true);
+ });
+
+ it('renders media broken icon when image onerror triggered', () => {
+ image.trigger('error');
+ return wrapper.vm.$nextTick().then(() => {
+ expect(image.isVisible()).toBe(false);
+ expect(wrapper.find(GlIcon).element).toMatchSnapshot();
+ });
+ });
+
+ describe('when imageV432x230 and image provided', () => {
+ it('renders imageV432x230 image', () => {
+ const mockSrc = 'mock-imageV432x230-url';
+ wrapper.setProps({ imageV432x230: mockSrc });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(image.attributes('src')).toBe(mockSrc);
+ });
+ });
+ });
+
+ describe('when image disappears from view and then reappears', () => {
+ beforeEach(() => {
+ glIntersectionObserver.vm.$emit('appear');
+ return wrapper.vm.$nextTick();
+ });
+
+ it('renders an image', () => {
+ expect(image.isVisible()).toBe(true);
+ });
+ });
+ });
+ });
+
+ describe('with notes', () => {
+ it('renders item with single comment', () => {
+ createComponent({ notesCount: 1 });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders item with multiple comments', () => {
+ createComponent({ notesCount: 2 });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ describe('with no notes', () => {
+ it('renders item with no status icon for none event', () => {
+ createComponent();
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders item with correct status icon for modification event', () => {
+ createComponent({ event: DESIGN_VERSION_EVENT.MODIFICATION });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders item with correct status icon for deletion event', () => {
+ createComponent({ event: DESIGN_VERSION_EVENT.DELETION });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders item with correct status icon for creation event', () => {
+ createComponent({ event: DESIGN_VERSION_EVENT.CREATION });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders loading spinner when isUploading is true', () => {
+ createComponent({ isUploading: true });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/toolbar/__snapshots__/index_spec.js.snap b/spec/frontend/design_management/components/toolbar/__snapshots__/index_spec.js.snap
new file mode 100644
index 00000000000..e55cff8de3d
--- /dev/null
+++ b/spec/frontend/design_management/components/toolbar/__snapshots__/index_spec.js.snap
@@ -0,0 +1,61 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management toolbar component renders design and updated data 1`] = `
+<header
+ class="d-flex p-2 bg-white align-items-center js-design-header"
+>
+ <a
+ aria-label="Go back to designs"
+ class="mr-3 text-plain d-flex justify-content-center align-items-center"
+ >
+ <icon-stub
+ name="close"
+ size="18"
+ />
+ </a>
+
+ <div
+ class="overflow-hidden d-flex align-items-center"
+ >
+ <h2
+ class="m-0 str-truncated-100 gl-font-base"
+ >
+ test.jpg
+ </h2>
+
+ <small
+ class="text-secondary"
+ >
+ Updated 1 hour ago by Test Name
+ </small>
+ </div>
+
+ <pagination-stub
+ class="ml-auto flex-shrink-0"
+ id="1"
+ />
+
+ <gl-deprecated-button-stub
+ class="mr-2"
+ href="/-/designs/306/7f747adcd4693afadbe968d7ba7d983349b9012d"
+ size="md"
+ variant="secondary"
+ >
+ <icon-stub
+ name="download"
+ size="18"
+ />
+ </gl-deprecated-button-stub>
+
+ <delete-button-stub
+ buttonclass=""
+ buttonvariant="danger"
+ hasselecteddesigns="true"
+ >
+ <icon-stub
+ name="remove"
+ size="18"
+ />
+ </delete-button-stub>
+</header>
+`;
diff --git a/spec/frontend/design_management/components/toolbar/__snapshots__/pagination_button_spec.js.snap b/spec/frontend/design_management/components/toolbar/__snapshots__/pagination_button_spec.js.snap
new file mode 100644
index 00000000000..08662a04f15
--- /dev/null
+++ b/spec/frontend/design_management/components/toolbar/__snapshots__/pagination_button_spec.js.snap
@@ -0,0 +1,28 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management pagination button component disables button when no design is passed 1`] = `
+<router-link-stub
+ aria-label="Test title"
+ class="btn btn-default disabled"
+ disabled="true"
+ to="[object Object]"
+>
+ <icon-stub
+ name="angle-right"
+ size="16"
+ />
+</router-link-stub>
+`;
+
+exports[`Design management pagination button component renders router-link 1`] = `
+<router-link-stub
+ aria-label="Test title"
+ class="btn btn-default"
+ to="[object Object]"
+>
+ <icon-stub
+ name="angle-right"
+ size="16"
+ />
+</router-link-stub>
+`;
diff --git a/spec/frontend/design_management/components/toolbar/__snapshots__/pagination_spec.js.snap b/spec/frontend/design_management/components/toolbar/__snapshots__/pagination_spec.js.snap
new file mode 100644
index 00000000000..0197b4bff79
--- /dev/null
+++ b/spec/frontend/design_management/components/toolbar/__snapshots__/pagination_spec.js.snap
@@ -0,0 +1,29 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management pagination component hides components when designs are empty 1`] = `<!---->`;
+
+exports[`Design management pagination component renders pagination buttons 1`] = `
+<div
+ class="d-flex align-items-center"
+>
+
+ 0 of 2
+
+ <div
+ class="btn-group ml-3 mr-3"
+ >
+ <pagination-button-stub
+ class="js-previous-design"
+ iconname="angle-left"
+ title="Go to previous design"
+ />
+
+ <pagination-button-stub
+ class="js-next-design"
+ design="[object Object]"
+ iconname="angle-right"
+ title="Go to next design"
+ />
+ </div>
+</div>
+`;
diff --git a/spec/frontend/design_management/components/toolbar/index_spec.js b/spec/frontend/design_management/components/toolbar/index_spec.js
new file mode 100644
index 00000000000..2910b2f62ba
--- /dev/null
+++ b/spec/frontend/design_management/components/toolbar/index_spec.js
@@ -0,0 +1,123 @@
+import { createLocalVue, shallowMount } from '@vue/test-utils';
+import VueRouter from 'vue-router';
+import Toolbar from '~/design_management/components/toolbar/index.vue';
+import DeleteButton from '~/design_management/components/delete_button.vue';
+import { DESIGNS_ROUTE_NAME } from '~/design_management/router/constants';
+import { GlDeprecatedButton } from '@gitlab/ui';
+
+const localVue = createLocalVue();
+localVue.use(VueRouter);
+const router = new VueRouter();
+
+const RouterLinkStub = {
+ props: {
+ to: {
+ type: Object,
+ },
+ },
+ render(createElement) {
+ return createElement('a', {}, this.$slots.default);
+ },
+};
+
+describe('Design management toolbar component', () => {
+ let wrapper;
+
+ function createComponent(isLoading = false, createDesign = true, props) {
+ const updatedAt = new Date();
+ updatedAt.setHours(updatedAt.getHours() - 1);
+
+ wrapper = shallowMount(Toolbar, {
+ localVue,
+ router,
+ propsData: {
+ id: '1',
+ isLatestVersion: true,
+ isLoading,
+ isDeleting: false,
+ filename: 'test.jpg',
+ updatedAt: updatedAt.toString(),
+ updatedBy: {
+ name: 'Test Name',
+ },
+ image: '/-/designs/306/7f747adcd4693afadbe968d7ba7d983349b9012d',
+ ...props,
+ },
+ stubs: {
+ 'router-link': RouterLinkStub,
+ },
+ });
+
+ wrapper.setData({
+ permissions: {
+ createDesign,
+ },
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('renders design and updated data', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('links back to designs list', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ const link = wrapper.find('a');
+
+ expect(link.props('to')).toEqual({
+ name: DESIGNS_ROUTE_NAME,
+ query: {
+ version: undefined,
+ },
+ });
+ });
+ });
+
+ it('renders delete button on latest designs version with logged in user', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.find(DeleteButton).exists()).toBe(true);
+ });
+ });
+
+ it('does not render delete button on non-latest version', () => {
+ createComponent(false, true, { isLatestVersion: false });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.find(DeleteButton).exists()).toBe(false);
+ });
+ });
+
+ it('does not render delete button when user is not logged in', () => {
+ createComponent(false, false);
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.find(DeleteButton).exists()).toBe(false);
+ });
+ });
+
+ it('emits `delete` event on deleteButton `deleteSelectedDesigns` event', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ wrapper.find(DeleteButton).vm.$emit('deleteSelectedDesigns');
+ expect(wrapper.emitted().delete).toBeTruthy();
+ });
+ });
+
+ it('renders download button with correct link', () => {
+ expect(wrapper.find(GlDeprecatedButton).attributes('href')).toBe(
+ '/-/designs/306/7f747adcd4693afadbe968d7ba7d983349b9012d',
+ );
+ });
+});
diff --git a/spec/frontend/design_management/components/toolbar/pagination_button_spec.js b/spec/frontend/design_management/components/toolbar/pagination_button_spec.js
new file mode 100644
index 00000000000..b7df201795b
--- /dev/null
+++ b/spec/frontend/design_management/components/toolbar/pagination_button_spec.js
@@ -0,0 +1,61 @@
+import { createLocalVue, shallowMount } from '@vue/test-utils';
+import VueRouter from 'vue-router';
+import PaginationButton from '~/design_management/components/toolbar/pagination_button.vue';
+import { DESIGN_ROUTE_NAME } from '~/design_management/router/constants';
+
+const localVue = createLocalVue();
+localVue.use(VueRouter);
+const router = new VueRouter();
+
+describe('Design management pagination button component', () => {
+ let wrapper;
+
+ function createComponent(design = null) {
+ wrapper = shallowMount(PaginationButton, {
+ localVue,
+ router,
+ propsData: {
+ design,
+ title: 'Test title',
+ iconName: 'angle-right',
+ },
+ stubs: ['router-link'],
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('disables button when no design is passed', () => {
+ createComponent();
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders router-link', () => {
+ createComponent({ id: '2' });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ describe('designLink', () => {
+ it('returns empty link when design is null', () => {
+ createComponent();
+
+ expect(wrapper.vm.designLink).toEqual({});
+ });
+
+ it('returns design link', () => {
+ createComponent({ id: '2', filename: 'test' });
+
+ wrapper.vm.$router.replace('/root/test-project/issues/1/designs/test?version=1');
+
+ expect(wrapper.vm.designLink).toEqual({
+ name: DESIGN_ROUTE_NAME,
+ params: { id: 'test' },
+ query: { version: '1' },
+ });
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/toolbar/pagination_spec.js b/spec/frontend/design_management/components/toolbar/pagination_spec.js
new file mode 100644
index 00000000000..db5a36dadf6
--- /dev/null
+++ b/spec/frontend/design_management/components/toolbar/pagination_spec.js
@@ -0,0 +1,79 @@
+/* global Mousetrap */
+import 'mousetrap';
+import { shallowMount } from '@vue/test-utils';
+import Pagination from '~/design_management/components/toolbar/pagination.vue';
+import { DESIGN_ROUTE_NAME } from '~/design_management/router/constants';
+
+const push = jest.fn();
+const $router = {
+ push,
+};
+
+const $route = {
+ path: '/designs/design-2',
+ query: {},
+};
+
+describe('Design management pagination component', () => {
+ let wrapper;
+
+ function createComponent() {
+ wrapper = shallowMount(Pagination, {
+ propsData: {
+ id: '2',
+ },
+ mocks: {
+ $router,
+ $route,
+ },
+ });
+ }
+
+ beforeEach(() => {
+ createComponent();
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('hides components when designs are empty', () => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders pagination buttons', () => {
+ wrapper.setData({
+ designs: [{ id: '1' }, { id: '2' }],
+ });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ describe('keyboard buttons navigation', () => {
+ beforeEach(() => {
+ wrapper.setData({
+ designs: [{ filename: '1' }, { filename: '2' }, { filename: '3' }],
+ });
+ });
+
+ it('routes to previous design on Left button', () => {
+ Mousetrap.trigger('left');
+ expect(push).toHaveBeenCalledWith({
+ name: DESIGN_ROUTE_NAME,
+ params: { id: '1' },
+ query: {},
+ });
+ });
+
+ it('routes to next design on Right button', () => {
+ Mousetrap.trigger('right');
+ expect(push).toHaveBeenCalledWith({
+ name: DESIGN_ROUTE_NAME,
+ params: { id: '3' },
+ query: {},
+ });
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/upload/__snapshots__/button_spec.js.snap b/spec/frontend/design_management/components/upload/__snapshots__/button_spec.js.snap
new file mode 100644
index 00000000000..185bf4a48f7
--- /dev/null
+++ b/spec/frontend/design_management/components/upload/__snapshots__/button_spec.js.snap
@@ -0,0 +1,79 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management upload button component renders inverted upload design button 1`] = `
+<div
+ isinverted="true"
+>
+ <gl-deprecated-button-stub
+ size="md"
+ title="Adding a design with the same filename replaces the file in a new version."
+ variant="success"
+ >
+
+ Add designs
+
+ <!---->
+ </gl-deprecated-button-stub>
+
+ <input
+ accept="image/*"
+ class="hide"
+ multiple="multiple"
+ name="design_file"
+ type="file"
+ />
+</div>
+`;
+
+exports[`Design management upload button component renders loading icon 1`] = `
+<div>
+ <gl-deprecated-button-stub
+ disabled="true"
+ size="md"
+ title="Adding a design with the same filename replaces the file in a new version."
+ variant="success"
+ >
+
+ Add designs
+
+ <gl-loading-icon-stub
+ class="ml-1"
+ color="orange"
+ inline="true"
+ label="Loading"
+ size="sm"
+ />
+ </gl-deprecated-button-stub>
+
+ <input
+ accept="image/*"
+ class="hide"
+ multiple="multiple"
+ name="design_file"
+ type="file"
+ />
+</div>
+`;
+
+exports[`Design management upload button component renders upload design button 1`] = `
+<div>
+ <gl-deprecated-button-stub
+ size="md"
+ title="Adding a design with the same filename replaces the file in a new version."
+ variant="success"
+ >
+
+ Add designs
+
+ <!---->
+ </gl-deprecated-button-stub>
+
+ <input
+ accept="image/*"
+ class="hide"
+ multiple="multiple"
+ name="design_file"
+ type="file"
+ />
+</div>
+`;
diff --git a/spec/frontend/design_management/components/upload/__snapshots__/design_dropzone_spec.js.snap b/spec/frontend/design_management/components/upload/__snapshots__/design_dropzone_spec.js.snap
new file mode 100644
index 00000000000..0737b9729a2
--- /dev/null
+++ b/spec/frontend/design_management/components/upload/__snapshots__/design_dropzone_spec.js.snap
@@ -0,0 +1,455 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management dropzone component when dragging renders correct template when drag event contains files 1`] = `
+<div
+ class="w-100 position-relative"
+>
+ <button
+ class="card design-dropzone-card design-dropzone-border w-100 h-100 d-flex-center p-3"
+ >
+ <div
+ class="d-flex-center flex-column text-center"
+ >
+ <gl-icon-stub
+ class="mb-4"
+ name="doc-new"
+ size="48"
+ />
+
+ <p>
+ <gl-sprintf-stub
+ message="%{lineOneStart}Drag and drop to upload your designs%{lineOneEnd} or %{linkStart}click to upload%{linkEnd}."
+ />
+ </p>
+ </div>
+ </button>
+
+ <input
+ accept="image/*"
+ class="hide"
+ multiple="multiple"
+ name="design_file"
+ type="file"
+ />
+
+ <transition-stub
+ name="design-dropzone-fade"
+ >
+ <div
+ class="card design-dropzone-border design-dropzone-overlay w-100 h-100 position-absolute d-flex-center p-3 bg-white"
+ style=""
+ >
+ <div
+ class="mw-50 text-center"
+ style="display: none;"
+ >
+ <h3>
+ Oh no!
+ </h3>
+
+ <span>
+ You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.
+ </span>
+ </div>
+
+ <div
+ class="mw-50 text-center"
+ style=""
+ >
+ <h3>
+ Incoming!
+ </h3>
+
+ <span>
+ Drop your designs to start your upload.
+ </span>
+ </div>
+ </div>
+ </transition-stub>
+</div>
+`;
+
+exports[`Design management dropzone component when dragging renders correct template when drag event contains files and text 1`] = `
+<div
+ class="w-100 position-relative"
+>
+ <button
+ class="card design-dropzone-card design-dropzone-border w-100 h-100 d-flex-center p-3"
+ >
+ <div
+ class="d-flex-center flex-column text-center"
+ >
+ <gl-icon-stub
+ class="mb-4"
+ name="doc-new"
+ size="48"
+ />
+
+ <p>
+ <gl-sprintf-stub
+ message="%{lineOneStart}Drag and drop to upload your designs%{lineOneEnd} or %{linkStart}click to upload%{linkEnd}."
+ />
+ </p>
+ </div>
+ </button>
+
+ <input
+ accept="image/*"
+ class="hide"
+ multiple="multiple"
+ name="design_file"
+ type="file"
+ />
+
+ <transition-stub
+ name="design-dropzone-fade"
+ >
+ <div
+ class="card design-dropzone-border design-dropzone-overlay w-100 h-100 position-absolute d-flex-center p-3 bg-white"
+ style=""
+ >
+ <div
+ class="mw-50 text-center"
+ style="display: none;"
+ >
+ <h3>
+ Oh no!
+ </h3>
+
+ <span>
+ You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.
+ </span>
+ </div>
+
+ <div
+ class="mw-50 text-center"
+ style=""
+ >
+ <h3>
+ Incoming!
+ </h3>
+
+ <span>
+ Drop your designs to start your upload.
+ </span>
+ </div>
+ </div>
+ </transition-stub>
+</div>
+`;
+
+exports[`Design management dropzone component when dragging renders correct template when drag event contains text 1`] = `
+<div
+ class="w-100 position-relative"
+>
+ <button
+ class="card design-dropzone-card design-dropzone-border w-100 h-100 d-flex-center p-3"
+ >
+ <div
+ class="d-flex-center flex-column text-center"
+ >
+ <gl-icon-stub
+ class="mb-4"
+ name="doc-new"
+ size="48"
+ />
+
+ <p>
+ <gl-sprintf-stub
+ message="%{lineOneStart}Drag and drop to upload your designs%{lineOneEnd} or %{linkStart}click to upload%{linkEnd}."
+ />
+ </p>
+ </div>
+ </button>
+
+ <input
+ accept="image/*"
+ class="hide"
+ multiple="multiple"
+ name="design_file"
+ type="file"
+ />
+
+ <transition-stub
+ name="design-dropzone-fade"
+ >
+ <div
+ class="card design-dropzone-border design-dropzone-overlay w-100 h-100 position-absolute d-flex-center p-3 bg-white"
+ style=""
+ >
+ <div
+ class="mw-50 text-center"
+ >
+ <h3>
+ Oh no!
+ </h3>
+
+ <span>
+ You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.
+ </span>
+ </div>
+
+ <div
+ class="mw-50 text-center"
+ style="display: none;"
+ >
+ <h3>
+ Incoming!
+ </h3>
+
+ <span>
+ Drop your designs to start your upload.
+ </span>
+ </div>
+ </div>
+ </transition-stub>
+</div>
+`;
+
+exports[`Design management dropzone component when dragging renders correct template when drag event is empty 1`] = `
+<div
+ class="w-100 position-relative"
+>
+ <button
+ class="card design-dropzone-card design-dropzone-border w-100 h-100 d-flex-center p-3"
+ >
+ <div
+ class="d-flex-center flex-column text-center"
+ >
+ <gl-icon-stub
+ class="mb-4"
+ name="doc-new"
+ size="48"
+ />
+
+ <p>
+ <gl-sprintf-stub
+ message="%{lineOneStart}Drag and drop to upload your designs%{lineOneEnd} or %{linkStart}click to upload%{linkEnd}."
+ />
+ </p>
+ </div>
+ </button>
+
+ <input
+ accept="image/*"
+ class="hide"
+ multiple="multiple"
+ name="design_file"
+ type="file"
+ />
+
+ <transition-stub
+ name="design-dropzone-fade"
+ >
+ <div
+ class="card design-dropzone-border design-dropzone-overlay w-100 h-100 position-absolute d-flex-center p-3 bg-white"
+ style=""
+ >
+ <div
+ class="mw-50 text-center"
+ >
+ <h3>
+ Oh no!
+ </h3>
+
+ <span>
+ You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.
+ </span>
+ </div>
+
+ <div
+ class="mw-50 text-center"
+ style="display: none;"
+ >
+ <h3>
+ Incoming!
+ </h3>
+
+ <span>
+ Drop your designs to start your upload.
+ </span>
+ </div>
+ </div>
+ </transition-stub>
+</div>
+`;
+
+exports[`Design management dropzone component when dragging renders correct template when dragging stops 1`] = `
+<div
+ class="w-100 position-relative"
+>
+ <button
+ class="card design-dropzone-card design-dropzone-border w-100 h-100 d-flex-center p-3"
+ >
+ <div
+ class="d-flex-center flex-column text-center"
+ >
+ <gl-icon-stub
+ class="mb-4"
+ name="doc-new"
+ size="48"
+ />
+
+ <p>
+ <gl-sprintf-stub
+ message="%{lineOneStart}Drag and drop to upload your designs%{lineOneEnd} or %{linkStart}click to upload%{linkEnd}."
+ />
+ </p>
+ </div>
+ </button>
+
+ <input
+ accept="image/*"
+ class="hide"
+ multiple="multiple"
+ name="design_file"
+ type="file"
+ />
+
+ <transition-stub
+ name="design-dropzone-fade"
+ >
+ <div
+ class="card design-dropzone-border design-dropzone-overlay w-100 h-100 position-absolute d-flex-center p-3 bg-white"
+ style="display: none;"
+ >
+ <div
+ class="mw-50 text-center"
+ >
+ <h3>
+ Oh no!
+ </h3>
+
+ <span>
+ You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.
+ </span>
+ </div>
+
+ <div
+ class="mw-50 text-center"
+ style="display: none;"
+ >
+ <h3>
+ Incoming!
+ </h3>
+
+ <span>
+ Drop your designs to start your upload.
+ </span>
+ </div>
+ </div>
+ </transition-stub>
+</div>
+`;
+
+exports[`Design management dropzone component when no slot provided renders default dropzone card 1`] = `
+<div
+ class="w-100 position-relative"
+>
+ <button
+ class="card design-dropzone-card design-dropzone-border w-100 h-100 d-flex-center p-3"
+ >
+ <div
+ class="d-flex-center flex-column text-center"
+ >
+ <gl-icon-stub
+ class="mb-4"
+ name="doc-new"
+ size="48"
+ />
+
+ <p>
+ <gl-sprintf-stub
+ message="%{lineOneStart}Drag and drop to upload your designs%{lineOneEnd} or %{linkStart}click to upload%{linkEnd}."
+ />
+ </p>
+ </div>
+ </button>
+
+ <input
+ accept="image/*"
+ class="hide"
+ multiple="multiple"
+ name="design_file"
+ type="file"
+ />
+
+ <transition-stub
+ name="design-dropzone-fade"
+ >
+ <div
+ class="card design-dropzone-border design-dropzone-overlay w-100 h-100 position-absolute d-flex-center p-3 bg-white"
+ style="display: none;"
+ >
+ <div
+ class="mw-50 text-center"
+ >
+ <h3>
+ Oh no!
+ </h3>
+
+ <span>
+ You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.
+ </span>
+ </div>
+
+ <div
+ class="mw-50 text-center"
+ style="display: none;"
+ >
+ <h3>
+ Incoming!
+ </h3>
+
+ <span>
+ Drop your designs to start your upload.
+ </span>
+ </div>
+ </div>
+ </transition-stub>
+</div>
+`;
+
+exports[`Design management dropzone component when slot provided renders dropzone with slot content 1`] = `
+<div
+ class="w-100 position-relative"
+>
+ <div>
+ dropzone slot
+ </div>
+
+ <transition-stub
+ name="design-dropzone-fade"
+ >
+ <div
+ class="card design-dropzone-border design-dropzone-overlay w-100 h-100 position-absolute d-flex-center p-3 bg-white"
+ style="display: none;"
+ >
+ <div
+ class="mw-50 text-center"
+ >
+ <h3>
+ Oh no!
+ </h3>
+
+ <span>
+ You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.
+ </span>
+ </div>
+
+ <div
+ class="mw-50 text-center"
+ style="display: none;"
+ >
+ <h3>
+ Incoming!
+ </h3>
+
+ <span>
+ Drop your designs to start your upload.
+ </span>
+ </div>
+ </div>
+ </transition-stub>
+</div>
+`;
diff --git a/spec/frontend/design_management/components/upload/__snapshots__/design_version_dropdown_spec.js.snap b/spec/frontend/design_management/components/upload/__snapshots__/design_version_dropdown_spec.js.snap
new file mode 100644
index 00000000000..00f1a40dfb2
--- /dev/null
+++ b/spec/frontend/design_management/components/upload/__snapshots__/design_version_dropdown_spec.js.snap
@@ -0,0 +1,111 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management design version dropdown component renders design version dropdown button 1`] = `
+<gl-dropdown-stub
+ class="design-version-dropdown"
+ issueiid=""
+ projectpath=""
+ text="Showing Latest Version"
+ variant="link"
+>
+ <gl-dropdown-item-stub>
+ <router-link-stub
+ class="d-flex js-version-link"
+ to="[object Object]"
+ >
+ <div
+ class="flex-grow-1 ml-2"
+ >
+ <div>
+ <strong>
+ Version 2
+
+ <span>
+ (latest)
+ </span>
+ </strong>
+ </div>
+ </div>
+
+ <i
+ class="fa fa-check pull-right"
+ />
+ </router-link-stub>
+ </gl-dropdown-item-stub>
+ <gl-dropdown-item-stub>
+ <router-link-stub
+ class="d-flex js-version-link"
+ to="[object Object]"
+ >
+ <div
+ class="flex-grow-1 ml-2"
+ >
+ <div>
+ <strong>
+ Version 1
+
+ <!---->
+ </strong>
+ </div>
+ </div>
+
+ <!---->
+ </router-link-stub>
+ </gl-dropdown-item-stub>
+</gl-dropdown-stub>
+`;
+
+exports[`Design management design version dropdown component renders design version list 1`] = `
+<gl-dropdown-stub
+ class="design-version-dropdown"
+ issueiid=""
+ projectpath=""
+ text="Showing Latest Version"
+ variant="link"
+>
+ <gl-dropdown-item-stub>
+ <router-link-stub
+ class="d-flex js-version-link"
+ to="[object Object]"
+ >
+ <div
+ class="flex-grow-1 ml-2"
+ >
+ <div>
+ <strong>
+ Version 2
+
+ <span>
+ (latest)
+ </span>
+ </strong>
+ </div>
+ </div>
+
+ <i
+ class="fa fa-check pull-right"
+ />
+ </router-link-stub>
+ </gl-dropdown-item-stub>
+ <gl-dropdown-item-stub>
+ <router-link-stub
+ class="d-flex js-version-link"
+ to="[object Object]"
+ >
+ <div
+ class="flex-grow-1 ml-2"
+ >
+ <div>
+ <strong>
+ Version 1
+
+ <!---->
+ </strong>
+ </div>
+ </div>
+
+ <!---->
+ </router-link-stub>
+ </gl-dropdown-item-stub>
+</gl-dropdown-stub>
+`;
diff --git a/spec/frontend/design_management/components/upload/button_spec.js b/spec/frontend/design_management/components/upload/button_spec.js
new file mode 100644
index 00000000000..c0a9693dc37
--- /dev/null
+++ b/spec/frontend/design_management/components/upload/button_spec.js
@@ -0,0 +1,59 @@
+import { shallowMount } from '@vue/test-utils';
+import UploadButton from '~/design_management/components/upload/button.vue';
+
+describe('Design management upload button component', () => {
+ let wrapper;
+
+ function createComponent(isSaving = false, isInverted = false) {
+ wrapper = shallowMount(UploadButton, {
+ propsData: {
+ isSaving,
+ isInverted,
+ },
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('renders upload design button', () => {
+ createComponent();
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders inverted upload design button', () => {
+ createComponent(false, true);
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('renders loading icon', () => {
+ createComponent(true);
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ describe('onFileUploadChange', () => {
+ it('emits upload event', () => {
+ createComponent();
+
+ wrapper.vm.onFileUploadChange({ target: { files: 'test' } });
+
+ expect(wrapper.emitted().upload[0]).toEqual(['test']);
+ });
+ });
+
+ describe('openFileUpload', () => {
+ it('triggers click on input', () => {
+ createComponent();
+
+ const clickSpy = jest.spyOn(wrapper.find('input').element, 'click');
+
+ wrapper.vm.openFileUpload();
+
+ expect(clickSpy).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/upload/design_dropzone_spec.js b/spec/frontend/design_management/components/upload/design_dropzone_spec.js
new file mode 100644
index 00000000000..9b86b5b2878
--- /dev/null
+++ b/spec/frontend/design_management/components/upload/design_dropzone_spec.js
@@ -0,0 +1,132 @@
+import { shallowMount } from '@vue/test-utils';
+import DesignDropzone from '~/design_management/components/upload/design_dropzone.vue';
+import createFlash from '~/flash';
+
+jest.mock('~/flash');
+
+describe('Design management dropzone component', () => {
+ let wrapper;
+
+ const mockDragEvent = ({ types = ['Files'], files = [] }) => {
+ return { dataTransfer: { types, files } };
+ };
+
+ const findDropzoneCard = () => wrapper.find('.design-dropzone-card');
+
+ function createComponent({ slots = {}, data = {} } = {}) {
+ wrapper = shallowMount(DesignDropzone, {
+ slots,
+ data() {
+ return data;
+ },
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ describe('when slot provided', () => {
+ it('renders dropzone with slot content', () => {
+ createComponent({
+ slots: {
+ default: ['<div>dropzone slot</div>'],
+ },
+ });
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ describe('when no slot provided', () => {
+ it('renders default dropzone card', () => {
+ createComponent();
+
+ expect(wrapper.element).toMatchSnapshot();
+ });
+
+ it('triggers click event on file input element when clicked', () => {
+ createComponent();
+ const clickSpy = jest.spyOn(wrapper.find('input').element, 'click');
+
+ findDropzoneCard().trigger('click');
+ expect(clickSpy).toHaveBeenCalled();
+ });
+ });
+
+ describe('when dragging', () => {
+ it.each`
+ description | eventPayload
+ ${'is empty'} | ${{}}
+ ${'contains text'} | ${mockDragEvent({ types: ['text'] })}
+ ${'contains files and text'} | ${mockDragEvent({ types: ['Files', 'text'] })}
+ ${'contains files'} | ${mockDragEvent({ types: ['Files'] })}
+ `('renders correct template when drag event $description', ({ eventPayload }) => {
+ createComponent();
+
+ wrapper.trigger('dragenter', eventPayload);
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('renders correct template when dragging stops', () => {
+ createComponent();
+
+ wrapper.trigger('dragenter');
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ wrapper.trigger('dragleave');
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+ });
+
+ describe('when dropping', () => {
+ it('emits upload event', () => {
+ createComponent();
+ const mockFile = { name: 'test', type: 'image/jpg' };
+ const mockEvent = mockDragEvent({ files: [mockFile] });
+
+ wrapper.trigger('dragenter', mockEvent);
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ wrapper.trigger('drop', mockEvent);
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(wrapper.emitted().change[0]).toEqual([[mockFile]]);
+ });
+ });
+ });
+
+ describe('ondrop', () => {
+ const mockData = { dragCounter: 1, isDragDataValid: true };
+
+ describe('when drag data is valid', () => {
+ it('emits upload event for valid files', () => {
+ createComponent({ data: mockData });
+
+ const mockFile = { type: 'image/jpg' };
+ const mockEvent = mockDragEvent({ files: [mockFile] });
+
+ wrapper.vm.ondrop(mockEvent);
+ expect(wrapper.emitted().change[0]).toEqual([[mockFile]]);
+ });
+
+ it('calls createFlash when files are invalid', () => {
+ createComponent({ data: mockData });
+
+ const mockEvent = mockDragEvent({ files: [{ type: 'audio/midi' }] });
+
+ wrapper.vm.ondrop(mockEvent);
+ expect(createFlash).toHaveBeenCalledTimes(1);
+ });
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/upload/design_version_dropdown_spec.js b/spec/frontend/design_management/components/upload/design_version_dropdown_spec.js
new file mode 100644
index 00000000000..7521b9fad2a
--- /dev/null
+++ b/spec/frontend/design_management/components/upload/design_version_dropdown_spec.js
@@ -0,0 +1,114 @@
+import { shallowMount } from '@vue/test-utils';
+import DesignVersionDropdown from '~/design_management/components/upload/design_version_dropdown.vue';
+import { GlDropdown, GlDropdownItem } from '@gitlab/ui';
+import mockAllVersions from './mock_data/all_versions';
+
+const LATEST_VERSION_ID = 3;
+const PREVIOUS_VERSION_ID = 2;
+
+const designRouteFactory = versionId => ({
+ path: `/designs?version=${versionId}`,
+ query: {
+ version: `${versionId}`,
+ },
+});
+
+const MOCK_ROUTE = {
+ path: '/designs',
+ query: {},
+};
+
+describe('Design management design version dropdown component', () => {
+ let wrapper;
+
+ function createComponent({ maxVersions = -1, $route = MOCK_ROUTE } = {}) {
+ wrapper = shallowMount(DesignVersionDropdown, {
+ propsData: {
+ projectPath: '',
+ issueIid: '',
+ },
+ mocks: {
+ $route,
+ },
+ stubs: ['router-link'],
+ });
+
+ wrapper.setData({
+ allVersions: maxVersions > -1 ? mockAllVersions.slice(0, maxVersions) : mockAllVersions,
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ const findVersionLink = index => wrapper.findAll('.js-version-link').at(index);
+
+ it('renders design version dropdown button', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('renders design version list', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ describe('selected version name', () => {
+ it('has "latest" on most recent version item', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findVersionLink(0).text()).toContain('latest');
+ });
+ });
+ });
+
+ describe('versions list', () => {
+ it('displays latest version text by default', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.find(GlDropdown).attributes('text')).toBe('Showing Latest Version');
+ });
+ });
+
+ it('displays latest version text when only 1 version is present', () => {
+ createComponent({ maxVersions: 1 });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.find(GlDropdown).attributes('text')).toBe('Showing Latest Version');
+ });
+ });
+
+ it('displays version text when the current version is not the latest', () => {
+ createComponent({ $route: designRouteFactory(PREVIOUS_VERSION_ID) });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.find(GlDropdown).attributes('text')).toBe(`Showing Version #1`);
+ });
+ });
+
+ it('displays latest version text when the current version is the latest', () => {
+ createComponent({ $route: designRouteFactory(LATEST_VERSION_ID) });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.find(GlDropdown).attributes('text')).toBe('Showing Latest Version');
+ });
+ });
+
+ it('should have the same length as apollo query', () => {
+ createComponent();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.findAll(GlDropdownItem)).toHaveLength(wrapper.vm.allVersions.length);
+ });
+ });
+ });
+});
diff --git a/spec/frontend/design_management/components/upload/mock_data/all_versions.js b/spec/frontend/design_management/components/upload/mock_data/all_versions.js
new file mode 100644
index 00000000000..e76bbd261bd
--- /dev/null
+++ b/spec/frontend/design_management/components/upload/mock_data/all_versions.js
@@ -0,0 +1,14 @@
+export default [
+ {
+ node: {
+ id: 'gid://gitlab/DesignManagement::Version/3',
+ sha: '0945756378e0b1588b9dd40d5a6b99e8b7198f55',
+ },
+ },
+ {
+ node: {
+ id: 'gid://gitlab/DesignManagement::Version/2',
+ sha: '5b063fef0cd7213b312db65b30e24f057df21b20',
+ },
+ },
+];
diff --git a/spec/frontend/design_management/mock_data/all_versions.js b/spec/frontend/design_management/mock_data/all_versions.js
new file mode 100644
index 00000000000..c389fdb8747
--- /dev/null
+++ b/spec/frontend/design_management/mock_data/all_versions.js
@@ -0,0 +1,8 @@
+export default [
+ {
+ node: {
+ id: 'gid://gitlab/DesignManagement::Version/1',
+ sha: 'b389071a06c153509e11da1f582005b316667001',
+ },
+ },
+];
diff --git a/spec/frontend/design_management/mock_data/design.js b/spec/frontend/design_management/mock_data/design.js
new file mode 100644
index 00000000000..444e44f289f
--- /dev/null
+++ b/spec/frontend/design_management/mock_data/design.js
@@ -0,0 +1,56 @@
+export default {
+ id: 'design-id',
+ filename: 'test.jpg',
+ fullPath: 'full-design-path',
+ image: 'test.jpg',
+ updatedAt: '01-01-2019',
+ updatedBy: {
+ name: 'test',
+ },
+ issue: {
+ title: 'My precious issue',
+ webPath: 'full-issue-path',
+ webUrl: 'full-issue-url',
+ participants: {
+ edges: [
+ {
+ node: {
+ name: 'Administrator',
+ username: 'root',
+ webUrl: 'link-to-author',
+ avatarUrl: 'link-to-avatar',
+ },
+ },
+ ],
+ },
+ },
+ discussions: {
+ nodes: [
+ {
+ id: 'discussion-id',
+ replyId: 'discussion-reply-id',
+ notes: {
+ edges: [
+ {
+ node: {
+ id: 'note-id',
+ body: '123',
+ author: {
+ name: 'Administrator',
+ username: 'root',
+ webUrl: 'link-to-author',
+ avatarUrl: 'link-to-avatar',
+ },
+ },
+ },
+ ],
+ },
+ },
+ ],
+ },
+ diffRefs: {
+ headSha: 'headSha',
+ baseSha: 'baseSha',
+ startSha: 'startSha',
+ },
+};
diff --git a/spec/frontend/design_management/mock_data/designs.js b/spec/frontend/design_management/mock_data/designs.js
new file mode 100644
index 00000000000..07f5c1b7457
--- /dev/null
+++ b/spec/frontend/design_management/mock_data/designs.js
@@ -0,0 +1,17 @@
+import design from './design';
+
+export default {
+ project: {
+ issue: {
+ designCollection: {
+ designs: {
+ edges: [
+ {
+ node: design,
+ },
+ ],
+ },
+ },
+ },
+ },
+};
diff --git a/spec/frontend/design_management/mock_data/no_designs.js b/spec/frontend/design_management/mock_data/no_designs.js
new file mode 100644
index 00000000000..9db0ffcade2
--- /dev/null
+++ b/spec/frontend/design_management/mock_data/no_designs.js
@@ -0,0 +1,11 @@
+export default {
+ project: {
+ issue: {
+ designCollection: {
+ designs: {
+ edges: [],
+ },
+ },
+ },
+ },
+};
diff --git a/spec/frontend/design_management/mock_data/notes.js b/spec/frontend/design_management/mock_data/notes.js
new file mode 100644
index 00000000000..db4624c8524
--- /dev/null
+++ b/spec/frontend/design_management/mock_data/notes.js
@@ -0,0 +1,32 @@
+export default [
+ {
+ id: 'note-id-1',
+ position: {
+ height: 100,
+ width: 100,
+ x: 10,
+ y: 15,
+ },
+ userPermissions: {
+ adminNote: true,
+ },
+ discussion: {
+ id: 'discussion-id-1',
+ },
+ },
+ {
+ id: 'note-id-2',
+ position: {
+ height: 50,
+ width: 50,
+ x: 25,
+ y: 25,
+ },
+ userPermissions: {
+ adminNote: true,
+ },
+ discussion: {
+ id: 'discussion-id-2',
+ },
+ },
+];
diff --git a/spec/frontend/design_management/pages/__snapshots__/index_spec.js.snap b/spec/frontend/design_management/pages/__snapshots__/index_spec.js.snap
new file mode 100644
index 00000000000..3ba63fd14f0
--- /dev/null
+++ b/spec/frontend/design_management/pages/__snapshots__/index_spec.js.snap
@@ -0,0 +1,263 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management index page designs does not render toolbar when there is no permission 1`] = `
+<div>
+ <!---->
+
+ <div
+ class="mt-4"
+ >
+ <ol
+ class="list-unstyled row"
+ >
+ <li
+ class="col-md-6 col-lg-4 mb-3"
+ >
+ <design-dropzone-stub
+ class="design-list-item"
+ />
+ </li>
+
+ <li
+ class="col-md-6 col-lg-4 mb-3"
+ >
+ <design-dropzone-stub>
+ <design-stub
+ event="NONE"
+ filename="design-1-name"
+ id="design-1"
+ image="design-1-image"
+ notescount="0"
+ />
+ </design-dropzone-stub>
+
+ <!---->
+ </li>
+ <li
+ class="col-md-6 col-lg-4 mb-3"
+ >
+ <design-dropzone-stub>
+ <design-stub
+ event="NONE"
+ filename="design-2-name"
+ id="design-2"
+ image="design-2-image"
+ notescount="1"
+ />
+ </design-dropzone-stub>
+
+ <!---->
+ </li>
+ <li
+ class="col-md-6 col-lg-4 mb-3"
+ >
+ <design-dropzone-stub>
+ <design-stub
+ event="NONE"
+ filename="design-3-name"
+ id="design-3"
+ image="design-3-image"
+ notescount="0"
+ />
+ </design-dropzone-stub>
+
+ <!---->
+ </li>
+ </ol>
+ </div>
+
+ <router-view-stub
+ name="default"
+ />
+</div>
+`;
+
+exports[`Design management index page designs renders designs list and header with upload button 1`] = `
+<div>
+ <header
+ class="row-content-block border-top-0 p-2 d-flex"
+ >
+ <div
+ class="d-flex justify-content-between align-items-center w-100"
+ >
+ <design-version-dropdown-stub />
+
+ <div
+ class="qa-selector-toolbar d-flex"
+ >
+ <gl-deprecated-button-stub
+ class="mr-2 js-select-all"
+ size="md"
+ variant="link"
+ >
+ Select all
+ </gl-deprecated-button-stub>
+
+ <div>
+ <delete-button-stub
+ buttonclass="btn-danger btn-inverted mr-2"
+ buttonvariant=""
+ >
+
+ Delete selected
+
+ <!---->
+ </delete-button-stub>
+ </div>
+
+ <upload-button-stub />
+ </div>
+ </div>
+ </header>
+
+ <div
+ class="mt-4"
+ >
+ <ol
+ class="list-unstyled row"
+ >
+ <li
+ class="col-md-6 col-lg-4 mb-3"
+ >
+ <design-dropzone-stub
+ class="design-list-item"
+ />
+ </li>
+
+ <li
+ class="col-md-6 col-lg-4 mb-3"
+ >
+ <design-dropzone-stub>
+ <design-stub
+ event="NONE"
+ filename="design-1-name"
+ id="design-1"
+ image="design-1-image"
+ notescount="0"
+ />
+ </design-dropzone-stub>
+
+ <input
+ class="design-checkbox"
+ type="checkbox"
+ />
+ </li>
+ <li
+ class="col-md-6 col-lg-4 mb-3"
+ >
+ <design-dropzone-stub>
+ <design-stub
+ event="NONE"
+ filename="design-2-name"
+ id="design-2"
+ image="design-2-image"
+ notescount="1"
+ />
+ </design-dropzone-stub>
+
+ <input
+ class="design-checkbox"
+ type="checkbox"
+ />
+ </li>
+ <li
+ class="col-md-6 col-lg-4 mb-3"
+ >
+ <design-dropzone-stub>
+ <design-stub
+ event="NONE"
+ filename="design-3-name"
+ id="design-3"
+ image="design-3-image"
+ notescount="0"
+ />
+ </design-dropzone-stub>
+
+ <input
+ class="design-checkbox"
+ type="checkbox"
+ />
+ </li>
+ </ol>
+ </div>
+
+ <router-view-stub
+ name="default"
+ />
+</div>
+`;
+
+exports[`Design management index page designs renders error 1`] = `
+<div>
+ <!---->
+
+ <div
+ class="mt-4"
+ >
+ <gl-alert-stub
+ dismisslabel="Dismiss"
+ primarybuttonlink=""
+ primarybuttontext=""
+ secondarybuttonlink=""
+ secondarybuttontext=""
+ title=""
+ variant="danger"
+ >
+
+ An error occurred while loading designs. Please try again.
+
+ </gl-alert-stub>
+ </div>
+
+ <router-view-stub
+ name="default"
+ />
+</div>
+`;
+
+exports[`Design management index page designs renders loading icon 1`] = `
+<div>
+ <!---->
+
+ <div
+ class="mt-4"
+ >
+ <gl-loading-icon-stub
+ color="orange"
+ label="Loading"
+ size="md"
+ />
+ </div>
+
+ <router-view-stub
+ name="default"
+ />
+</div>
+`;
+
+exports[`Design management index page when has no designs renders empty text 1`] = `
+<div>
+ <!---->
+
+ <div
+ class="mt-4"
+ >
+ <ol
+ class="list-unstyled row"
+ >
+ <li
+ class="col-md-6 col-lg-4 mb-3"
+ >
+ <design-dropzone-stub
+ class="design-list-item"
+ />
+ </li>
+
+ </ol>
+ </div>
+
+ <router-view-stub
+ name="default"
+ />
+</div>
+`;
diff --git a/spec/frontend/design_management/pages/design/__snapshots__/index_spec.js.snap b/spec/frontend/design_management/pages/design/__snapshots__/index_spec.js.snap
new file mode 100644
index 00000000000..3f559590e94
--- /dev/null
+++ b/spec/frontend/design_management/pages/design/__snapshots__/index_spec.js.snap
@@ -0,0 +1,161 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Design management design index page renders design index 1`] = `
+<div
+ class="design-detail js-design-detail fixed-top w-100 position-bottom-0 d-flex justify-content-center flex-column flex-lg-row"
+>
+ <div
+ class="d-flex overflow-hidden flex-grow-1 flex-column position-relative"
+ >
+ <design-destroyer-stub
+ filenames="test.jpg"
+ iid="1"
+ projectpath=""
+ />
+
+ <!---->
+
+ <design-presentation-stub
+ discussions="[object Object]"
+ image="test.jpg"
+ imagename="test.jpg"
+ scale="1"
+ />
+
+ <div
+ class="design-scaler-wrapper position-absolute mb-4 d-flex-center"
+ >
+ <design-scaler-stub />
+ </div>
+ </div>
+
+ <div
+ class="image-notes"
+ >
+ <h2
+ class="gl-font-size-20-deprecated-no-really-do-not-use-me font-weight-bold mt-0"
+ >
+
+ My precious issue
+
+ </h2>
+
+ <a
+ class="text-tertiary text-decoration-none mb-3 d-block"
+ href="full-issue-url"
+ >
+ ull-issue-path
+ </a>
+
+ <participants-stub
+ class="mb-4"
+ numberoflessparticipants="7"
+ participants="[object Object]"
+ />
+
+ <design-discussion-stub
+ designid="1"
+ discussion="[object Object]"
+ discussionindex="1"
+ markdownpreviewpath="//preview_markdown?target_type=Issue"
+ noteableid="design-id"
+ />
+
+ <!---->
+ </div>
+</div>
+`;
+
+exports[`Design management design index page sets loading state 1`] = `
+<div
+ class="design-detail js-design-detail fixed-top w-100 position-bottom-0 d-flex justify-content-center flex-column flex-lg-row"
+>
+ <gl-loading-icon-stub
+ class="align-self-center"
+ color="orange"
+ label="Loading"
+ size="xl"
+ />
+</div>
+`;
+
+exports[`Design management design index page with error GlAlert is rendered in correct position with correct content 1`] = `
+<div
+ class="design-detail js-design-detail fixed-top w-100 position-bottom-0 d-flex justify-content-center flex-column flex-lg-row"
+>
+ <div
+ class="d-flex overflow-hidden flex-grow-1 flex-column position-relative"
+ >
+ <design-destroyer-stub
+ filenames="test.jpg"
+ iid="1"
+ projectpath=""
+ />
+
+ <div
+ class="p-3"
+ >
+ <gl-alert-stub
+ dismissible="true"
+ dismisslabel="Dismiss"
+ primarybuttonlink=""
+ primarybuttontext=""
+ secondarybuttonlink=""
+ secondarybuttontext=""
+ title=""
+ variant="danger"
+ >
+
+ woops
+
+ </gl-alert-stub>
+ </div>
+
+ <design-presentation-stub
+ discussions=""
+ image="test.jpg"
+ imagename="test.jpg"
+ scale="1"
+ />
+
+ <div
+ class="design-scaler-wrapper position-absolute mb-4 d-flex-center"
+ >
+ <design-scaler-stub />
+ </div>
+ </div>
+
+ <div
+ class="image-notes"
+ >
+ <h2
+ class="gl-font-size-20-deprecated-no-really-do-not-use-me font-weight-bold mt-0"
+ >
+
+ My precious issue
+
+ </h2>
+
+ <a
+ class="text-tertiary text-decoration-none mb-3 d-block"
+ href="full-issue-url"
+ >
+ ull-issue-path
+ </a>
+
+ <participants-stub
+ class="mb-4"
+ numberoflessparticipants="7"
+ participants="[object Object]"
+ />
+
+ <h2
+ class="new-discussion-disclaimer gl-font-base m-0"
+ >
+
+ Click the image where you'd like to start a new discussion
+
+ </h2>
+ </div>
+</div>
+`;
diff --git a/spec/frontend/design_management/pages/design/index_spec.js b/spec/frontend/design_management/pages/design/index_spec.js
new file mode 100644
index 00000000000..e272c1d3374
--- /dev/null
+++ b/spec/frontend/design_management/pages/design/index_spec.js
@@ -0,0 +1,298 @@
+import { shallowMount } from '@vue/test-utils';
+import { GlAlert } from '@gitlab/ui';
+import { ApolloMutation } from 'vue-apollo';
+import createFlash from '~/flash';
+import DesignIndex from '~/design_management/pages/design/index.vue';
+import DesignDiscussion from '~/design_management/components/design_notes/design_discussion.vue';
+import DesignReplyForm from '~/design_management/components/design_notes/design_reply_form.vue';
+import Participants from '~/sidebar/components/participants/participants.vue';
+import createImageDiffNoteMutation from '~/design_management/graphql/mutations/createImageDiffNote.mutation.graphql';
+import design from '../../mock_data/design';
+import mockResponseWithDesigns from '../../mock_data/designs';
+import mockResponseNoDesigns from '../../mock_data/no_designs';
+import mockAllVersions from '../../mock_data/all_versions';
+import {
+ DESIGN_NOT_FOUND_ERROR,
+ DESIGN_VERSION_NOT_EXIST_ERROR,
+} from '~/design_management/utils/error_messages';
+import { DESIGNS_ROUTE_NAME } from '~/design_management/router/constants';
+
+jest.mock('~/flash');
+jest.mock('mousetrap', () => ({
+ bind: jest.fn(),
+ unbind: jest.fn(),
+}));
+
+describe('Design management design index page', () => {
+ let wrapper;
+ const newComment = 'new comment';
+ const annotationCoordinates = {
+ x: 10,
+ y: 10,
+ width: 100,
+ height: 100,
+ };
+ const mutationVariables = {
+ mutation: createImageDiffNoteMutation,
+ update: expect.anything(),
+ variables: {
+ input: {
+ body: newComment,
+ noteableId: design.id,
+ position: {
+ headSha: 'headSha',
+ baseSha: 'baseSha',
+ startSha: 'startSha',
+ paths: {
+ newPath: 'full-design-path',
+ },
+ ...annotationCoordinates,
+ },
+ },
+ },
+ };
+ const mutate = jest.fn().mockResolvedValue();
+ const routerPush = jest.fn();
+
+ const findDiscussions = () => wrapper.findAll(DesignDiscussion);
+ const findDiscussionForm = () => wrapper.find(DesignReplyForm);
+ const findParticipants = () => wrapper.find(Participants);
+
+ function createComponent(loading = false, { routeQuery = {} } = {}) {
+ const $apollo = {
+ queries: {
+ design: {
+ loading,
+ },
+ },
+ mutate,
+ };
+
+ const $router = {
+ push: routerPush,
+ };
+
+ const $route = {
+ query: routeQuery,
+ };
+
+ wrapper = shallowMount(DesignIndex, {
+ propsData: { id: '1' },
+ mocks: { $apollo, $router, $route },
+ stubs: {
+ ApolloMutation,
+ },
+ });
+
+ wrapper.setData({
+ issueIid: '1',
+ });
+ }
+
+ function setDesign() {
+ createComponent(true);
+ wrapper.vm.$apollo.queries.design.loading = false;
+ }
+
+ function setDesignData() {
+ wrapper.setData({
+ design,
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('sets loading state', () => {
+ createComponent(true);
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('renders design index', () => {
+ setDesign();
+ setDesignData();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ expect(wrapper.find(GlAlert).exists()).toBe(false);
+ });
+ });
+
+ it('renders participants', () => {
+ setDesign();
+ setDesignData();
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findParticipants().exists()).toBe(true);
+ });
+ });
+
+ it('passes the correct amount of participants to the Participants component', () => {
+ expect(findParticipants().props('participants')).toHaveLength(1);
+ });
+
+ describe('when has no discussions', () => {
+ beforeEach(() => {
+ setDesign();
+
+ wrapper.setData({
+ design: {
+ ...design,
+ discussions: {
+ nodes: [],
+ },
+ },
+ });
+ });
+
+ it('does not render discussions', () => {
+ expect(findDiscussions().exists()).toBe(false);
+ });
+
+ it('renders a message about possibility to create a new discussion', () => {
+ expect(wrapper.find('.new-discussion-disclaimer').exists()).toBe(true);
+ });
+ });
+
+ describe('when has discussions', () => {
+ beforeEach(() => {
+ setDesign();
+ setDesignData();
+ });
+
+ it('renders correct amount of discussions', () => {
+ expect(findDiscussions()).toHaveLength(1);
+ });
+ });
+
+ it('opens a new discussion form', () => {
+ setDesign();
+
+ wrapper.setData({
+ design: {
+ ...design,
+ discussions: {
+ nodes: [],
+ },
+ },
+ });
+
+ wrapper.vm.openCommentForm({ x: 0, y: 0 });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findDiscussionForm().exists()).toBe(true);
+ });
+ });
+
+ it('sends a mutation on submitting form and closes form', () => {
+ setDesign();
+
+ wrapper.setData({
+ design: {
+ ...design,
+ discussions: {
+ nodes: [],
+ },
+ },
+ annotationCoordinates,
+ comment: newComment,
+ });
+
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ findDiscussionForm().vm.$emit('submitForm');
+
+ expect(mutate).toHaveBeenCalledWith(mutationVariables);
+ return mutate({ variables: mutationVariables });
+ })
+ .then(() => {
+ expect(findDiscussionForm().exists()).toBe(false);
+ });
+ });
+
+ it('closes the form and clears the comment on canceling form', () => {
+ setDesign();
+
+ wrapper.setData({
+ design: {
+ ...design,
+ discussions: {
+ nodes: [],
+ },
+ },
+ annotationCoordinates,
+ comment: newComment,
+ });
+
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ findDiscussionForm().vm.$emit('cancelForm');
+
+ expect(wrapper.vm.comment).toBe('');
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(findDiscussionForm().exists()).toBe(false);
+ });
+ });
+
+ describe('with error', () => {
+ beforeEach(() => {
+ setDesign();
+
+ wrapper.setData({
+ design: {
+ ...design,
+ discussions: {
+ nodes: [],
+ },
+ },
+ errorMessage: 'woops',
+ });
+ });
+
+ it('GlAlert is rendered in correct position with correct content', () => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ describe('onDesignQueryResult', () => {
+ describe('with no designs', () => {
+ it('redirects to /designs', () => {
+ createComponent(true);
+
+ wrapper.vm.onDesignQueryResult({ data: mockResponseNoDesigns, loading: false });
+ return wrapper.vm.$nextTick().then(() => {
+ expect(createFlash).toHaveBeenCalledTimes(1);
+ expect(createFlash).toHaveBeenCalledWith(DESIGN_NOT_FOUND_ERROR);
+ expect(routerPush).toHaveBeenCalledTimes(1);
+ expect(routerPush).toHaveBeenCalledWith({ name: DESIGNS_ROUTE_NAME });
+ });
+ });
+ });
+
+ describe('when no design exists for given version', () => {
+ it('redirects to /designs', () => {
+ // attempt to query for a version of the design that doesn't exist
+ createComponent(true, { routeQuery: { version: '999' } });
+ wrapper.setData({
+ allVersions: mockAllVersions,
+ });
+
+ wrapper.vm.onDesignQueryResult({ data: mockResponseWithDesigns, loading: false });
+ return wrapper.vm.$nextTick().then(() => {
+ expect(createFlash).toHaveBeenCalledTimes(1);
+ expect(createFlash).toHaveBeenCalledWith(DESIGN_VERSION_NOT_EXIST_ERROR);
+ expect(routerPush).toHaveBeenCalledTimes(1);
+ expect(routerPush).toHaveBeenCalledWith({ name: DESIGNS_ROUTE_NAME });
+ });
+ });
+ });
+ });
+});
diff --git a/spec/frontend/design_management/pages/index_spec.js b/spec/frontend/design_management/pages/index_spec.js
new file mode 100644
index 00000000000..2299b858da9
--- /dev/null
+++ b/spec/frontend/design_management/pages/index_spec.js
@@ -0,0 +1,533 @@
+import { createLocalVue, shallowMount } from '@vue/test-utils';
+import { ApolloMutation } from 'vue-apollo';
+import VueRouter from 'vue-router';
+import { GlEmptyState } from '@gitlab/ui';
+
+import Index from '~/design_management/pages/index.vue';
+import uploadDesignQuery from '~/design_management/graphql/mutations/uploadDesign.mutation.graphql';
+import DesignDestroyer from '~/design_management/components/design_destroyer.vue';
+import DesignDropzone from '~/design_management/components/upload/design_dropzone.vue';
+import DeleteButton from '~/design_management/components/delete_button.vue';
+import { DESIGNS_ROUTE_NAME } from '~/design_management/router/constants';
+import {
+ EXISTING_DESIGN_DROP_MANY_FILES_MESSAGE,
+ EXISTING_DESIGN_DROP_INVALID_FILENAME_MESSAGE,
+} from '~/design_management/utils/error_messages';
+import createFlash from '~/flash';
+
+const localVue = createLocalVue();
+localVue.use(VueRouter);
+const router = new VueRouter({
+ routes: [
+ {
+ name: DESIGNS_ROUTE_NAME,
+ path: '/designs',
+ component: Index,
+ },
+ ],
+});
+
+jest.mock('~/flash.js');
+
+const mockDesigns = [
+ {
+ id: 'design-1',
+ image: 'design-1-image',
+ filename: 'design-1-name',
+ event: 'NONE',
+ notesCount: 0,
+ },
+ {
+ id: 'design-2',
+ image: 'design-2-image',
+ filename: 'design-2-name',
+ event: 'NONE',
+ notesCount: 1,
+ },
+ {
+ id: 'design-3',
+ image: 'design-3-image',
+ filename: 'design-3-name',
+ event: 'NONE',
+ notesCount: 0,
+ },
+];
+
+const mockVersion = {
+ node: {
+ id: 'gid://gitlab/DesignManagement::Version/1',
+ },
+};
+
+describe('Design management index page', () => {
+ let mutate;
+ let wrapper;
+
+ const findDesignCheckboxes = () => wrapper.findAll('.design-checkbox');
+ const findSelectAllButton = () => wrapper.find('.js-select-all');
+ const findToolbar = () => wrapper.find('.qa-selector-toolbar');
+ const findDeleteButton = () => wrapper.find(DeleteButton);
+ const findDropzone = () => wrapper.findAll(DesignDropzone).at(0);
+ const findFirstDropzoneWithDesign = () => wrapper.findAll(DesignDropzone).at(1);
+
+ function createComponent({
+ loading = false,
+ designs = [],
+ allVersions = [],
+ createDesign = true,
+ stubs = {},
+ mockMutate = jest.fn().mockResolvedValue(),
+ } = {}) {
+ mutate = mockMutate;
+ const $apollo = {
+ queries: {
+ designs: {
+ loading,
+ },
+ permissions: {
+ loading,
+ },
+ },
+ mutate,
+ };
+
+ wrapper = shallowMount(Index, {
+ mocks: { $apollo },
+ localVue,
+ router,
+ stubs: { DesignDestroyer, ApolloMutation, ...stubs },
+ attachToDocument: true,
+ });
+
+ wrapper.setData({
+ designs,
+ allVersions,
+ issueIid: '1',
+ permissions: {
+ createDesign,
+ },
+ });
+ }
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ describe('designs', () => {
+ it('renders loading icon', () => {
+ createComponent({ loading: true });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('renders error', () => {
+ createComponent();
+
+ wrapper.setData({ error: true });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('renders a toolbar with buttons when there are designs', () => {
+ createComponent({ designs: mockDesigns, allVersions: [mockVersion] });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findToolbar().exists()).toBe(true);
+ });
+ });
+
+ it('renders designs list and header with upload button', () => {
+ createComponent({ designs: mockDesigns, allVersions: [mockVersion] });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+
+ it('does not render toolbar when there is no permission', () => {
+ createComponent({ designs: mockDesigns, allVersions: [mockVersion], createDesign: false });
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+ });
+ });
+
+ describe('when has no designs', () => {
+ beforeEach(() => {
+ createComponent();
+ });
+
+ it('renders empty text', () =>
+ wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ }));
+
+ it('does not render a toolbar with buttons', () =>
+ wrapper.vm.$nextTick().then(() => {
+ expect(findToolbar().exists()).toBe(false);
+ }));
+ });
+
+ describe('uploading designs', () => {
+ it('calls mutation on upload', () => {
+ createComponent({ stubs: { GlEmptyState } });
+
+ const mutationVariables = {
+ update: expect.anything(),
+ context: {
+ hasUpload: true,
+ },
+ mutation: uploadDesignQuery,
+ variables: {
+ files: [{ name: 'test' }],
+ projectPath: '',
+ iid: '1',
+ },
+ optimisticResponse: {
+ __typename: 'Mutation',
+ designManagementUpload: {
+ __typename: 'DesignManagementUploadPayload',
+ designs: [
+ {
+ __typename: 'Design',
+ id: expect.anything(),
+ image: '',
+ imageV432x230: '',
+ filename: 'test',
+ fullPath: '',
+ event: 'NONE',
+ notesCount: 0,
+ diffRefs: {
+ __typename: 'DiffRefs',
+ baseSha: '',
+ startSha: '',
+ headSha: '',
+ },
+ discussions: {
+ __typename: 'DesignDiscussion',
+ nodes: [],
+ },
+ versions: {
+ __typename: 'DesignVersionConnection',
+ edges: {
+ __typename: 'DesignVersionEdge',
+ node: {
+ __typename: 'DesignVersion',
+ id: expect.anything(),
+ sha: expect.anything(),
+ },
+ },
+ },
+ },
+ ],
+ skippedDesigns: [],
+ errors: [],
+ },
+ },
+ };
+
+ return wrapper.vm.$nextTick().then(() => {
+ findDropzone().vm.$emit('change', [{ name: 'test' }]);
+ expect(mutate).toHaveBeenCalledWith(mutationVariables);
+ expect(wrapper.vm.filesToBeSaved).toEqual([{ name: 'test' }]);
+ expect(wrapper.vm.isSaving).toBeTruthy();
+ });
+ });
+
+ it('sets isSaving', () => {
+ createComponent();
+
+ const uploadDesign = wrapper.vm.onUploadDesign([
+ {
+ name: 'test',
+ },
+ ]);
+
+ expect(wrapper.vm.isSaving).toBe(true);
+
+ return uploadDesign.then(() => {
+ expect(wrapper.vm.isSaving).toBe(false);
+ });
+ });
+
+ it('updates state appropriately after upload complete', () => {
+ createComponent({ stubs: { GlEmptyState } });
+ wrapper.setData({ filesToBeSaved: [{ name: 'test' }] });
+
+ wrapper.vm.onUploadDesignDone();
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.vm.filesToBeSaved).toEqual([]);
+ expect(wrapper.vm.isSaving).toBeFalsy();
+ expect(wrapper.vm.isLatestVersion).toBe(true);
+ });
+ });
+
+ it('updates state appropriately after upload error', () => {
+ createComponent({ stubs: { GlEmptyState } });
+ wrapper.setData({ filesToBeSaved: [{ name: 'test' }] });
+
+ wrapper.vm.onUploadDesignError();
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.vm.filesToBeSaved).toEqual([]);
+ expect(wrapper.vm.isSaving).toBeFalsy();
+ expect(createFlash).toHaveBeenCalled();
+
+ createFlash.mockReset();
+ });
+ });
+
+ it('does not call mutation if createDesign is false', () => {
+ createComponent({ createDesign: false });
+
+ wrapper.vm.onUploadDesign([]);
+
+ expect(mutate).not.toHaveBeenCalled();
+ });
+
+ describe('upload count limit', () => {
+ const MAXIMUM_FILE_UPLOAD_LIMIT = 10;
+
+ afterEach(() => {
+ createFlash.mockReset();
+ });
+
+ it('does not warn when the max files are uploaded', () => {
+ createComponent();
+
+ wrapper.vm.onUploadDesign(new Array(MAXIMUM_FILE_UPLOAD_LIMIT).fill(mockDesigns[0]));
+
+ expect(createFlash).not.toHaveBeenCalled();
+ });
+
+ it('warns when too many files are uploaded', () => {
+ createComponent();
+
+ wrapper.vm.onUploadDesign(new Array(MAXIMUM_FILE_UPLOAD_LIMIT + 1).fill(mockDesigns[0]));
+
+ expect(createFlash).toHaveBeenCalled();
+ });
+ });
+
+ it('flashes warning if designs are skipped', () => {
+ createComponent({
+ mockMutate: () =>
+ Promise.resolve({
+ data: { designManagementUpload: { skippedDesigns: [{ filename: 'test.jpg' }] } },
+ }),
+ });
+
+ const uploadDesign = wrapper.vm.onUploadDesign([
+ {
+ name: 'test',
+ },
+ ]);
+
+ return uploadDesign.then(() => {
+ expect(createFlash).toHaveBeenCalledTimes(1);
+ expect(createFlash).toHaveBeenCalledWith(
+ 'Upload skipped. test.jpg did not change.',
+ 'warning',
+ );
+ });
+ });
+
+ describe('dragging onto an existing design', () => {
+ beforeEach(() => {
+ createComponent({ designs: mockDesigns, allVersions: [mockVersion] });
+ });
+
+ it('calls onUploadDesign with valid upload', () => {
+ wrapper.setMethods({
+ onUploadDesign: jest.fn(),
+ });
+
+ const mockUploadPayload = [
+ {
+ name: mockDesigns[0].filename,
+ },
+ ];
+
+ const designDropzone = findFirstDropzoneWithDesign();
+ designDropzone.vm.$emit('change', mockUploadPayload);
+
+ expect(wrapper.vm.onUploadDesign).toHaveBeenCalledTimes(1);
+ expect(wrapper.vm.onUploadDesign).toHaveBeenCalledWith(mockUploadPayload);
+ });
+
+ it.each`
+ description | eventPayload | message
+ ${'> 1 file'} | ${[{ name: 'test' }, { name: 'test-2' }]} | ${EXISTING_DESIGN_DROP_MANY_FILES_MESSAGE}
+ ${'different filename'} | ${[{ name: 'wrong-name' }]} | ${EXISTING_DESIGN_DROP_INVALID_FILENAME_MESSAGE}
+ `('calls createFlash when upload has $description', ({ eventPayload, message }) => {
+ const designDropzone = findFirstDropzoneWithDesign();
+ designDropzone.vm.$emit('change', eventPayload);
+
+ expect(createFlash).toHaveBeenCalledTimes(1);
+ expect(createFlash).toHaveBeenCalledWith(message);
+ });
+ });
+ });
+
+ describe('on latest version when has designs', () => {
+ beforeEach(() => {
+ createComponent({ designs: mockDesigns, allVersions: [mockVersion] });
+ });
+
+ it('renders design checkboxes', () => {
+ expect(findDesignCheckboxes()).toHaveLength(mockDesigns.length);
+ });
+
+ it('renders toolbar buttons', () => {
+ expect(findToolbar().exists()).toBe(true);
+ expect(findToolbar().classes()).toContain('d-flex');
+ expect(findToolbar().classes()).not.toContain('d-none');
+ });
+
+ it('adds two designs to selected designs when their checkboxes are checked', () => {
+ findDesignCheckboxes()
+ .at(0)
+ .trigger('click');
+
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ findDesignCheckboxes()
+ .at(1)
+ .trigger('click');
+
+ return wrapper.vm.$nextTick();
+ })
+ .then(() => {
+ expect(findDeleteButton().exists()).toBe(true);
+ expect(findSelectAllButton().text()).toBe('Deselect all');
+ findDeleteButton().vm.$emit('deleteSelectedDesigns');
+ const [{ variables }] = mutate.mock.calls[0];
+ expect(variables.filenames).toStrictEqual([
+ mockDesigns[0].filename,
+ mockDesigns[1].filename,
+ ]);
+ });
+ });
+
+ it('adds all designs to selected designs when Select All button is clicked', () => {
+ findSelectAllButton().vm.$emit('click');
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findDeleteButton().props().hasSelectedDesigns).toBe(true);
+ expect(findSelectAllButton().text()).toBe('Deselect all');
+ expect(wrapper.vm.selectedDesigns).toEqual(mockDesigns.map(design => design.filename));
+ });
+ });
+
+ it('removes all designs from selected designs when at least one design was selected', () => {
+ findDesignCheckboxes()
+ .at(0)
+ .trigger('click');
+
+ return wrapper.vm
+ .$nextTick()
+ .then(() => {
+ findSelectAllButton().vm.$emit('click');
+ })
+ .then(() => {
+ expect(findDeleteButton().props().hasSelectedDesigns).toBe(false);
+ expect(findSelectAllButton().text()).toBe('Select all');
+ expect(wrapper.vm.selectedDesigns).toEqual([]);
+ });
+ });
+ });
+
+ it('on latest version when has no designs does not render toolbar buttons', () => {
+ createComponent({ designs: [], allVersions: [mockVersion] });
+ expect(findToolbar().exists()).toBe(false);
+ });
+
+ describe('on non-latest version', () => {
+ beforeEach(() => {
+ createComponent({ designs: mockDesigns, allVersions: [mockVersion] });
+
+ router.replace({
+ name: DESIGNS_ROUTE_NAME,
+ query: {
+ version: '2',
+ },
+ });
+ });
+
+ it('does not render design checkboxes', () => {
+ expect(findDesignCheckboxes()).toHaveLength(0);
+ });
+
+ it('does not render Delete selected button', () => {
+ expect(findDeleteButton().exists()).toBe(false);
+ });
+
+ it('does not render Select All button', () => {
+ expect(findSelectAllButton().exists()).toBe(false);
+ });
+ });
+
+ describe('pasting a design', () => {
+ let event;
+ beforeEach(() => {
+ createComponent({ designs: mockDesigns, allVersions: [mockVersion] });
+
+ wrapper.setMethods({
+ onUploadDesign: jest.fn(),
+ });
+
+ event = new Event('paste');
+
+ router.replace({
+ name: DESIGNS_ROUTE_NAME,
+ query: {
+ version: '2',
+ },
+ });
+ });
+
+ it('calls onUploadDesign with valid paste', () => {
+ event.clipboardData = {
+ files: [{ name: 'image.png', type: 'image/png' }],
+ getData: () => 'test.png',
+ };
+
+ document.dispatchEvent(event);
+
+ expect(wrapper.vm.onUploadDesign).toHaveBeenCalledTimes(1);
+ expect(wrapper.vm.onUploadDesign).toHaveBeenCalledWith([
+ new File([{ name: 'image.png' }], 'test.png'),
+ ]);
+ });
+
+ it('renames a design if it has an image.png filename', () => {
+ event.clipboardData = {
+ files: [{ name: 'image.png', type: 'image/png' }],
+ getData: () => 'image.png',
+ };
+
+ document.dispatchEvent(event);
+
+ expect(wrapper.vm.onUploadDesign).toHaveBeenCalledTimes(1);
+ expect(wrapper.vm.onUploadDesign).toHaveBeenCalledWith([
+ new File([{ name: 'image.png' }], `design_${Date.now()}.png`),
+ ]);
+ });
+
+ it('does not call onUploadDesign with invalid paste', () => {
+ event.clipboardData = {
+ items: [{ type: 'text/plain' }, { type: 'text' }],
+ files: [],
+ };
+
+ document.dispatchEvent(event);
+
+ expect(wrapper.vm.onUploadDesign).not.toHaveBeenCalled();
+ });
+ });
+});
diff --git a/spec/frontend/design_management/router_spec.js b/spec/frontend/design_management/router_spec.js
new file mode 100644
index 00000000000..0f4afa5e288
--- /dev/null
+++ b/spec/frontend/design_management/router_spec.js
@@ -0,0 +1,81 @@
+import { mount, createLocalVue } from '@vue/test-utils';
+import { nextTick } from 'vue';
+import VueRouter from 'vue-router';
+import App from '~/design_management/components/app.vue';
+import Designs from '~/design_management/pages/index.vue';
+import DesignDetail from '~/design_management/pages/design/index.vue';
+import createRouter from '~/design_management/router';
+import {
+ ROOT_ROUTE_NAME,
+ DESIGNS_ROUTE_NAME,
+ DESIGN_ROUTE_NAME,
+} from '~/design_management/router/constants';
+import '~/commons/bootstrap';
+
+function factory(routeArg) {
+ const localVue = createLocalVue();
+ localVue.use(VueRouter);
+
+ window.gon = { sprite_icons: '' };
+
+ const router = createRouter('/');
+ if (routeArg !== undefined) {
+ router.push(routeArg);
+ }
+
+ return mount(App, {
+ localVue,
+ router,
+ mocks: {
+ $apollo: {
+ queries: {
+ designs: { loading: true },
+ design: { loading: true },
+ permissions: { loading: true },
+ },
+ },
+ },
+ });
+}
+
+jest.mock('mousetrap', () => ({
+ bind: jest.fn(),
+ unbind: jest.fn(),
+}));
+
+describe('Design management router', () => {
+ afterEach(() => {
+ window.location.hash = '';
+ });
+
+ describe.each([['/'], [{ name: ROOT_ROUTE_NAME }]])('root route', routeArg => {
+ it('pushes home component', () => {
+ const wrapper = factory(routeArg);
+
+ expect(wrapper.find(Designs).exists()).toBe(true);
+ });
+ });
+
+ describe.each([['/designs'], [{ name: DESIGNS_ROUTE_NAME }]])('designs route', routeArg => {
+ it('pushes designs root component', () => {
+ const wrapper = factory(routeArg);
+
+ expect(wrapper.find(Designs).exists()).toBe(true);
+ });
+ });
+
+ describe.each([['/designs/1'], [{ name: DESIGN_ROUTE_NAME, params: { id: '1' } }]])(
+ 'designs detail route',
+ routeArg => {
+ it('pushes designs detail component', () => {
+ const wrapper = factory(routeArg);
+
+ return nextTick().then(() => {
+ const detail = wrapper.find(DesignDetail);
+ expect(detail.exists()).toBe(true);
+ expect(detail.props('id')).toEqual('1');
+ });
+ });
+ },
+ );
+});
diff --git a/spec/frontend/design_management/utils/cache_update_spec.js b/spec/frontend/design_management/utils/cache_update_spec.js
new file mode 100644
index 00000000000..641d35ff9ff
--- /dev/null
+++ b/spec/frontend/design_management/utils/cache_update_spec.js
@@ -0,0 +1,44 @@
+import { InMemoryCache } from 'apollo-cache-inmemory';
+import {
+ updateStoreAfterDesignsDelete,
+ updateStoreAfterAddDiscussionComment,
+ updateStoreAfterAddImageDiffNote,
+ updateStoreAfterUploadDesign,
+ updateStoreAfterUpdateImageDiffNote,
+} from '~/design_management/utils/cache_update';
+import {
+ designDeletionError,
+ ADD_DISCUSSION_COMMENT_ERROR,
+ ADD_IMAGE_DIFF_NOTE_ERROR,
+ UPDATE_IMAGE_DIFF_NOTE_ERROR,
+} from '~/design_management/utils/error_messages';
+import design from '../mock_data/design';
+import createFlash from '~/flash';
+
+jest.mock('~/flash.js');
+
+describe('Design Management cache update', () => {
+ const mockErrors = ['code red!'];
+
+ let mockStore;
+
+ beforeEach(() => {
+ mockStore = new InMemoryCache();
+ });
+
+ describe('error handling', () => {
+ it.each`
+ fnName | subject | errorMessage | extraArgs
+ ${'updateStoreAfterDesignsDelete'} | ${updateStoreAfterDesignsDelete} | ${designDeletionError({ singular: true })} | ${[[design]]}
+ ${'updateStoreAfterAddDiscussionComment'} | ${updateStoreAfterAddDiscussionComment} | ${ADD_DISCUSSION_COMMENT_ERROR} | ${[]}
+ ${'updateStoreAfterAddImageDiffNote'} | ${updateStoreAfterAddImageDiffNote} | ${ADD_IMAGE_DIFF_NOTE_ERROR} | ${[]}
+ ${'updateStoreAfterUploadDesign'} | ${updateStoreAfterUploadDesign} | ${mockErrors[0]} | ${[]}
+ ${'updateStoreAfterUpdateImageDiffNote'} | ${updateStoreAfterUpdateImageDiffNote} | ${UPDATE_IMAGE_DIFF_NOTE_ERROR} | ${[]}
+ `('$fnName handles errors in response', ({ subject, extraArgs, errorMessage }) => {
+ expect(createFlash).not.toHaveBeenCalled();
+ expect(() => subject(mockStore, { errors: mockErrors }, {}, ...extraArgs)).toThrow();
+ expect(createFlash).toHaveBeenCalledTimes(1);
+ expect(createFlash).toHaveBeenCalledWith(errorMessage);
+ });
+ });
+});
diff --git a/spec/frontend/design_management/utils/design_management_utils_spec.js b/spec/frontend/design_management/utils/design_management_utils_spec.js
new file mode 100644
index 00000000000..af631073df6
--- /dev/null
+++ b/spec/frontend/design_management/utils/design_management_utils_spec.js
@@ -0,0 +1,176 @@
+import {
+ extractCurrentDiscussion,
+ extractDiscussions,
+ findVersionId,
+ designUploadOptimisticResponse,
+ updateImageDiffNoteOptimisticResponse,
+ isValidDesignFile,
+ extractDesign,
+} from '~/design_management/utils/design_management_utils';
+import mockResponseNoDesigns from '../mock_data/no_designs';
+import mockResponseWithDesigns from '../mock_data/designs';
+import mockDesign from '../mock_data/design';
+
+jest.mock('lodash/uniqueId', () => () => 1);
+
+describe('extractCurrentDiscussion', () => {
+ let discussions;
+
+ beforeEach(() => {
+ discussions = {
+ nodes: [
+ { id: 101, payload: 'w' },
+ { id: 102, payload: 'x' },
+ { id: 103, payload: 'y' },
+ { id: 104, payload: 'z' },
+ ],
+ };
+ });
+
+ it('finds the relevant discussion if it exists', () => {
+ const id = 103;
+ expect(extractCurrentDiscussion(discussions, id)).toEqual({ id, payload: 'y' });
+ });
+
+ it('returns null if the relevant discussion does not exist', () => {
+ expect(extractCurrentDiscussion(discussions, 0)).not.toBeDefined();
+ });
+});
+
+describe('extractDiscussions', () => {
+ let discussions;
+
+ beforeEach(() => {
+ discussions = {
+ nodes: [
+ { id: 1, notes: { nodes: ['a'] } },
+ { id: 2, notes: { nodes: ['b'] } },
+ { id: 3, notes: { nodes: ['c'] } },
+ { id: 4, notes: { nodes: ['d'] } },
+ ],
+ };
+ });
+
+ it('discards the edges.node artifacts of GraphQL', () => {
+ expect(extractDiscussions(discussions)).toEqual([
+ { id: 1, notes: ['a'] },
+ { id: 2, notes: ['b'] },
+ { id: 3, notes: ['c'] },
+ { id: 4, notes: ['d'] },
+ ]);
+ });
+});
+
+describe('version parser', () => {
+ it('correctly extracts version ID from a valid version string', () => {
+ const testVersionId = '123';
+ const testVersionString = `gid://gitlab/DesignManagement::Version/${testVersionId}`;
+
+ expect(findVersionId(testVersionString)).toEqual(testVersionId);
+ });
+
+ it('fails to extract version ID from an invalid version string', () => {
+ const testInvalidVersionString = `gid://gitlab/DesignManagement::Version`;
+
+ expect(findVersionId(testInvalidVersionString)).toBeUndefined();
+ });
+});
+
+describe('optimistic responses', () => {
+ it('correctly generated for designManagementUpload', () => {
+ const expectedResponse = {
+ __typename: 'Mutation',
+ designManagementUpload: {
+ __typename: 'DesignManagementUploadPayload',
+ designs: [
+ {
+ __typename: 'Design',
+ id: -1,
+ image: '',
+ imageV432x230: '',
+ filename: 'test',
+ fullPath: '',
+ notesCount: 0,
+ event: 'NONE',
+ diffRefs: { __typename: 'DiffRefs', baseSha: '', startSha: '', headSha: '' },
+ discussions: { __typename: 'DesignDiscussion', nodes: [] },
+ versions: {
+ __typename: 'DesignVersionConnection',
+ edges: {
+ __typename: 'DesignVersionEdge',
+ node: { __typename: 'DesignVersion', id: -1, sha: -1 },
+ },
+ },
+ },
+ ],
+ errors: [],
+ skippedDesigns: [],
+ },
+ };
+ expect(designUploadOptimisticResponse([{ name: 'test' }])).toEqual(expectedResponse);
+ });
+
+ it('correctly generated for updateImageDiffNoteOptimisticResponse', () => {
+ const mockNote = {
+ id: 'test-note-id',
+ };
+
+ const mockPosition = {
+ x: 10,
+ y: 10,
+ width: 10,
+ height: 10,
+ };
+
+ const expectedResponse = {
+ __typename: 'Mutation',
+ updateImageDiffNote: {
+ __typename: 'UpdateImageDiffNotePayload',
+ note: {
+ ...mockNote,
+ position: mockPosition,
+ },
+ errors: [],
+ },
+ };
+ expect(updateImageDiffNoteOptimisticResponse(mockNote, { position: mockPosition })).toEqual(
+ expectedResponse,
+ );
+ });
+});
+
+describe('isValidDesignFile', () => {
+ // test every filetype that Design Management supports
+ // https://docs.gitlab.com/ee/user/project/issues/design_management.html#limitations
+ it.each`
+ mimetype | isValid
+ ${'image/svg'} | ${true}
+ ${'image/png'} | ${true}
+ ${'image/jpg'} | ${true}
+ ${'image/jpeg'} | ${true}
+ ${'image/gif'} | ${true}
+ ${'image/bmp'} | ${true}
+ ${'image/tiff'} | ${true}
+ ${'image/ico'} | ${true}
+ ${'image/svg'} | ${true}
+ ${'video/mpeg'} | ${false}
+ ${'audio/midi'} | ${false}
+ ${'application/octet-stream'} | ${false}
+ `('returns $isValid for file type $mimetype', ({ mimetype, isValid }) => {
+ expect(isValidDesignFile({ type: mimetype })).toBe(isValid);
+ });
+});
+
+describe('extractDesign', () => {
+ describe('with no designs', () => {
+ it('returns undefined', () => {
+ expect(extractDesign(mockResponseNoDesigns)).toBeUndefined();
+ });
+ });
+
+ describe('with designs', () => {
+ it('returns the first design available', () => {
+ expect(extractDesign(mockResponseWithDesigns)).toEqual(mockDesign);
+ });
+ });
+});
diff --git a/spec/frontend/design_management/utils/error_messages_spec.js b/spec/frontend/design_management/utils/error_messages_spec.js
new file mode 100644
index 00000000000..635ff931d7d
--- /dev/null
+++ b/spec/frontend/design_management/utils/error_messages_spec.js
@@ -0,0 +1,62 @@
+import {
+ designDeletionError,
+ designUploadSkippedWarning,
+} from '~/design_management/utils/error_messages';
+
+const mockFilenames = n =>
+ Array(n)
+ .fill(0)
+ .map((_, i) => ({ filename: `${i + 1}.jpg` }));
+
+describe('Error message', () => {
+ describe('designDeletionError', () => {
+ const singularMsg = 'Could not delete a design. Please try again.';
+ const pluralMsg = 'Could not delete designs. Please try again.';
+
+ describe('when [singular=true]', () => {
+ it.each([[undefined], [true]])('uses singular grammar', singularOption => {
+ expect(designDeletionError({ singular: singularOption })).toEqual(singularMsg);
+ });
+ });
+
+ describe('when [singular=false]', () => {
+ it('uses plural grammar', () => {
+ expect(designDeletionError({ singular: false })).toEqual(pluralMsg);
+ });
+ });
+ });
+
+ describe.each([
+ [[], [], null],
+ [mockFilenames(1), mockFilenames(1), 'Upload skipped. 1.jpg did not change.'],
+ [
+ mockFilenames(2),
+ mockFilenames(2),
+ 'Upload skipped. The designs you tried uploading did not change.',
+ ],
+ [
+ mockFilenames(2),
+ mockFilenames(1),
+ 'Upload skipped. Some of the designs you tried uploading did not change: 1.jpg.',
+ ],
+ [
+ mockFilenames(6),
+ mockFilenames(5),
+ 'Upload skipped. Some of the designs you tried uploading did not change: 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg.',
+ ],
+ [
+ mockFilenames(7),
+ mockFilenames(6),
+ 'Upload skipped. Some of the designs you tried uploading did not change: 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg, and 1 more.',
+ ],
+ [
+ mockFilenames(8),
+ mockFilenames(7),
+ 'Upload skipped. Some of the designs you tried uploading did not change: 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg, and 2 more.',
+ ],
+ ])('designUploadSkippedWarning', (uploadedFiles, skippedFiles, expected) => {
+ test('returns expected warning message', () => {
+ expect(designUploadSkippedWarning(uploadedFiles, skippedFiles)).toBe(expected);
+ });
+ });
+});
diff --git a/spec/frontend/design_management/utils/tracking_spec.js b/spec/frontend/design_management/utils/tracking_spec.js
new file mode 100644
index 00000000000..ab540587c01
--- /dev/null
+++ b/spec/frontend/design_management/utils/tracking_spec.js
@@ -0,0 +1,51 @@
+import { mockTracking } from 'helpers/tracking_helper';
+import { trackDesignDetailView } from '~/design_management/utils/tracking';
+
+function getTrackingSpy(key) {
+ return mockTracking(key, undefined, jest.spyOn);
+}
+
+describe('Tracking Events', () => {
+ describe('trackDesignDetailView', () => {
+ const eventKey = 'projects:issues:design';
+ const eventName = 'design_viewed';
+
+ it('trackDesignDetailView fires a tracking event when called', () => {
+ const trackingSpy = getTrackingSpy(eventKey);
+
+ trackDesignDetailView();
+
+ expect(trackingSpy).toHaveBeenCalledWith(
+ eventKey,
+ eventName,
+ expect.objectContaining({
+ label: eventName,
+ value: {
+ 'internal-object-refrerer': '',
+ 'version-number': 1,
+ 'current-version': false,
+ },
+ }),
+ );
+ });
+
+ it('trackDesignDetailView allows to customize the value payload', () => {
+ const trackingSpy = getTrackingSpy(eventKey);
+
+ trackDesignDetailView('from-a-test', 100, true);
+
+ expect(trackingSpy).toHaveBeenCalledWith(
+ eventKey,
+ eventName,
+ expect.objectContaining({
+ label: eventName,
+ value: {
+ 'internal-object-refrerer': 'from-a-test',
+ 'version-number': 100,
+ 'current-version': true,
+ },
+ }),
+ );
+ });
+ });
+});
diff --git a/spec/frontend/diffs/components/diff_content_spec.js b/spec/frontend/diffs/components/diff_content_spec.js
index 979c67787f7..b78895f9e55 100644
--- a/spec/frontend/diffs/components/diff_content_spec.js
+++ b/spec/frontend/diffs/components/diff_content_spec.js
@@ -10,7 +10,7 @@ import ImageDiffOverlay from '~/diffs/components/image_diff_overlay.vue';
import NoteForm from '~/notes/components/note_form.vue';
import DiffDiscussions from '~/diffs/components/diff_discussions.vue';
import { IMAGE_DIFF_POSITION_TYPE } from '~/diffs/constants';
-import diffFileMockData from '../../../javascripts/diffs/mock_data/diff_file';
+import diffFileMockData from '../mock_data/diff_file';
import { diffViewerModes } from '~/ide/constants';
const localVue = createLocalVue();
diff --git a/spec/frontend/diffs/components/diff_discussions_spec.js b/spec/frontend/diffs/components/diff_discussions_spec.js
index ba5a4f96204..83becc7a20a 100644
--- a/spec/frontend/diffs/components/diff_discussions_spec.js
+++ b/spec/frontend/diffs/components/diff_discussions_spec.js
@@ -13,7 +13,7 @@ const localVue = createLocalVue();
describe('DiffDiscussions', () => {
let store;
let wrapper;
- const getDiscussionsMockData = () => [Object.assign({}, discussionsMockData)];
+ const getDiscussionsMockData = () => [{ ...discussionsMockData }];
const createComponent = props => {
store = createStore();
diff --git a/spec/frontend/diffs/components/diff_expansion_cell_spec.js b/spec/frontend/diffs/components/diff_expansion_cell_spec.js
index 31c6a4d5b60..0504f3933e0 100644
--- a/spec/frontend/diffs/components/diff_expansion_cell_spec.js
+++ b/spec/frontend/diffs/components/diff_expansion_cell_spec.js
@@ -81,7 +81,7 @@ describe('DiffExpansionCell', () => {
isTop: false,
isBottom: false,
};
- const props = Object.assign({}, defaults, options);
+ const props = { ...defaults, ...options };
vm = createComponentWithStore(cmp, store, props).$mount();
};
diff --git a/spec/frontend/diffs/components/diff_gutter_avatars_spec.js b/spec/frontend/diffs/components/diff_gutter_avatars_spec.js
index 4d8345d494d..da18d8e7894 100644
--- a/spec/frontend/diffs/components/diff_gutter_avatars_spec.js
+++ b/spec/frontend/diffs/components/diff_gutter_avatars_spec.js
@@ -2,7 +2,7 @@ import { shallowMount } from '@vue/test-utils';
import DiffGutterAvatars from '~/diffs/components/diff_gutter_avatars.vue';
import discussionsMockData from '../mock_data/diff_discussions';
-const getDiscussionsMockData = () => [Object.assign({}, discussionsMockData)];
+const getDiscussionsMockData = () => [{ ...discussionsMockData }];
describe('DiffGutterAvatars', () => {
let wrapper;
diff --git a/spec/frontend/diffs/components/diff_line_note_form_spec.js b/spec/frontend/diffs/components/diff_line_note_form_spec.js
index 9b032d10fdc..3e0acd0dace 100644
--- a/spec/frontend/diffs/components/diff_line_note_form_spec.js
+++ b/spec/frontend/diffs/components/diff_line_note_form_spec.js
@@ -9,7 +9,7 @@ describe('DiffLineNoteForm', () => {
let wrapper;
let diffFile;
let diffLines;
- const getDiffFileMock = () => Object.assign({}, diffFileMockData);
+ const getDiffFileMock = () => ({ ...diffFileMockData });
beforeEach(() => {
diffFile = getDiffFileMock();
diff --git a/spec/frontend/diffs/components/inline_diff_expansion_row_spec.js b/spec/frontend/diffs/components/inline_diff_expansion_row_spec.js
index f423c3b111e..90f012fbafe 100644
--- a/spec/frontend/diffs/components/inline_diff_expansion_row_spec.js
+++ b/spec/frontend/diffs/components/inline_diff_expansion_row_spec.js
@@ -16,7 +16,7 @@ describe('InlineDiffExpansionRow', () => {
isTop: false,
isBottom: false,
};
- const props = Object.assign({}, defaults, options);
+ const props = { ...defaults, ...options };
return createComponentWithStore(cmp, createStore(), props).$mount();
};
diff --git a/spec/frontend/diffs/components/inline_diff_view_spec.js b/spec/frontend/diffs/components/inline_diff_view_spec.js
index a63c13fb271..9b0cf6a84d9 100644
--- a/spec/frontend/diffs/components/inline_diff_view_spec.js
+++ b/spec/frontend/diffs/components/inline_diff_view_spec.js
@@ -8,8 +8,8 @@ import discussionsMockData from '../mock_data/diff_discussions';
describe('InlineDiffView', () => {
let component;
- const getDiffFileMock = () => Object.assign({}, diffFileMockData);
- const getDiscussionsMockData = () => [Object.assign({}, discussionsMockData)];
+ const getDiffFileMock = () => ({ ...diffFileMockData });
+ const getDiscussionsMockData = () => [{ ...discussionsMockData }];
const notesLength = getDiscussionsMockData()[0].notes.length;
beforeEach(done => {
diff --git a/spec/frontend/diffs/components/parallel_diff_expansion_row_spec.js b/spec/frontend/diffs/components/parallel_diff_expansion_row_spec.js
index 15b2a824697..38112445e8d 100644
--- a/spec/frontend/diffs/components/parallel_diff_expansion_row_spec.js
+++ b/spec/frontend/diffs/components/parallel_diff_expansion_row_spec.js
@@ -16,7 +16,7 @@ describe('ParallelDiffExpansionRow', () => {
isTop: false,
isBottom: false,
};
- const props = Object.assign({}, defaults, options);
+ const props = { ...defaults, ...options };
return createComponentWithStore(cmp, createStore(), props).$mount();
};
diff --git a/spec/frontend/diffs/components/parallel_diff_view_spec.js b/spec/frontend/diffs/components/parallel_diff_view_spec.js
index 0eefbc7ec08..03cf1b72b62 100644
--- a/spec/frontend/diffs/components/parallel_diff_view_spec.js
+++ b/spec/frontend/diffs/components/parallel_diff_view_spec.js
@@ -7,7 +7,7 @@ import diffFileMockData from '../mock_data/diff_file';
describe('ParallelDiffView', () => {
let component;
- const getDiffFileMock = () => Object.assign({}, diffFileMockData);
+ const getDiffFileMock = () => ({ ...diffFileMockData });
beforeEach(() => {
const diffFile = getDiffFileMock();
diff --git a/spec/frontend/diffs/store/getters_spec.js b/spec/frontend/diffs/store/getters_spec.js
index ca47f51cb15..dac5be2d656 100644
--- a/spec/frontend/diffs/store/getters_spec.js
+++ b/spec/frontend/diffs/store/getters_spec.js
@@ -14,10 +14,10 @@ describe('Diffs Module Getters', () => {
beforeEach(() => {
localState = state();
- discussionMock = Object.assign({}, discussion);
+ discussionMock = { ...discussion };
discussionMock.diff_file.file_hash = diffFileMock.fileHash;
- discussionMock1 = Object.assign({}, discussion);
+ discussionMock1 = { ...discussion };
discussionMock1.diff_file.file_hash = diffFileMock.fileHash;
});
diff --git a/spec/frontend/diffs/store/utils_spec.js b/spec/frontend/diffs/store/utils_spec.js
index 422332bab28..31053a3055a 100644
--- a/spec/frontend/diffs/store/utils_spec.js
+++ b/spec/frontend/diffs/store/utils_spec.js
@@ -372,13 +372,13 @@ describe('DiffsStoreUtils', () => {
mock = getDiffFileMock();
preparedDiff = { diff_files: [mock] };
splitInlineDiff = {
- diff_files: [Object.assign({}, mock, { parallel_diff_lines: undefined })],
+ diff_files: [{ ...mock, parallel_diff_lines: undefined }],
};
splitParallelDiff = {
- diff_files: [Object.assign({}, mock, { highlighted_diff_lines: undefined })],
+ diff_files: [{ ...mock, highlighted_diff_lines: undefined }],
};
completedDiff = {
- diff_files: [Object.assign({}, mock, { highlighted_diff_lines: undefined })],
+ diff_files: [{ ...mock, highlighted_diff_lines: undefined }],
};
preparedDiff.diff_files = utils.prepareDiffData(preparedDiff);
diff --git a/spec/javascripts/editor/editor_lite_spec.js b/spec/frontend/editor/editor_lite_spec.js
index 106264aa13f..cb07bcf8f28 100644
--- a/spec/javascripts/editor/editor_lite_spec.js
+++ b/spec/frontend/editor/editor_lite_spec.js
@@ -1,4 +1,4 @@
-import { editor as monacoEditor, Uri } from 'monaco-editor';
+import { editor as monacoEditor, languages as monacoLanguages, Uri } from 'monaco-editor';
import Editor from '~/editor/editor_lite';
import { DEFAULT_THEME, themes } from '~/ide/lib/themes';
@@ -41,13 +41,13 @@ describe('Base editor', () => {
let dispose;
beforeEach(() => {
- setModel = jasmine.createSpy();
- dispose = jasmine.createSpy();
- modelSpy = spyOn(monacoEditor, 'createModel').and.returnValue(fakeModel);
- instanceSpy = spyOn(monacoEditor, 'create').and.returnValue({
+ setModel = jest.fn();
+ dispose = jest.fn();
+ modelSpy = jest.spyOn(monacoEditor, 'createModel').mockImplementation(() => fakeModel);
+ instanceSpy = jest.spyOn(monacoEditor, 'create').mockImplementation(() => ({
setModel,
dispose,
- });
+ }));
});
it('does nothing if no dom element is supplied', () => {
@@ -73,7 +73,7 @@ describe('Base editor', () => {
editor.createInstance({ el: editorEl });
expect(editor.editorEl).not.toBe(null);
- expect(instanceSpy).toHaveBeenCalledWith(editorEl, jasmine.anything());
+ expect(instanceSpy).toHaveBeenCalledWith(editorEl, expect.anything());
});
});
@@ -91,6 +91,11 @@ describe('Base editor', () => {
});
it('is capable of changing the language of the model', () => {
+ // ignore warnings and errors Monaco posts during setup
+ // (due to being called from Jest/Node.js environment)
+ jest.spyOn(console, 'warn').mockImplementation(() => {});
+ jest.spyOn(console, 'error').mockImplementation(() => {});
+
const blobRenamedPath = 'test.js';
expect(editor.model.getLanguageIdentifier().language).toEqual('markdown');
@@ -101,7 +106,7 @@ describe('Base editor', () => {
it('falls back to plaintext if there is no language associated with an extension', () => {
const blobRenamedPath = 'test.myext';
- const spy = spyOn(console, 'error');
+ const spy = jest.spyOn(console, 'error').mockImplementation(() => {});
editor.updateModelLanguage(blobRenamedPath);
@@ -110,14 +115,26 @@ describe('Base editor', () => {
});
});
+ describe('languages', () => {
+ it('registers custom languages defined with Monaco', () => {
+ expect(monacoLanguages.getLanguages()).toEqual(
+ expect.arrayContaining([
+ expect.objectContaining({
+ id: 'vue',
+ }),
+ ]),
+ );
+ });
+ });
+
describe('syntax highlighting theme', () => {
let themeDefineSpy;
let themeSetSpy;
let defaultScheme;
beforeEach(() => {
- themeDefineSpy = spyOn(monacoEditor, 'defineTheme');
- themeSetSpy = spyOn(monacoEditor, 'setTheme');
+ themeDefineSpy = jest.spyOn(monacoEditor, 'defineTheme').mockImplementation(() => {});
+ themeSetSpy = jest.spyOn(monacoEditor, 'setTheme').mockImplementation(() => {});
defaultScheme = window.gon.user_color_scheme;
});
diff --git a/spec/javascripts/filtered_search/dropdown_utils_spec.js b/spec/frontend/filtered_search/dropdown_utils_spec.js
index 6eda4f391a4..3320b6b0942 100644
--- a/spec/javascripts/filtered_search/dropdown_utils_spec.js
+++ b/spec/frontend/filtered_search/dropdown_utils_spec.js
@@ -213,7 +213,7 @@ describe('Dropdown Utils', () => {
describe('setDataValueIfSelected', () => {
beforeEach(() => {
- spyOn(FilteredSearchDropdownManager, 'addWordToInput').and.callFake(() => {});
+ jest.spyOn(FilteredSearchDropdownManager, 'addWordToInput').mockImplementation(() => {});
});
it('calls addWordToInput when dataValue exists', () => {
@@ -224,7 +224,7 @@ describe('Dropdown Utils', () => {
DropdownUtils.setDataValueIfSelected(null, '=', selected);
- expect(FilteredSearchDropdownManager.addWordToInput.calls.count()).toEqual(1);
+ expect(FilteredSearchDropdownManager.addWordToInput.mock.calls.length).toEqual(1);
});
it('returns true when dataValue exists', () => {
diff --git a/spec/javascripts/filtered_search/filtered_search_tokenizer_spec.js b/spec/frontend/filtered_search/filtered_search_tokenizer_spec.js
index dec03e5ab93..dec03e5ab93 100644
--- a/spec/javascripts/filtered_search/filtered_search_tokenizer_spec.js
+++ b/spec/frontend/filtered_search/filtered_search_tokenizer_spec.js
diff --git a/spec/javascripts/filtered_search/issues_filtered_search_token_keys_spec.js b/spec/frontend/filtered_search/issues_filtered_search_token_keys_spec.js
index c7be900ba2c..c7be900ba2c 100644
--- a/spec/javascripts/filtered_search/issues_filtered_search_token_keys_spec.js
+++ b/spec/frontend/filtered_search/issues_filtered_search_token_keys_spec.js
diff --git a/spec/javascripts/filtered_search/services/recent_searches_service_spec.js b/spec/frontend/filtered_search/services/recent_searches_service_spec.js
index 188f83eca16..a89d38b7a20 100644
--- a/spec/javascripts/filtered_search/services/recent_searches_service_spec.js
+++ b/spec/frontend/filtered_search/services/recent_searches_service_spec.js
@@ -1,18 +1,21 @@
import RecentSearchesService from '~/filtered_search/services/recent_searches_service';
import RecentSearchesServiceError from '~/filtered_search/services/recent_searches_service_error';
import AccessorUtilities from '~/lib/utils/accessor';
+import { useLocalStorageSpy } from 'helpers/local_storage_helper';
+
+useLocalStorageSpy();
describe('RecentSearchesService', () => {
let service;
beforeEach(() => {
service = new RecentSearchesService();
- window.localStorage.removeItem(service.localStorageKey);
+ localStorage.removeItem(service.localStorageKey);
});
describe('fetch', () => {
beforeEach(() => {
- spyOn(RecentSearchesService, 'isAvailable').and.returnValue(true);
+ jest.spyOn(RecentSearchesService, 'isAvailable').mockReturnValue(true);
});
it('should default to empty array', done => {
@@ -27,33 +30,33 @@ describe('RecentSearchesService', () => {
});
it('should reject when unable to parse', done => {
- window.localStorage.setItem(service.localStorageKey, 'fail');
+ jest.spyOn(localStorage, 'getItem').mockReturnValue('fail');
const fetchItemsPromise = service.fetch();
fetchItemsPromise
.then(done.fail)
.catch(error => {
- expect(error).toEqual(jasmine.any(SyntaxError));
+ expect(error).toEqual(expect.any(SyntaxError));
})
.then(done)
.catch(done.fail);
});
it('should reject when service is unavailable', done => {
- RecentSearchesService.isAvailable.and.returnValue(false);
+ RecentSearchesService.isAvailable.mockReturnValue(false);
service
.fetch()
.then(done.fail)
.catch(error => {
- expect(error).toEqual(jasmine.any(Error));
+ expect(error).toEqual(expect.any(Error));
})
.then(done)
.catch(done.fail);
});
it('should return items from localStorage', done => {
- window.localStorage.setItem(service.localStorageKey, '["foo", "bar"]');
+ jest.spyOn(localStorage, 'getItem').mockReturnValue('["foo", "bar"]');
const fetchItemsPromise = service.fetch();
fetchItemsPromise
@@ -66,9 +69,9 @@ describe('RecentSearchesService', () => {
describe('if .isAvailable returns `false`', () => {
beforeEach(() => {
- RecentSearchesService.isAvailable.and.returnValue(false);
+ RecentSearchesService.isAvailable.mockReturnValue(false);
- spyOn(window.localStorage, 'getItem');
+ jest.spyOn(Storage.prototype, 'getItem').mockImplementation(() => {});
});
it('should not call .getItem', done => {
@@ -77,7 +80,7 @@ describe('RecentSearchesService', () => {
.then(done.fail)
.catch(err => {
expect(err).toEqual(new RecentSearchesServiceError());
- expect(window.localStorage.getItem).not.toHaveBeenCalled();
+ expect(localStorage.getItem).not.toHaveBeenCalled();
})
.then(done)
.catch(done.fail);
@@ -87,22 +90,22 @@ describe('RecentSearchesService', () => {
describe('setRecentSearches', () => {
beforeEach(() => {
- spyOn(RecentSearchesService, 'isAvailable').and.returnValue(true);
+ jest.spyOn(RecentSearchesService, 'isAvailable').mockReturnValue(true);
});
it('should save things in localStorage', () => {
+ jest.spyOn(localStorage, 'setItem');
const items = ['foo', 'bar'];
service.save(items);
- const newLocalStorageValue = window.localStorage.getItem(service.localStorageKey);
- expect(JSON.parse(newLocalStorageValue)).toEqual(items);
+ expect(localStorage.setItem).toHaveBeenCalledWith(expect.any(String), JSON.stringify(items));
});
});
describe('save', () => {
beforeEach(() => {
- spyOn(window.localStorage, 'setItem');
- spyOn(RecentSearchesService, 'isAvailable');
+ jest.spyOn(localStorage, 'setItem');
+ jest.spyOn(RecentSearchesService, 'isAvailable').mockImplementation(() => {});
});
describe('if .isAvailable returns `true`', () => {
@@ -113,27 +116,27 @@ describe('RecentSearchesService', () => {
};
beforeEach(() => {
- RecentSearchesService.isAvailable.and.returnValue(true);
+ RecentSearchesService.isAvailable.mockReturnValue(true);
- spyOn(JSON, 'stringify').and.returnValue(searchesString);
+ jest.spyOn(JSON, 'stringify').mockReturnValue(searchesString);
});
it('should call .setItem', () => {
RecentSearchesService.prototype.save.call(recentSearchesService);
- expect(window.localStorage.setItem).toHaveBeenCalledWith(localStorageKey, searchesString);
+ expect(localStorage.setItem).toHaveBeenCalledWith(localStorageKey, searchesString);
});
});
describe('if .isAvailable returns `false`', () => {
beforeEach(() => {
- RecentSearchesService.isAvailable.and.returnValue(false);
+ RecentSearchesService.isAvailable.mockReturnValue(false);
});
it('should not call .setItem', () => {
RecentSearchesService.prototype.save();
- expect(window.localStorage.setItem).not.toHaveBeenCalled();
+ expect(localStorage.setItem).not.toHaveBeenCalled();
});
});
});
@@ -142,7 +145,7 @@ describe('RecentSearchesService', () => {
let isAvailable;
beforeEach(() => {
- spyOn(AccessorUtilities, 'isLocalStorageAccessSafe').and.callThrough();
+ jest.spyOn(AccessorUtilities, 'isLocalStorageAccessSafe');
isAvailable = RecentSearchesService.isAvailable();
});
diff --git a/spec/javascripts/filtered_search/visual_token_value_spec.js b/spec/frontend/filtered_search/visual_token_value_spec.js
index 51a9b01231f..ea501423403 100644
--- a/spec/javascripts/filtered_search/visual_token_value_spec.js
+++ b/spec/frontend/filtered_search/visual_token_value_spec.js
@@ -38,11 +38,11 @@ describe('Filtered Search Visual Tokens', () => {
let usersCacheSpy;
beforeEach(() => {
- spyOn(UsersCache, 'retrieve').and.callFake(username => usersCacheSpy(username));
+ jest.spyOn(UsersCache, 'retrieve').mockImplementation(username => usersCacheSpy(username));
});
it('ignores error if UsersCache throws', done => {
- spyOn(window, 'Flash');
+ jest.spyOn(window, 'Flash').mockImplementation(() => {});
const dummyError = new Error('Earth rotated backwards');
const { subject, tokenValueContainer, tokenValueElement } = findElements(authorToken);
const tokenValue = tokenValueElement.innerText;
@@ -54,7 +54,7 @@ describe('Filtered Search Visual Tokens', () => {
subject
.updateUserTokenAppearance(tokenValueContainer, tokenValueElement, tokenValue)
.then(() => {
- expect(window.Flash.calls.count()).toBe(0);
+ expect(window.Flash.mock.calls.length).toBe(0);
})
.then(done)
.catch(done.fail);
@@ -96,8 +96,8 @@ describe('Filtered Search Visual Tokens', () => {
expect(tokenValueElement.innerText.trim()).toBe(dummyUser.name);
const avatar = tokenValueElement.querySelector('img.avatar');
- expect(avatar.src).toBe(dummyUser.avatar_url);
- expect(avatar.alt).toBe('');
+ expect(avatar.getAttribute('src')).toBe(dummyUser.avatar_url);
+ expect(avatar.getAttribute('alt')).toBe('');
})
.then(done)
.catch(done.fail);
@@ -260,10 +260,10 @@ describe('Filtered Search Visual Tokens', () => {
describe('render', () => {
const setupSpies = subject => {
- spyOn(subject, 'updateLabelTokenColor'); // eslint-disable-line jasmine/no-unsafe-spy
+ jest.spyOn(subject, 'updateLabelTokenColor').mockImplementation(() => {});
const updateLabelTokenColorSpy = subject.updateLabelTokenColor;
- spyOn(subject, 'updateUserTokenAppearance'); // eslint-disable-line jasmine/no-unsafe-spy
+ jest.spyOn(subject, 'updateUserTokenAppearance').mockImplementation(() => {});
const updateUserTokenAppearanceSpy = subject.updateUserTokenAppearance;
return { updateLabelTokenColorSpy, updateUserTokenAppearanceSpy };
@@ -290,11 +290,11 @@ describe('Filtered Search Visual Tokens', () => {
const { updateLabelTokenColorSpy, updateUserTokenAppearanceSpy } = setupSpies(subject);
subject.render(tokenValueContainer, tokenValueElement);
- expect(updateUserTokenAppearanceSpy.calls.count()).toBe(1);
+ expect(updateUserTokenAppearanceSpy.mock.calls.length).toBe(1);
const expectedArgs = [tokenValueContainer, tokenValueElement];
- expect(updateUserTokenAppearanceSpy.calls.argsFor(0)).toEqual(expectedArgs);
- expect(updateLabelTokenColorSpy.calls.count()).toBe(0);
+ expect(updateUserTokenAppearanceSpy.mock.calls[0]).toEqual(expectedArgs);
+ expect(updateLabelTokenColorSpy.mock.calls.length).toBe(0);
});
it('renders a label token value element', () => {
@@ -303,11 +303,11 @@ describe('Filtered Search Visual Tokens', () => {
const { updateLabelTokenColorSpy, updateUserTokenAppearanceSpy } = setupSpies(subject);
subject.render(tokenValueContainer, tokenValueElement);
- expect(updateLabelTokenColorSpy.calls.count()).toBe(1);
+ expect(updateLabelTokenColorSpy.mock.calls.length).toBe(1);
const expectedArgs = [tokenValueContainer];
- expect(updateLabelTokenColorSpy.calls.argsFor(0)).toEqual(expectedArgs);
- expect(updateUserTokenAppearanceSpy.calls.count()).toBe(0);
+ expect(updateLabelTokenColorSpy.mock.calls[0]).toEqual(expectedArgs);
+ expect(updateUserTokenAppearanceSpy.mock.calls.length).toBe(0);
});
it('renders a milestone token value element', () => {
@@ -316,8 +316,8 @@ describe('Filtered Search Visual Tokens', () => {
const { updateLabelTokenColorSpy, updateUserTokenAppearanceSpy } = setupSpies(subject);
subject.render(tokenValueContainer, tokenValueElement);
- expect(updateLabelTokenColorSpy.calls.count()).toBe(0);
- expect(updateUserTokenAppearanceSpy.calls.count()).toBe(0);
+ expect(updateLabelTokenColorSpy.mock.calls.length).toBe(0);
+ expect(updateUserTokenAppearanceSpy.mock.calls.length).toBe(0);
});
it('does not update user token appearance for `none` filter', () => {
@@ -328,7 +328,7 @@ describe('Filtered Search Visual Tokens', () => {
const { updateUserTokenAppearanceSpy } = setupSpies(subject);
subject.render(tokenValueContainer, tokenValueElement);
- expect(updateUserTokenAppearanceSpy.calls.count()).toBe(0);
+ expect(updateUserTokenAppearanceSpy.mock.calls.length).toBe(0);
});
it('does not update user token appearance for `None` filter', () => {
@@ -339,7 +339,7 @@ describe('Filtered Search Visual Tokens', () => {
const { updateUserTokenAppearanceSpy } = setupSpies(subject);
subject.render(tokenValueContainer, tokenValueElement);
- expect(updateUserTokenAppearanceSpy.calls.count()).toBe(0);
+ expect(updateUserTokenAppearanceSpy.mock.calls.length).toBe(0);
});
it('does not update user token appearance for `any` filter', () => {
@@ -350,7 +350,7 @@ describe('Filtered Search Visual Tokens', () => {
const { updateUserTokenAppearanceSpy } = setupSpies(subject);
subject.render(tokenValueContainer, tokenValueElement);
- expect(updateUserTokenAppearanceSpy.calls.count()).toBe(0);
+ expect(updateUserTokenAppearanceSpy.mock.calls.length).toBe(0);
});
it('does not update label token color for `None` filter', () => {
@@ -361,7 +361,7 @@ describe('Filtered Search Visual Tokens', () => {
const { updateLabelTokenColorSpy } = setupSpies(subject);
subject.render(tokenValueContainer, tokenValueElement);
- expect(updateLabelTokenColorSpy.calls.count()).toBe(0);
+ expect(updateLabelTokenColorSpy.mock.calls.length).toBe(0);
});
it('does not update label token color for `none` filter', () => {
@@ -372,7 +372,7 @@ describe('Filtered Search Visual Tokens', () => {
const { updateLabelTokenColorSpy } = setupSpies(subject);
subject.render(tokenValueContainer, tokenValueElement);
- expect(updateLabelTokenColorSpy.calls.count()).toBe(0);
+ expect(updateLabelTokenColorSpy.mock.calls.length).toBe(0);
});
it('does not update label token color for `any` filter', () => {
@@ -383,7 +383,7 @@ describe('Filtered Search Visual Tokens', () => {
const { updateLabelTokenColorSpy } = setupSpies(subject);
subject.render(tokenValueContainer, tokenValueElement);
- expect(updateLabelTokenColorSpy.calls.count()).toBe(0);
+ expect(updateLabelTokenColorSpy.mock.calls.length).toBe(0);
});
});
});
diff --git a/spec/frontend/groups/components/app_spec.js b/spec/frontend/groups/components/app_spec.js
index 6b2a814d721..35eda21e047 100644
--- a/spec/frontend/groups/components/app_spec.js
+++ b/spec/frontend/groups/components/app_spec.js
@@ -216,7 +216,7 @@ describe('AppComponent', () => {
let groupItem;
beforeEach(() => {
- groupItem = Object.assign({}, mockParentGroupItem);
+ groupItem = { ...mockParentGroupItem };
groupItem.isOpen = false;
groupItem.isChildrenLoading = false;
});
@@ -271,7 +271,7 @@ describe('AppComponent', () => {
describe('showLeaveGroupModal', () => {
it('caches candidate group (as props) which is to be left', () => {
- const group = Object.assign({}, mockParentGroupItem);
+ const group = { ...mockParentGroupItem };
expect(vm.targetGroup).toBe(null);
expect(vm.targetParentGroup).toBe(null);
@@ -282,7 +282,7 @@ describe('AppComponent', () => {
});
it('updates props which show modal confirmation dialog', () => {
- const group = Object.assign({}, mockParentGroupItem);
+ const group = { ...mockParentGroupItem };
expect(vm.showModal).toBe(false);
expect(vm.groupLeaveConfirmationMessage).toBe('');
@@ -297,7 +297,7 @@ describe('AppComponent', () => {
describe('hideLeaveGroupModal', () => {
it('hides modal confirmation which is shown before leaving the group', () => {
- const group = Object.assign({}, mockParentGroupItem);
+ const group = { ...mockParentGroupItem };
vm.showLeaveGroupModal(group, mockParentGroupItem);
expect(vm.showModal).toBe(true);
@@ -312,7 +312,7 @@ describe('AppComponent', () => {
let childGroupItem;
beforeEach(() => {
- groupItem = Object.assign({}, mockParentGroupItem);
+ groupItem = { ...mockParentGroupItem };
groupItem.children = mockChildren;
[childGroupItem] = groupItem.children;
groupItem.isChildrenLoading = false;
diff --git a/spec/frontend/groups/components/group_folder_spec.js b/spec/frontend/groups/components/group_folder_spec.js
index 4b545f05c58..a40fa9bece8 100644
--- a/spec/frontend/groups/components/group_folder_spec.js
+++ b/spec/frontend/groups/components/group_folder_spec.js
@@ -52,7 +52,7 @@ describe('GroupFolderComponent', () => {
});
it('should render more children link when groups list has children over MAX_CHILDREN_COUNT limit', () => {
- const parentGroup = Object.assign({}, mockParentGroupItem);
+ const parentGroup = { ...mockParentGroupItem };
parentGroup.childrenCount = 21;
const newVm = createComponent(mockGroups, parentGroup);
diff --git a/spec/frontend/groups/components/group_item_spec.js b/spec/frontend/groups/components/group_item_spec.js
index d1f7653923a..7eb1c54ddb2 100644
--- a/spec/frontend/groups/components/group_item_spec.js
+++ b/spec/frontend/groups/components/group_item_spec.js
@@ -52,7 +52,7 @@ describe('GroupItemComponent', () => {
describe('hasChildren', () => {
it('should return boolean value representing if group has any children present', () => {
let newVm;
- const group = Object.assign({}, mockParentGroupItem);
+ const group = { ...mockParentGroupItem };
group.childrenCount = 5;
newVm = createComponent(group);
@@ -71,7 +71,7 @@ describe('GroupItemComponent', () => {
describe('hasAvatar', () => {
it('should return boolean value representing if group has any avatar present', () => {
let newVm;
- const group = Object.assign({}, mockParentGroupItem);
+ const group = { ...mockParentGroupItem };
group.avatarUrl = null;
newVm = createComponent(group);
@@ -90,7 +90,7 @@ describe('GroupItemComponent', () => {
describe('isGroup', () => {
it('should return boolean value representing if group item is of type `group` or not', () => {
let newVm;
- const group = Object.assign({}, mockParentGroupItem);
+ const group = { ...mockParentGroupItem };
group.type = 'group';
newVm = createComponent(group);
@@ -138,7 +138,7 @@ describe('GroupItemComponent', () => {
it('should navigate page to group homepage if group does not have any children present', () => {
jest.spyOn(urlUtilities, 'visitUrl').mockImplementation();
- const group = Object.assign({}, mockParentGroupItem);
+ const group = { ...mockParentGroupItem };
group.childrenCount = 0;
const newVm = createComponent(group);
jest.spyOn(eventHub, '$emit').mockImplementation(() => {});
diff --git a/spec/frontend/groups/components/item_actions_spec.js b/spec/frontend/groups/components/item_actions_spec.js
index 2e0738bd1b4..c0dc1a816e6 100644
--- a/spec/frontend/groups/components/item_actions_spec.js
+++ b/spec/frontend/groups/components/item_actions_spec.js
@@ -46,7 +46,7 @@ describe('ItemActionsComponent', () => {
});
it('should render Edit Group button with correct attribute values', () => {
- const group = Object.assign({}, mockParentGroupItem);
+ const group = { ...mockParentGroupItem };
group.canEdit = true;
const newVm = createComponent(group);
@@ -64,7 +64,7 @@ describe('ItemActionsComponent', () => {
});
it('should render Leave Group button with correct attribute values', () => {
- const group = Object.assign({}, mockParentGroupItem);
+ const group = { ...mockParentGroupItem };
group.canLeave = true;
const newVm = createComponent(group);
diff --git a/spec/frontend/groups/components/item_stats_spec.js b/spec/frontend/groups/components/item_stats_spec.js
index fb4285a2b04..771643609ec 100644
--- a/spec/frontend/groups/components/item_stats_spec.js
+++ b/spec/frontend/groups/components/item_stats_spec.js
@@ -23,7 +23,7 @@ describe('ItemStatsComponent', () => {
describe('visibilityIcon', () => {
it('should return icon class based on `item.visibility` value', () => {
Object.keys(VISIBILITY_TYPE_ICON).forEach(visibility => {
- const item = Object.assign({}, mockParentGroupItem, { visibility });
+ const item = { ...mockParentGroupItem, visibility };
const vm = createComponent(item);
expect(vm.visibilityIcon).toBe(VISIBILITY_TYPE_ICON[visibility]);
@@ -35,10 +35,7 @@ describe('ItemStatsComponent', () => {
describe('visibilityTooltip', () => {
it('should return tooltip string for Group based on `item.visibility` value', () => {
Object.keys(GROUP_VISIBILITY_TYPE).forEach(visibility => {
- const item = Object.assign({}, mockParentGroupItem, {
- visibility,
- type: ITEM_TYPE.GROUP,
- });
+ const item = { ...mockParentGroupItem, visibility, type: ITEM_TYPE.GROUP };
const vm = createComponent(item);
expect(vm.visibilityTooltip).toBe(GROUP_VISIBILITY_TYPE[visibility]);
@@ -48,10 +45,7 @@ describe('ItemStatsComponent', () => {
it('should return tooltip string for Project based on `item.visibility` value', () => {
Object.keys(PROJECT_VISIBILITY_TYPE).forEach(visibility => {
- const item = Object.assign({}, mockParentGroupItem, {
- visibility,
- type: ITEM_TYPE.PROJECT,
- });
+ const item = { ...mockParentGroupItem, visibility, type: ITEM_TYPE.PROJECT };
const vm = createComponent(item);
expect(vm.visibilityTooltip).toBe(PROJECT_VISIBILITY_TYPE[visibility]);
@@ -65,13 +59,13 @@ describe('ItemStatsComponent', () => {
let item;
let vm;
- item = Object.assign({}, mockParentGroupItem, { type: ITEM_TYPE.PROJECT });
+ item = { ...mockParentGroupItem, type: ITEM_TYPE.PROJECT };
vm = createComponent(item);
expect(vm.isProject).toBeTruthy();
vm.$destroy();
- item = Object.assign({}, mockParentGroupItem, { type: ITEM_TYPE.GROUP });
+ item = { ...mockParentGroupItem, type: ITEM_TYPE.GROUP };
vm = createComponent(item);
expect(vm.isProject).toBeFalsy();
@@ -84,13 +78,13 @@ describe('ItemStatsComponent', () => {
let item;
let vm;
- item = Object.assign({}, mockParentGroupItem, { type: ITEM_TYPE.GROUP });
+ item = { ...mockParentGroupItem, type: ITEM_TYPE.GROUP };
vm = createComponent(item);
expect(vm.isGroup).toBeTruthy();
vm.$destroy();
- item = Object.assign({}, mockParentGroupItem, { type: ITEM_TYPE.PROJECT });
+ item = { ...mockParentGroupItem, type: ITEM_TYPE.PROJECT };
vm = createComponent(item);
expect(vm.isGroup).toBeFalsy();
@@ -109,10 +103,7 @@ describe('ItemStatsComponent', () => {
});
it('renders start count and last updated information for project item correctly', () => {
- const item = Object.assign({}, mockParentGroupItem, {
- type: ITEM_TYPE.PROJECT,
- starCount: 4,
- });
+ const item = { ...mockParentGroupItem, type: ITEM_TYPE.PROJECT, starCount: 4 };
const vm = createComponent(item);
const projectStarIconEl = vm.$el.querySelector('.project-stars');
diff --git a/spec/frontend/groups/components/item_stats_value_spec.js b/spec/frontend/groups/components/item_stats_value_spec.js
index 9561a329887..da6f145fa19 100644
--- a/spec/frontend/groups/components/item_stats_value_spec.js
+++ b/spec/frontend/groups/components/item_stats_value_spec.js
@@ -27,7 +27,7 @@ describe('ItemStatsValueComponent', () => {
describe('isValuePresent', () => {
it('returns true if non-empty `value` is present', () => {
- vm = createComponent(Object.assign({}, itemConfig, { value: 10 }));
+ vm = createComponent({ ...itemConfig, value: 10 });
expect(vm.isValuePresent).toBeTruthy();
});
diff --git a/spec/frontend/groups/store/groups_store_spec.js b/spec/frontend/groups/store/groups_store_spec.js
index 9eefcbe0275..7d12f73d270 100644
--- a/spec/frontend/groups/store/groups_store_spec.js
+++ b/spec/frontend/groups/store/groups_store_spec.js
@@ -108,8 +108,8 @@ describe('ProjectsStore', () => {
describe('removeGroup', () => {
it('should remove children from group item in state', () => {
const store = new GroupsStore();
- const rawParentGroup = Object.assign({}, mockGroups[0]);
- const rawChildGroup = Object.assign({}, mockGroups[1]);
+ const rawParentGroup = { ...mockGroups[0] };
+ const rawChildGroup = { ...mockGroups[1] };
store.setGroups([rawParentGroup]);
store.setGroupChildren(store.state.groups[0], [rawChildGroup]);
diff --git a/spec/frontend/helpers/event_hub_factory_spec.js b/spec/frontend/helpers/event_hub_factory_spec.js
new file mode 100644
index 00000000000..ff00e29a40a
--- /dev/null
+++ b/spec/frontend/helpers/event_hub_factory_spec.js
@@ -0,0 +1,36 @@
+import createEventHub from '~/helpers/event_hub_factory';
+import mitt from 'mitt';
+
+jest.mock('mitt');
+
+mitt.mockReturnValue({
+ on: () => {},
+ off: () => {},
+ emit: () => {},
+});
+
+describe('event bus factory', () => {
+ let eventBus;
+
+ beforeEach(() => {
+ eventBus = createEventHub();
+ });
+
+ afterEach(() => {
+ eventBus = null;
+ });
+
+ it('creates an emitter', () => {
+ expect(mitt).toHaveBeenCalled();
+ });
+
+ it.each`
+ method
+ ${'on'}
+ ${'off'}
+ ${'emit'}
+ `('binds $$method to $method ', ({ method }) => {
+ expect(typeof eventBus[method]).toBe('function');
+ expect(eventBus[method]).toBe(eventBus[`$${method}`]);
+ });
+});
diff --git a/spec/frontend/helpers/set_window_location_helper.js b/spec/frontend/helpers/set_window_location_helper.js
new file mode 100644
index 00000000000..a94e73762c9
--- /dev/null
+++ b/spec/frontend/helpers/set_window_location_helper.js
@@ -0,0 +1,40 @@
+/**
+ * setWindowLocation allows for setting `window.location`
+ * (doing so directly is causing an error in jsdom)
+ *
+ * Example usage:
+ * assert(window.location.hash === undefined);
+ * setWindowLocation('http://example.com#foo')
+ * assert(window.location.hash === '#foo');
+ *
+ * More information:
+ * https://github.com/facebook/jest/issues/890
+ *
+ * @param url
+ */
+export default function setWindowLocation(url) {
+ const parsedUrl = new URL(url);
+
+ const newLocationValue = [
+ 'hash',
+ 'host',
+ 'hostname',
+ 'href',
+ 'origin',
+ 'pathname',
+ 'port',
+ 'protocol',
+ 'search',
+ ].reduce(
+ (location, prop) => ({
+ ...location,
+ [prop]: parsedUrl[prop],
+ }),
+ {},
+ );
+
+ Object.defineProperty(window, 'location', {
+ value: newLocationValue,
+ writable: true,
+ });
+}
diff --git a/spec/frontend/helpers/set_window_location_helper_spec.js b/spec/frontend/helpers/set_window_location_helper_spec.js
new file mode 100644
index 00000000000..2a2c024c824
--- /dev/null
+++ b/spec/frontend/helpers/set_window_location_helper_spec.js
@@ -0,0 +1,40 @@
+import setWindowLocation from './set_window_location_helper';
+
+describe('setWindowLocation', () => {
+ const originalLocation = window.location;
+
+ afterEach(() => {
+ window.location = originalLocation;
+ });
+
+ it.each`
+ url | property | value
+ ${'https://gitlab.com#foo'} | ${'hash'} | ${'#foo'}
+ ${'http://gitlab.com'} | ${'host'} | ${'gitlab.com'}
+ ${'http://gitlab.org'} | ${'hostname'} | ${'gitlab.org'}
+ ${'http://gitlab.org/foo#bar'} | ${'href'} | ${'http://gitlab.org/foo#bar'}
+ ${'http://gitlab.com'} | ${'origin'} | ${'http://gitlab.com'}
+ ${'http://gitlab.com/foo/bar/baz'} | ${'pathname'} | ${'/foo/bar/baz'}
+ ${'https://gitlab.com'} | ${'protocol'} | ${'https:'}
+ ${'http://gitlab.com#foo'} | ${'protocol'} | ${'http:'}
+ ${'http://gitlab.com:8080'} | ${'port'} | ${'8080'}
+ ${'http://gitlab.com?foo=bar&bar=foo'} | ${'search'} | ${'?foo=bar&bar=foo'}
+ `(
+ 'sets "window.location.$property" to be "$value" when called with: "$url"',
+ ({ url, property, value }) => {
+ expect(window.location).toBe(originalLocation);
+
+ setWindowLocation(url);
+
+ expect(window.location[property]).toBe(value);
+ },
+ );
+
+ it.each([null, 1, undefined, false, '', 'gitlab.com'])(
+ 'throws an error when called with an invalid url: "%s"',
+ invalidUrl => {
+ expect(() => setWindowLocation(invalidUrl)).toThrow(new TypeError('Invalid URL'));
+ expect(window.location).toBe(originalLocation);
+ },
+ );
+});
diff --git a/spec/javascripts/ide/components/commit_sidebar/radio_group_spec.js b/spec/frontend/ide/components/commit_sidebar/radio_group_spec.js
index b30f0e6822b..ac80ba58056 100644
--- a/spec/javascripts/ide/components/commit_sidebar/radio_group_spec.js
+++ b/spec/frontend/ide/components/commit_sidebar/radio_group_spec.js
@@ -1,6 +1,6 @@
import Vue from 'vue';
-import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
-import { resetStore } from 'spec/ide/helpers';
+import { createComponentWithStore } from 'helpers/vue_mount_component_helper';
+import { resetStore } from 'jest/ide/helpers';
import store from '~/ide/stores';
import radioGroup from '~/ide/components/commit_sidebar/radio_group.vue';
@@ -41,13 +41,8 @@ describe('IDE commit sidebar radio group', () => {
radioGroup,
},
store,
- template: `
- <radio-group
- value="1"
- >
- Testing slot
- </radio-group>
- `,
+ render: createElement =>
+ createElement('radio-group', { props: { value: '1' } }, 'Testing slot'),
});
vm.$mount();
diff --git a/spec/javascripts/ide/components/file_row_extra_spec.js b/spec/frontend/ide/components/file_row_extra_spec.js
index 9fd014b50ef..e78bacadebb 100644
--- a/spec/javascripts/ide/components/file_row_extra_spec.js
+++ b/spec/frontend/ide/components/file_row_extra_spec.js
@@ -1,5 +1,5 @@
import Vue from 'vue';
-import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
+import { createComponentWithStore } from 'helpers/vue_mount_component_helper';
import { createStore } from '~/ide/stores';
import FileRowExtra from '~/ide/components/file_row_extra.vue';
import { file, resetStore } from '../helpers';
@@ -23,9 +23,9 @@ describe('IDE extra file row component', () => {
dropdownOpen: false,
});
- spyOnProperty(vm, 'getUnstagedFilesCountForPath').and.returnValue(() => unstagedFilesCount);
- spyOnProperty(vm, 'getStagedFilesCountForPath').and.returnValue(() => stagedFilesCount);
- spyOnProperty(vm, 'getChangesInFolder').and.returnValue(() => changesCount);
+ jest.spyOn(vm, 'getUnstagedFilesCountForPath', 'get').mockReturnValue(() => unstagedFilesCount);
+ jest.spyOn(vm, 'getStagedFilesCountForPath', 'get').mockReturnValue(() => stagedFilesCount);
+ jest.spyOn(vm, 'getChangesInFolder', 'get').mockReturnValue(() => changesCount);
vm.$mount();
});
diff --git a/spec/javascripts/ide/components/ide_review_spec.js b/spec/frontend/ide/components/ide_review_spec.js
index 396c5d282d4..b56957e1f6d 100644
--- a/spec/javascripts/ide/components/ide_review_spec.js
+++ b/spec/frontend/ide/components/ide_review_spec.js
@@ -1,6 +1,6 @@
import Vue from 'vue';
import IdeReview from '~/ide/components/ide_review.vue';
-import store from '~/ide/stores';
+import { createStore } from '~/ide/stores';
import { createComponentWithStore } from '../../helpers/vue_mount_component_helper';
import { trimText } from '../../helpers/text_helper';
import { resetStore, file } from '../helpers';
@@ -9,11 +9,13 @@ import { projectData } from '../mock_data';
describe('IDE review mode', () => {
const Component = Vue.extend(IdeReview);
let vm;
+ let store;
beforeEach(() => {
+ store = createStore();
store.state.currentProjectId = 'abcproject';
store.state.currentBranchId = 'master';
- store.state.projects.abcproject = Object.assign({}, projectData);
+ store.state.projects.abcproject = { ...projectData };
Vue.set(store.state.trees, 'abcproject/master', {
tree: [file('fileName')],
loading: false,
@@ -33,14 +35,14 @@ describe('IDE review mode', () => {
});
describe('merge request', () => {
- beforeEach(done => {
+ beforeEach(() => {
store.state.currentMergeRequestId = '1';
store.state.projects.abcproject.mergeRequests['1'] = {
iid: 123,
web_url: 'testing123',
};
- vm.$nextTick(done);
+ return vm.$nextTick();
});
it('renders edit dropdown', () => {
@@ -48,21 +50,23 @@ describe('IDE review mode', () => {
});
it('renders merge request link & IID', () => {
- const link = vm.$el.querySelector('.ide-review-sub-header');
+ store.state.viewer = 'mrdiff';
- expect(link.querySelector('a').getAttribute('href')).toBe('testing123');
- expect(trimText(link.textContent)).toBe('Merge request (!123)');
+ return vm.$nextTick(() => {
+ const link = vm.$el.querySelector('.ide-review-sub-header');
+
+ expect(link.querySelector('a').getAttribute('href')).toBe('testing123');
+ expect(trimText(link.textContent)).toBe('Merge request (!123)');
+ });
});
- it('changes text to latest changes when viewer is not mrdiff', done => {
+ it('changes text to latest changes when viewer is not mrdiff', () => {
store.state.viewer = 'diff';
- vm.$nextTick(() => {
+ return vm.$nextTick(() => {
expect(trimText(vm.$el.querySelector('.ide-review-sub-header').textContent)).toBe(
'Latest changes',
);
-
- done();
});
});
});
diff --git a/spec/frontend/ide/components/ide_spec.js b/spec/frontend/ide/components/ide_spec.js
index ad2b3c8c01a..78a280e6304 100644
--- a/spec/frontend/ide/components/ide_spec.js
+++ b/spec/frontend/ide/components/ide_spec.js
@@ -10,7 +10,7 @@ function bootstrap(projData) {
store.state.currentProjectId = 'abcproject';
store.state.currentBranchId = 'master';
- store.state.projects.abcproject = Object.assign({}, projData);
+ store.state.projects.abcproject = { ...projData };
Vue.set(store.state.trees, 'abcproject/master', {
tree: [],
loading: false,
@@ -27,7 +27,7 @@ describe('ide component, empty repo', () => {
let vm;
beforeEach(() => {
- const emptyProjData = Object.assign({}, projectData, { empty_repo: true, branches: {} });
+ const emptyProjData = { ...projectData, empty_repo: true, branches: {} };
vm = bootstrap(emptyProjData);
vm.$mount();
});
diff --git a/spec/javascripts/ide/components/ide_status_bar_spec.js b/spec/frontend/ide/components/ide_status_bar_spec.js
index 3facf1c266a..bc8144f544c 100644
--- a/spec/javascripts/ide/components/ide_status_bar_spec.js
+++ b/spec/frontend/ide/components/ide_status_bar_spec.js
@@ -1,7 +1,7 @@
import Vue from 'vue';
import _ from 'lodash';
-import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
-import { TEST_HOST } from 'spec/test_constants';
+import { createComponentWithStore } from 'helpers/vue_mount_component_helper';
+import { TEST_HOST } from '../../helpers/test_constants';
import { createStore } from '~/ide/stores';
import IdeStatusBar from '~/ide/components/ide_status_bar.vue';
import { rightSidebarViews } from '~/ide/constants';
@@ -45,26 +45,24 @@ describe('ideStatusBar', () => {
});
describe('commitAgeUpdate', () => {
- beforeEach(function() {
- jasmine.clock().install();
- spyOn(vm, 'commitAgeUpdate').and.callFake(() => {});
- vm.startTimer();
+ beforeEach(() => {
+ jest.spyOn(vm, 'commitAgeUpdate').mockImplementation(() => {});
});
- afterEach(function() {
- jasmine.clock().uninstall();
+ afterEach(() => {
+ jest.clearAllTimers();
});
it('gets called every second', () => {
expect(vm.commitAgeUpdate).not.toHaveBeenCalled();
- jasmine.clock().tick(1100);
+ jest.advanceTimersByTime(1000);
- expect(vm.commitAgeUpdate.calls.count()).toEqual(1);
+ expect(vm.commitAgeUpdate.mock.calls.length).toEqual(1);
- jasmine.clock().tick(1000);
+ jest.advanceTimersByTime(1000);
- expect(vm.commitAgeUpdate.calls.count()).toEqual(2);
+ expect(vm.commitAgeUpdate.mock.calls.length).toEqual(2);
});
});
@@ -76,7 +74,7 @@ describe('ideStatusBar', () => {
describe('pipeline status', () => {
it('opens right sidebar on clicking icon', done => {
- spyOn(vm, 'openRightPane');
+ jest.spyOn(vm, 'openRightPane').mockImplementation(() => {});
Vue.set(vm.$store.state.pipelines, 'latestPipeline', {
details: {
status: {
diff --git a/spec/frontend/ide/components/ide_tree_list_spec.js b/spec/frontend/ide/components/ide_tree_list_spec.js
index 6694ac497fb..30f11db3153 100644
--- a/spec/frontend/ide/components/ide_tree_list_spec.js
+++ b/spec/frontend/ide/components/ide_tree_list_spec.js
@@ -14,7 +14,7 @@ describe('IDE tree list', () => {
const bootstrapWithTree = (tree = normalBranchTree) => {
store.state.currentProjectId = 'abcproject';
store.state.currentBranchId = 'master';
- store.state.projects.abcproject = Object.assign({}, projectData);
+ store.state.projects.abcproject = { ...projectData };
Vue.set(store.state.trees, 'abcproject/master', {
tree,
loading: false,
diff --git a/spec/frontend/ide/components/ide_tree_spec.js b/spec/frontend/ide/components/ide_tree_spec.js
index 97a0a2432f1..01f007f09c3 100644
--- a/spec/frontend/ide/components/ide_tree_spec.js
+++ b/spec/frontend/ide/components/ide_tree_spec.js
@@ -13,7 +13,7 @@ describe('IdeRepoTree', () => {
store.state.currentProjectId = 'abcproject';
store.state.currentBranchId = 'master';
- store.state.projects.abcproject = Object.assign({}, projectData);
+ store.state.projects.abcproject = { ...projectData };
Vue.set(store.state.trees, 'abcproject/master', {
tree: [file('fileName')],
loading: false,
diff --git a/spec/javascripts/ide/components/merge_requests/item_spec.js b/spec/frontend/ide/components/merge_requests/item_spec.js
index 155a247defb..6a2451ad263 100644
--- a/spec/javascripts/ide/components/merge_requests/item_spec.js
+++ b/spec/frontend/ide/components/merge_requests/item_spec.js
@@ -33,7 +33,7 @@ describe('IDE merge request item', () => {
`/project/${vm.item.projectPathWithNamespace}/merge_requests/${vm.item.iid}`,
).href;
- expect(vm.$el).toMatch('a');
+ expect(vm.$el.tagName.toLowerCase()).toBe('a');
expect(vm.$el).toHaveAttr('href', expectedHref);
});
diff --git a/spec/frontend/ide/components/new_dropdown/index_spec.js b/spec/frontend/ide/components/new_dropdown/index_spec.js
index f4fecb68b64..00781c16609 100644
--- a/spec/frontend/ide/components/new_dropdown/index_spec.js
+++ b/spec/frontend/ide/components/new_dropdown/index_spec.js
@@ -23,9 +23,9 @@ describe('new dropdown component', () => {
tree: [],
};
- jest.spyOn(vm, 'openNewEntryModal').mockImplementation(() => {});
-
vm.$mount();
+
+ jest.spyOn(vm.$refs.newModal, 'open').mockImplementation(() => {});
});
afterEach(() => {
@@ -43,16 +43,16 @@ describe('new dropdown component', () => {
});
describe('createNewItem', () => {
- it('sets modalType to blob when new file is clicked', () => {
+ it('opens modal for a blob when new file is clicked', () => {
vm.$el.querySelectorAll('.dropdown-menu button')[0].click();
- expect(vm.openNewEntryModal).toHaveBeenCalledWith({ type: 'blob', path: '' });
+ expect(vm.$refs.newModal.open).toHaveBeenCalledWith('blob', '');
});
- it('sets modalType to tree when new directory is clicked', () => {
+ it('opens modal for a tree when new directory is clicked', () => {
vm.$el.querySelectorAll('.dropdown-menu button')[2].click();
- expect(vm.openNewEntryModal).toHaveBeenCalledWith({ type: 'tree', path: '' });
+ expect(vm.$refs.newModal.open).toHaveBeenCalledWith('tree', '');
});
});
diff --git a/spec/frontend/ide/components/new_dropdown/modal_spec.js b/spec/frontend/ide/components/new_dropdown/modal_spec.js
index 2f10bf787b3..23da4df188b 100644
--- a/spec/frontend/ide/components/new_dropdown/modal_spec.js
+++ b/spec/frontend/ide/components/new_dropdown/modal_spec.js
@@ -14,55 +14,48 @@ describe('new file modal component', () => {
vm.$destroy();
});
- describe.each(['tree', 'blob'])('%s', type => {
- beforeEach(() => {
+ describe.each`
+ entryType | modalTitle | btnTitle | showsFileTemplates
+ ${'tree'} | ${'Create new directory'} | ${'Create directory'} | ${false}
+ ${'blob'} | ${'Create new file'} | ${'Create file'} | ${true}
+ `('$entryType', ({ entryType, modalTitle, btnTitle, showsFileTemplates }) => {
+ beforeEach(done => {
const store = createStore();
- store.state.entryModal = {
- type,
- path: '',
- entry: {
- path: '',
- },
- };
vm = createComponentWithStore(Component, store).$mount();
-
+ vm.open(entryType);
vm.name = 'testing';
- });
- it(`sets modal title as ${type}`, () => {
- const title = type === 'tree' ? 'directory' : 'file';
+ vm.$nextTick(done);
+ });
- expect(vm.$el.querySelector('.modal-title').textContent.trim()).toBe(`Create new ${title}`);
+ afterEach(() => {
+ vm.close();
});
- it(`sets button label as ${type}`, () => {
- const title = type === 'tree' ? 'directory' : 'file';
+ it(`sets modal title as ${entryType}`, () => {
+ expect(document.querySelector('.modal-title').textContent.trim()).toBe(modalTitle);
+ });
- expect(vm.$el.querySelector('.btn-success').textContent.trim()).toBe(`Create ${title}`);
+ it(`sets button label as ${entryType}`, () => {
+ expect(document.querySelector('.btn-success').textContent.trim()).toBe(btnTitle);
});
- it(`sets form label as ${type}`, () => {
- expect(vm.$el.querySelector('.label-bold').textContent.trim()).toBe('Name');
+ it(`sets form label as ${entryType}`, () => {
+ expect(document.querySelector('.label-bold').textContent.trim()).toBe('Name');
});
- it(`${type === 'tree' ? 'does not show' : 'shows'} file templates`, () => {
- const templateFilesEl = vm.$el.querySelector('.file-templates');
- if (type === 'tree') {
- expect(templateFilesEl).toBeNull();
- } else {
- expect(templateFilesEl instanceof Element).toBeTruthy();
- }
+ it(`shows file templates: ${showsFileTemplates}`, () => {
+ const templateFilesEl = document.querySelector('.file-templates');
+ expect(Boolean(templateFilesEl)).toBe(showsFileTemplates);
});
});
describe('rename entry', () => {
beforeEach(() => {
const store = createStore();
- store.state.entryModal = {
- type: 'rename',
- path: '',
- entry: {
+ store.state.entries = {
+ 'test-path': {
name: 'test',
type: 'blob',
path: 'test-path',
@@ -72,23 +65,29 @@ describe('new file modal component', () => {
vm = createComponentWithStore(Component, store).$mount();
});
- ['tree', 'blob'].forEach(type => {
- it(`renders title and button for renaming ${type}`, done => {
- const text = type === 'tree' ? 'folder' : 'file';
-
- vm.$store.state.entryModal.entry.type = type;
+ it.each`
+ entryType | modalTitle | btnTitle
+ ${'tree'} | ${'Rename folder'} | ${'Rename folder'}
+ ${'blob'} | ${'Rename file'} | ${'Rename file'}
+ `(
+ 'renders title and button for renaming $entryType',
+ ({ entryType, modalTitle, btnTitle }, done) => {
+ vm.$store.state.entries['test-path'].type = entryType;
+ vm.open('rename', 'test-path');
vm.$nextTick(() => {
- expect(vm.$el.querySelector('.modal-title').textContent.trim()).toBe(`Rename ${text}`);
- expect(vm.$el.querySelector('.btn-success').textContent.trim()).toBe(`Rename ${text}`);
+ expect(document.querySelector('.modal-title').textContent.trim()).toBe(modalTitle);
+ expect(document.querySelector('.btn-success').textContent.trim()).toBe(btnTitle);
done();
});
- });
- });
+ },
+ );
describe('entryName', () => {
it('returns entries name', () => {
+ vm.open('rename', 'test-path');
+
expect(vm.entryName).toBe('test-path');
});
@@ -115,15 +114,6 @@ describe('new file modal component', () => {
describe('submitForm', () => {
it('throws an error when target entry exists', () => {
const store = createStore();
- store.state.entryModal = {
- type: 'rename',
- path: 'test-path/test',
- entry: {
- name: 'test',
- type: 'blob',
- path: 'test-path/test',
- },
- };
store.state.entries = {
'test-path/test': {
name: 'test',
@@ -132,6 +122,7 @@ describe('new file modal component', () => {
};
vm = createComponentWithStore(Component, store).$mount();
+ vm.open('rename', 'test-path/test');
expect(createFlash).not.toHaveBeenCalled();
diff --git a/spec/javascripts/ide/components/new_dropdown/upload_spec.js b/spec/frontend/ide/components/new_dropdown/upload_spec.js
index 66ddf6c0ee6..a418fdeb572 100644
--- a/spec/javascripts/ide/components/new_dropdown/upload_spec.js
+++ b/spec/frontend/ide/components/new_dropdown/upload_spec.js
@@ -1,5 +1,5 @@
import Vue from 'vue';
-import createComponent from 'spec/helpers/vue_mount_component_helper';
+import createComponent from 'helpers/vue_mount_component_helper';
import upload from '~/ide/components/new_dropdown/upload.vue';
describe('new dropdown upload', () => {
@@ -14,7 +14,7 @@ describe('new dropdown upload', () => {
vm.entryName = 'testing';
- spyOn(vm, '$emit').and.callThrough();
+ jest.spyOn(vm, '$emit');
});
afterEach(() => {
@@ -25,22 +25,22 @@ describe('new dropdown upload', () => {
it('calls for each file', () => {
const files = ['test', 'test2', 'test3'];
- spyOn(vm, 'readFile');
- spyOnProperty(vm.$refs.fileUpload, 'files').and.returnValue(files);
+ jest.spyOn(vm, 'readFile').mockImplementation(() => {});
+ jest.spyOn(vm.$refs.fileUpload, 'files', 'get').mockReturnValue(files);
vm.openFile();
- expect(vm.readFile.calls.count()).toBe(3);
+ expect(vm.readFile.mock.calls.length).toBe(3);
files.forEach((file, i) => {
- expect(vm.readFile.calls.argsFor(i)).toEqual([file]);
+ expect(vm.readFile.mock.calls[i]).toEqual([file]);
});
});
});
describe('readFile', () => {
beforeEach(() => {
- spyOn(FileReader.prototype, 'readAsDataURL');
+ jest.spyOn(FileReader.prototype, 'readAsDataURL').mockImplementation(() => {});
});
it('calls readAsDataURL for all files', () => {
@@ -69,7 +69,7 @@ describe('new dropdown upload', () => {
};
beforeEach(() => {
- spyOn(FileReader.prototype, 'readAsText').and.callThrough();
+ jest.spyOn(FileReader.prototype, 'readAsText');
});
it('calls readAsText and creates file in plain text (without encoding) if the file content is plain text', done => {
diff --git a/spec/frontend/ide/lib/editor_spec.js b/spec/frontend/ide/lib/editor_spec.js
index 78e7bf5b58a..36d4c3c26ee 100644
--- a/spec/frontend/ide/lib/editor_spec.js
+++ b/spec/frontend/ide/lib/editor_spec.js
@@ -1,4 +1,4 @@
-import { editor as monacoEditor } from 'monaco-editor';
+import { editor as monacoEditor, languages as monacoLanguages } from 'monaco-editor';
import Editor from '~/ide/lib/editor';
import { defaultEditorOptions } from '~/ide/lib/editor_options';
import { file } from '../helpers';
@@ -181,6 +181,18 @@ describe('Multi-file editor library', () => {
});
});
+ describe('languages', () => {
+ it('registers custom languages defined with Monaco', () => {
+ expect(monacoLanguages.getLanguages()).toEqual(
+ expect.arrayContaining([
+ expect.objectContaining({
+ id: 'vue',
+ }),
+ ]),
+ );
+ });
+ });
+
describe('dispose', () => {
it('calls disposble dispose method', () => {
jest.spyOn(instance.disposable, 'dispose');
diff --git a/spec/frontend/ide/lib/languages/vue_spec.js b/spec/frontend/ide/lib/languages/vue_spec.js
new file mode 100644
index 00000000000..3d8784c1436
--- /dev/null
+++ b/spec/frontend/ide/lib/languages/vue_spec.js
@@ -0,0 +1,92 @@
+import { editor } from 'monaco-editor';
+import { registerLanguages } from '~/ide/utils';
+import vue from '~/ide/lib/languages/vue';
+
+// This file only tests syntax specific to vue. This does not test existing syntaxes
+// of html, javascript, css and handlebars, which vue files extend.
+describe('tokenization for .vue files', () => {
+ beforeEach(() => {
+ registerLanguages(vue);
+ });
+
+ test.each([
+ [
+ '<div v-if="something">content</div>',
+ [
+ [
+ { language: 'vue', offset: 0, type: 'delimiter.html' },
+ { language: 'vue', offset: 1, type: 'tag.html' },
+ { language: 'vue', offset: 4, type: '' },
+ { language: 'vue', offset: 5, type: 'variable' },
+ { language: 'vue', offset: 21, type: 'delimiter.html' },
+ { language: 'vue', offset: 22, type: '' },
+ { language: 'vue', offset: 29, type: 'delimiter.html' },
+ { language: 'vue', offset: 31, type: 'tag.html' },
+ { language: 'vue', offset: 34, type: 'delimiter.html' },
+ ],
+ ],
+ ],
+ [
+ '<input :placeholder="placeholder">',
+ [
+ [
+ { language: 'vue', offset: 0, type: 'delimiter.html' },
+ { language: 'vue', offset: 1, type: 'tag.html' },
+ { language: 'vue', offset: 6, type: '' },
+ { language: 'vue', offset: 7, type: 'variable' },
+ { language: 'vue', offset: 33, type: 'delimiter.html' },
+ ],
+ ],
+ ],
+ [
+ '<gl-modal @ok="submitForm()"></gl-modal>',
+ [
+ [
+ { language: 'vue', offset: 0, type: 'delimiter.html' },
+ { language: 'vue', offset: 1, type: 'tag.html' },
+ { language: 'vue', offset: 3, type: 'attribute.name' },
+ { language: 'vue', offset: 9, type: '' },
+ { language: 'vue', offset: 10, type: 'variable' },
+ { language: 'vue', offset: 28, type: 'delimiter.html' },
+ { language: 'vue', offset: 31, type: 'tag.html' },
+ { language: 'vue', offset: 33, type: 'attribute.name' },
+ { language: 'vue', offset: 39, type: 'delimiter.html' },
+ ],
+ ],
+ ],
+ [
+ '<a v-on:click.stop="doSomething">...</a>',
+ [
+ [
+ { language: 'vue', offset: 0, type: 'delimiter.html' },
+ { language: 'vue', offset: 1, type: 'tag.html' },
+ { language: 'vue', offset: 2, type: '' },
+ { language: 'vue', offset: 3, type: 'variable' },
+ { language: 'vue', offset: 32, type: 'delimiter.html' },
+ { language: 'vue', offset: 33, type: '' },
+ { language: 'vue', offset: 36, type: 'delimiter.html' },
+ { language: 'vue', offset: 38, type: 'tag.html' },
+ { language: 'vue', offset: 39, type: 'delimiter.html' },
+ ],
+ ],
+ ],
+ [
+ '<a @[event]="doSomething">...</a>',
+ [
+ [
+ { language: 'vue', offset: 0, type: 'delimiter.html' },
+ { language: 'vue', offset: 1, type: 'tag.html' },
+ { language: 'vue', offset: 2, type: '' },
+ { language: 'vue', offset: 3, type: 'variable' },
+ { language: 'vue', offset: 25, type: 'delimiter.html' },
+ { language: 'vue', offset: 26, type: '' },
+ { language: 'vue', offset: 29, type: 'delimiter.html' },
+ { language: 'vue', offset: 31, type: 'tag.html' },
+ { language: 'vue', offset: 32, type: 'delimiter.html' },
+ ],
+ ],
+ ],
+ ])('%s', (string, tokens) => {
+ expect(editor.tokenize(string, 'vue')).toEqual(tokens);
+ });
+});
diff --git a/spec/frontend/ide/stores/mutations_spec.js b/spec/frontend/ide/stores/mutations_spec.js
index 5d0fe35a10e..bca355b820a 100644
--- a/spec/frontend/ide/stores/mutations_spec.js
+++ b/spec/frontend/ide/stores/mutations_spec.js
@@ -339,23 +339,6 @@ describe('Multi-file store mutations', () => {
});
});
- describe('OPEN_NEW_ENTRY_MODAL', () => {
- it('sets entryModal', () => {
- localState.entries.testPath = file();
-
- mutations.OPEN_NEW_ENTRY_MODAL(localState, {
- type: 'test',
- path: 'testPath',
- });
-
- expect(localState.entryModal).toEqual({
- type: 'test',
- path: 'testPath',
- entry: localState.entries.testPath,
- });
- });
- });
-
describe('RENAME_ENTRY', () => {
beforeEach(() => {
localState.trees = {
diff --git a/spec/frontend/ide/utils_spec.js b/spec/frontend/ide/utils_spec.js
index 44eae7eacbe..10a31842dd4 100644
--- a/spec/frontend/ide/utils_spec.js
+++ b/spec/frontend/ide/utils_spec.js
@@ -1,6 +1,7 @@
import { commitItemIconMap } from '~/ide/constants';
-import { getCommitIconMap, isTextFile } from '~/ide/utils';
+import { getCommitIconMap, isTextFile, registerLanguages } from '~/ide/utils';
import { decorateData } from '~/ide/stores/utils';
+import { languages } from 'monaco-editor';
describe('WebIDE utils', () => {
describe('isTextFile', () => {
@@ -102,4 +103,78 @@ describe('WebIDE utils', () => {
expect(getCommitIconMap(entry)).toEqual(commitItemIconMap.modified);
});
});
+
+ describe('registerLanguages', () => {
+ let langs;
+
+ beforeEach(() => {
+ langs = [
+ {
+ id: 'html',
+ extensions: ['.html'],
+ conf: { comments: { blockComment: ['<!--', '-->'] } },
+ language: { tokenizer: {} },
+ },
+ {
+ id: 'css',
+ extensions: ['.css'],
+ conf: { comments: { blockComment: ['/*', '*/'] } },
+ language: { tokenizer: {} },
+ },
+ {
+ id: 'js',
+ extensions: ['.js'],
+ conf: { comments: { blockComment: ['/*', '*/'] } },
+ language: { tokenizer: {} },
+ },
+ ];
+
+ jest.spyOn(languages, 'register').mockImplementation(() => {});
+ jest.spyOn(languages, 'setMonarchTokensProvider').mockImplementation(() => {});
+ jest.spyOn(languages, 'setLanguageConfiguration').mockImplementation(() => {});
+ });
+
+ it('registers all the passed languages with Monaco', () => {
+ registerLanguages(...langs);
+
+ expect(languages.register.mock.calls).toEqual([
+ [
+ {
+ conf: { comments: { blockComment: ['/*', '*/'] } },
+ extensions: ['.css'],
+ id: 'css',
+ language: { tokenizer: {} },
+ },
+ ],
+ [
+ {
+ conf: { comments: { blockComment: ['/*', '*/'] } },
+ extensions: ['.js'],
+ id: 'js',
+ language: { tokenizer: {} },
+ },
+ ],
+ [
+ {
+ conf: { comments: { blockComment: ['<!--', '-->'] } },
+ extensions: ['.html'],
+ id: 'html',
+ language: { tokenizer: {} },
+ },
+ ],
+ ]);
+
+ expect(languages.setMonarchTokensProvider.mock.calls).toEqual([
+ ['css', { tokenizer: {} }],
+ ['js', { tokenizer: {} }],
+ ['html', { tokenizer: {} }],
+ ]);
+
+ expect(languages.setLanguageConfiguration.mock.calls).toEqual([
+ ['css', { comments: { blockComment: ['/*', '*/'] } }],
+ ['js', { comments: { blockComment: ['/*', '*/'] } }],
+ ['html', { comments: { blockComment: ['<!--', '-->'] } }],
+ ]);
+ });
+ });
});
diff --git a/spec/frontend/import_projects/components/import_projects_table_spec.js b/spec/frontend/import_projects/components/import_projects_table_spec.js
index 8f60823ee72..9491b52c888 100644
--- a/spec/frontend/import_projects/components/import_projects_table_spec.js
+++ b/spec/frontend/import_projects/components/import_projects_table_spec.js
@@ -17,11 +17,12 @@ describe('ImportProjectsTable', () => {
};
function initStore() {
- const stubbedActions = Object.assign({}, actions, {
+ const stubbedActions = {
+ ...actions,
fetchJobs: jest.fn(),
fetchRepos: jest.fn(actions.requestRepos),
fetchImport: jest.fn(actions.requestImport),
- });
+ };
const store = new Vuex.Store({
state: state(),
diff --git a/spec/frontend/import_projects/components/provider_repo_table_row_spec.js b/spec/frontend/import_projects/components/provider_repo_table_row_spec.js
index 8efd526e360..8be645c496f 100644
--- a/spec/frontend/import_projects/components/provider_repo_table_row_spec.js
+++ b/spec/frontend/import_projects/components/provider_repo_table_row_spec.js
@@ -18,9 +18,7 @@ describe('ProviderRepoTableRow', () => {
};
function initStore() {
- const stubbedActions = Object.assign({}, actions, {
- fetchImport,
- });
+ const stubbedActions = { ...actions, fetchImport };
const store = new Vuex.Store({
state: state(),
diff --git a/spec/frontend/integrations/edit/components/active_toggle_spec.js b/spec/frontend/integrations/edit/components/active_toggle_spec.js
index 8a11c200c15..4b968c9a70b 100644
--- a/spec/frontend/integrations/edit/components/active_toggle_spec.js
+++ b/spec/frontend/integrations/edit/components/active_toggle_spec.js
@@ -9,12 +9,11 @@ describe('ActiveToggle', () => {
const defaultProps = {
initialActivated: true,
- disabled: false,
};
const createComponent = props => {
wrapper = mount(ActiveToggle, {
- propsData: Object.assign({}, defaultProps, props),
+ propsData: { ...defaultProps, ...props },
});
};
diff --git a/spec/frontend/integrations/edit/components/integration_form_spec.js b/spec/frontend/integrations/edit/components/integration_form_spec.js
new file mode 100644
index 00000000000..d0b36e5eaf2
--- /dev/null
+++ b/spec/frontend/integrations/edit/components/integration_form_spec.js
@@ -0,0 +1,81 @@
+import { shallowMount } from '@vue/test-utils';
+import IntegrationForm from '~/integrations/edit/components/integration_form.vue';
+import ActiveToggle from '~/integrations/edit/components/active_toggle.vue';
+import JiraTriggerFields from '~/integrations/edit/components/jira_trigger_fields.vue';
+
+describe('IntegrationForm', () => {
+ let wrapper;
+
+ const defaultProps = {
+ activeToggleProps: {
+ initialActivated: true,
+ },
+ showActive: true,
+ triggerFieldsProps: {
+ initialTriggerCommit: false,
+ initialTriggerMergeRequest: false,
+ initialEnableComments: false,
+ },
+ type: '',
+ };
+
+ const createComponent = props => {
+ wrapper = shallowMount(IntegrationForm, {
+ propsData: { ...defaultProps, ...props },
+ stubs: {
+ ActiveToggle,
+ JiraTriggerFields,
+ },
+ });
+ };
+
+ afterEach(() => {
+ if (wrapper) {
+ wrapper.destroy();
+ wrapper = null;
+ }
+ });
+
+ const findActiveToggle = () => wrapper.find(ActiveToggle);
+ const findJiraTriggerFields = () => wrapper.find(JiraTriggerFields);
+
+ describe('template', () => {
+ describe('showActive is true', () => {
+ it('renders ActiveToggle', () => {
+ createComponent();
+
+ expect(findActiveToggle().exists()).toBe(true);
+ });
+ });
+
+ describe('showActive is false', () => {
+ it('does not render ActiveToggle', () => {
+ createComponent({
+ showActive: false,
+ });
+
+ expect(findActiveToggle().exists()).toBe(false);
+ });
+ });
+
+ describe('type is "slack"', () => {
+ it('does not render JiraTriggerFields', () => {
+ createComponent({
+ type: 'slack',
+ });
+
+ expect(findJiraTriggerFields().exists()).toBe(false);
+ });
+ });
+
+ describe('type is "jira"', () => {
+ it('renders JiraTriggerFields', () => {
+ createComponent({
+ type: 'jira',
+ });
+
+ expect(findJiraTriggerFields().exists()).toBe(true);
+ });
+ });
+ });
+});
diff --git a/spec/frontend/integrations/edit/components/jira_trigger_fields_spec.js b/spec/frontend/integrations/edit/components/jira_trigger_fields_spec.js
new file mode 100644
index 00000000000..e8aa920fdd4
--- /dev/null
+++ b/spec/frontend/integrations/edit/components/jira_trigger_fields_spec.js
@@ -0,0 +1,94 @@
+import { mount } from '@vue/test-utils';
+import JiraTriggerFields from '~/integrations/edit/components/jira_trigger_fields.vue';
+import { GlFormCheckbox } from '@gitlab/ui';
+
+describe('JiraTriggerFields', () => {
+ let wrapper;
+
+ const defaultProps = {
+ initialTriggerCommit: false,
+ initialTriggerMergeRequest: false,
+ initialEnableComments: false,
+ };
+
+ const createComponent = props => {
+ wrapper = mount(JiraTriggerFields, {
+ propsData: { ...defaultProps, ...props },
+ });
+ };
+
+ afterEach(() => {
+ if (wrapper) wrapper.destroy();
+ });
+
+ const findCommentSettings = () => wrapper.find('[data-testid="comment-settings"]');
+ const findCommentDetail = () => wrapper.find('[data-testid="comment-detail"]');
+ const findCommentSettingsCheckbox = () => findCommentSettings().find(GlFormCheckbox);
+
+ describe('template', () => {
+ describe('initialTriggerCommit and initialTriggerMergeRequest are false', () => {
+ it('does not show comment settings', () => {
+ createComponent();
+
+ expect(findCommentSettings().isVisible()).toBe(false);
+ expect(findCommentDetail().isVisible()).toBe(false);
+ });
+ });
+
+ describe('initialTriggerCommit is true', () => {
+ beforeEach(() => {
+ createComponent({
+ initialTriggerCommit: true,
+ });
+ });
+
+ it('shows comment settings', () => {
+ expect(findCommentSettings().isVisible()).toBe(true);
+ expect(findCommentDetail().isVisible()).toBe(false);
+ });
+
+ // As per https://vuejs.org/v2/guide/forms.html#Checkbox-1,
+ // browsers don't include unchecked boxes in form submissions.
+ it('includes comment settings as false even if unchecked', () => {
+ expect(
+ findCommentSettings()
+ .find('input[name="service[comment_on_event_enabled]"]')
+ .exists(),
+ ).toBe(true);
+ });
+
+ describe('on enable comments', () => {
+ it('shows comment detail', () => {
+ findCommentSettingsCheckbox().vm.$emit('input', true);
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(findCommentDetail().isVisible()).toBe(true);
+ });
+ });
+ });
+ });
+
+ describe('initialTriggerMergeRequest is true', () => {
+ it('shows comment settings', () => {
+ createComponent({
+ initialTriggerMergeRequest: true,
+ });
+
+ expect(findCommentSettings().isVisible()).toBe(true);
+ expect(findCommentDetail().isVisible()).toBe(false);
+ });
+ });
+
+ describe('initialTriggerCommit is true, initialEnableComments is true', () => {
+ it('shows comment settings and comment detail', () => {
+ createComponent({
+ initialTriggerCommit: true,
+ initialEnableComments: true,
+ });
+
+ expect(findCommentSettings().isVisible()).toBe(true);
+ expect(findCommentDetail().isVisible()).toBe(true);
+ });
+ });
+ });
+});
diff --git a/spec/frontend/issue_show/components/description_spec.js b/spec/frontend/issue_show/components/description_spec.js
index 9c448c498e2..0053475dd13 100644
--- a/spec/frontend/issue_show/components/description_spec.js
+++ b/spec/frontend/issue_show/components/description_spec.js
@@ -113,12 +113,7 @@ describe('Description component', () => {
beforeEach(() => {
vm.$destroy();
TaskList.mockClear();
- vm = mountComponent(
- DescriptionComponent,
- Object.assign({}, props, {
- issuableType: 'issuableType',
- }),
- );
+ vm = mountComponent(DescriptionComponent, { ...props, issuableType: 'issuableType' });
});
it('re-inits the TaskList when description changed', () => {
diff --git a/spec/javascripts/jobs/components/artifacts_block_spec.js b/spec/frontend/jobs/components/artifacts_block_spec.js
index 9cb56737f3e..9cb56737f3e 100644
--- a/spec/javascripts/jobs/components/artifacts_block_spec.js
+++ b/spec/frontend/jobs/components/artifacts_block_spec.js
diff --git a/spec/javascripts/jobs/components/commit_block_spec.js b/spec/frontend/jobs/components/commit_block_spec.js
index c02f564d01a..4e2d0053831 100644
--- a/spec/javascripts/jobs/components/commit_block_spec.js
+++ b/spec/frontend/jobs/components/commit_block_spec.js
@@ -66,7 +66,7 @@ describe('Commit block', () => {
describe('without merge request', () => {
it('does not render merge request', () => {
- const copyProps = Object.assign({}, props);
+ const copyProps = { ...props };
delete copyProps.mergeRequest;
vm = mountComponent(Component, {
diff --git a/spec/javascripts/jobs/components/empty_state_spec.js b/spec/frontend/jobs/components/empty_state_spec.js
index c6eac4e27b3..c6eac4e27b3 100644
--- a/spec/javascripts/jobs/components/empty_state_spec.js
+++ b/spec/frontend/jobs/components/empty_state_spec.js
diff --git a/spec/javascripts/jobs/components/environments_block_spec.js b/spec/frontend/jobs/components/environments_block_spec.js
index 4f2359e83b6..4f2359e83b6 100644
--- a/spec/javascripts/jobs/components/environments_block_spec.js
+++ b/spec/frontend/jobs/components/environments_block_spec.js
diff --git a/spec/javascripts/jobs/components/job_container_item_spec.js b/spec/frontend/jobs/components/job_container_item_spec.js
index 99f6d9a14d9..9019504d22d 100644
--- a/spec/javascripts/jobs/components/job_container_item_spec.js
+++ b/spec/frontend/jobs/components/job_container_item_spec.js
@@ -1,5 +1,5 @@
import Vue from 'vue';
-import mountComponent from 'spec/helpers/vue_mount_component_helper';
+import mountComponent from 'helpers/vue_mount_component_helper';
import JobContainerItem from '~/jobs/components/job_container_item.vue';
import job from '../mock_data';
@@ -18,7 +18,7 @@ describe('JobContainerItem', () => {
});
it('displays the job name', () => {
- expect(vm.$el).toContainText(job.name);
+ expect(vm.$el.innerText).toContain(job.name);
});
it('displays a link to the job', () => {
@@ -75,9 +75,11 @@ describe('JobContainerItem', () => {
describe('for delayed job', () => {
beforeEach(() => {
const remainingMilliseconds = 1337000;
- spyOn(Date, 'now').and.callFake(
- () => new Date(delayedJobFixture.scheduled_at).getTime() - remainingMilliseconds,
- );
+ jest
+ .spyOn(Date, 'now')
+ .mockImplementation(
+ () => new Date(delayedJobFixture.scheduled_at).getTime() - remainingMilliseconds,
+ );
});
it('displays remaining time in tooltip', done => {
diff --git a/spec/javascripts/jobs/components/job_log_spec.js b/spec/frontend/jobs/components/job_log_spec.js
index fcaf2b3bb64..2bb1e0af3a2 100644
--- a/spec/javascripts/jobs/components/job_log_spec.js
+++ b/spec/frontend/jobs/components/job_log_spec.js
@@ -1,5 +1,5 @@
import Vue from 'vue';
-import { mountComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
+import { mountComponentWithStore } from 'helpers/vue_mount_component_helper';
import component from '~/jobs/components/job_log.vue';
import createStore from '~/jobs/store';
import { resetStore } from '../store/helpers';
diff --git a/spec/javascripts/jobs/components/jobs_container_spec.js b/spec/frontend/jobs/components/jobs_container_spec.js
index 119b18b7557..119b18b7557 100644
--- a/spec/javascripts/jobs/components/jobs_container_spec.js
+++ b/spec/frontend/jobs/components/jobs_container_spec.js
diff --git a/spec/frontend/jobs/components/log/line_header_spec.js b/spec/frontend/jobs/components/log/line_header_spec.js
index f2e202674ee..5ce69221dab 100644
--- a/spec/frontend/jobs/components/log/line_header_spec.js
+++ b/spec/frontend/jobs/components/log/line_header_spec.js
@@ -86,7 +86,7 @@ describe('Job Log Header Line', () => {
describe('with duration', () => {
beforeEach(() => {
- createComponent(Object.assign({}, data, { duration: '00:10' }));
+ createComponent({ ...data, duration: '00:10' });
});
it('renders the duration badge', () => {
diff --git a/spec/javascripts/jobs/components/manual_variables_form_spec.js b/spec/frontend/jobs/components/manual_variables_form_spec.js
index 82fd73ef033..82fd73ef033 100644
--- a/spec/javascripts/jobs/components/manual_variables_form_spec.js
+++ b/spec/frontend/jobs/components/manual_variables_form_spec.js
diff --git a/spec/javascripts/jobs/components/sidebar_spec.js b/spec/frontend/jobs/components/sidebar_spec.js
index 740bc3d0491..0c8e2dc3aef 100644
--- a/spec/javascripts/jobs/components/sidebar_spec.js
+++ b/spec/frontend/jobs/components/sidebar_spec.js
@@ -20,7 +20,7 @@ describe('Sidebar details block', () => {
describe('when there is no retry path retry', () => {
it('should not render a retry button', () => {
- const copy = Object.assign({}, job);
+ const copy = { ...job };
delete copy.retry_path;
store.dispatch('receiveJobSuccess', copy);
@@ -43,10 +43,7 @@ describe('Sidebar details block', () => {
describe('with terminal path', () => {
it('renders terminal link', () => {
- store.dispatch(
- 'receiveJobSuccess',
- Object.assign({}, job, { terminal_path: 'job/43123/terminal' }),
- );
+ store.dispatch('receiveJobSuccess', { ...job, terminal_path: 'job/43123/terminal' });
vm = mountComponentWithStore(SidebarComponent, {
store,
});
diff --git a/spec/javascripts/jobs/components/stages_dropdown_spec.js b/spec/frontend/jobs/components/stages_dropdown_spec.js
index f1a01530104..e8fa6094c25 100644
--- a/spec/javascripts/jobs/components/stages_dropdown_spec.js
+++ b/spec/frontend/jobs/components/stages_dropdown_spec.js
@@ -1,5 +1,5 @@
import Vue from 'vue';
-import { trimText } from 'spec/helpers/text_helper';
+import { trimText } from 'helpers/text_helper';
import component from '~/jobs/components/stages_dropdown.vue';
import mountComponent from '../../helpers/vue_mount_component_helper';
diff --git a/spec/javascripts/jobs/components/trigger_block_spec.js b/spec/frontend/jobs/components/trigger_block_spec.js
index 448197b82c0..448197b82c0 100644
--- a/spec/javascripts/jobs/components/trigger_block_spec.js
+++ b/spec/frontend/jobs/components/trigger_block_spec.js
diff --git a/spec/javascripts/jobs/components/unmet_prerequisites_block_spec.js b/spec/frontend/jobs/components/unmet_prerequisites_block_spec.js
index 68fcb321214..68fcb321214 100644
--- a/spec/javascripts/jobs/components/unmet_prerequisites_block_spec.js
+++ b/spec/frontend/jobs/components/unmet_prerequisites_block_spec.js
diff --git a/spec/javascripts/jobs/mixins/delayed_job_mixin_spec.js b/spec/frontend/jobs/mixins/delayed_job_mixin_spec.js
index b67187f1d50..2f7a6030650 100644
--- a/spec/javascripts/jobs/mixins/delayed_job_mixin_spec.js
+++ b/spec/frontend/jobs/mixins/delayed_job_mixin_spec.js
@@ -1,5 +1,5 @@
import Vue from 'vue';
-import mountComponent from 'spec/helpers/vue_mount_component_helper';
+import mountComponent from 'helpers/vue_mount_component_helper';
import delayedJobMixin from '~/jobs/mixins/delayed_job_mixin';
describe('DelayedJobMixin', () => {
@@ -12,18 +12,16 @@ describe('DelayedJobMixin', () => {
required: true,
},
},
- template: '<div>{{ remainingTime }}</div>',
+ render(createElement) {
+ return createElement('div', this.remainingTime);
+ },
});
let vm;
- beforeEach(() => {
- jasmine.clock().install();
- });
-
afterEach(() => {
vm.$destroy();
- jasmine.clock().uninstall();
+ jest.clearAllTimers();
});
describe('if job is empty object', () => {
@@ -38,13 +36,9 @@ describe('DelayedJobMixin', () => {
});
describe('after mounting', () => {
- beforeEach(done => {
- Vue.nextTick()
- .then(done)
- .catch(done.fail);
- });
+ beforeEach(() => vm.$nextTick());
- it('doe not update remaining time', () => {
+ it('does not update remaining time', () => {
expect(vm.$el.innerText).toBe('00:00:00');
});
});
@@ -54,39 +48,31 @@ describe('DelayedJobMixin', () => {
let remainingTimeInMilliseconds = 42000;
beforeEach(() => {
- spyOn(Date, 'now').and.callFake(
- () => new Date(delayedJobFixture.scheduled_at).getTime() - remainingTimeInMilliseconds,
- );
+ jest
+ .spyOn(Date, 'now')
+ .mockImplementation(
+ () => new Date(delayedJobFixture.scheduled_at).getTime() - remainingTimeInMilliseconds,
+ );
+
vm = mountComponent(dummyComponent, {
job: delayedJobFixture,
});
});
- it('sets remaining time to 00:00:00', () => {
- expect(vm.$el.innerText).toBe('00:00:00');
- });
-
describe('after mounting', () => {
- beforeEach(done => {
- Vue.nextTick()
- .then(done)
- .catch(done.fail);
- });
+ beforeEach(() => vm.$nextTick());
it('sets remaining time', () => {
expect(vm.$el.innerText).toBe('00:00:42');
});
- it('updates remaining time', done => {
+ it('updates remaining time', () => {
remainingTimeInMilliseconds = 41000;
- jasmine.clock().tick(1000);
+ jest.advanceTimersByTime(1000);
- Vue.nextTick()
- .then(() => {
- expect(vm.$el.innerText).toBe('00:00:41');
- })
- .then(done)
- .catch(done.fail);
+ return vm.$nextTick().then(() => {
+ expect(vm.$el.innerText).toBe('00:00:41');
+ });
});
});
});
diff --git a/spec/javascripts/jobs/store/actions_spec.js b/spec/frontend/jobs/store/actions_spec.js
index 47257688bd5..91bd5521f70 100644
--- a/spec/javascripts/jobs/store/actions_spec.js
+++ b/spec/frontend/jobs/store/actions_spec.js
@@ -1,6 +1,6 @@
import MockAdapter from 'axios-mock-adapter';
-import testAction from 'spec/helpers/vuex_action_helper';
-import { TEST_HOST } from 'spec/test_constants';
+import testAction from 'helpers/vuex_action_helper';
+import { TEST_HOST } from '../../helpers/test_constants';
import axios from '~/lib/utils/axios_utils';
import {
setJobEndpoint,
@@ -315,26 +315,26 @@ describe('Job State actions', () => {
let commit;
beforeEach(() => {
- jasmine.clock().install();
-
- dispatch = jasmine.createSpy();
- commit = jasmine.createSpy();
+ dispatch = jest.fn();
+ commit = jest.fn();
startPollingTrace({ dispatch, commit });
});
afterEach(() => {
- jasmine.clock().uninstall();
+ jest.clearAllTimers();
});
it('should save the timeout id but not call fetchTrace', () => {
- expect(commit).toHaveBeenCalledWith(types.SET_TRACE_TIMEOUT, 1);
+ expect(commit).toHaveBeenCalledWith(types.SET_TRACE_TIMEOUT, expect.any(Number));
+ expect(commit.mock.calls[0][1]).toBeGreaterThan(0);
+
expect(dispatch).not.toHaveBeenCalledWith('fetchTrace');
});
describe('after timeout has passed', () => {
beforeEach(() => {
- jasmine.clock().tick(4000);
+ jest.advanceTimersByTime(4000);
});
it('should clear the timeout id and fetchTrace', () => {
@@ -351,7 +351,7 @@ describe('Job State actions', () => {
// Can't use spyOn(window, 'clearTimeout') because this caused unrelated specs to timeout
// https://gitlab.com/gitlab-org/gitlab/-/merge_requests/23838#note_280277727
origTimeout = window.clearTimeout;
- window.clearTimeout = jasmine.createSpy();
+ window.clearTimeout = jest.fn();
});
afterEach(() => {
diff --git a/spec/javascripts/jobs/store/helpers.js b/spec/frontend/jobs/store/helpers.js
index 81a769b4a6e..81a769b4a6e 100644
--- a/spec/javascripts/jobs/store/helpers.js
+++ b/spec/frontend/jobs/store/helpers.js
diff --git a/spec/frontend/jobs/store/mutations_spec.js b/spec/frontend/jobs/store/mutations_spec.js
index d77690ffac0..3557d3b94b6 100644
--- a/spec/frontend/jobs/store/mutations_spec.js
+++ b/spec/frontend/jobs/store/mutations_spec.js
@@ -59,7 +59,7 @@ describe('Jobs Store Mutations', () => {
describe('when traceSize is bigger than the total size', () => {
it('sets isTraceSizeVisible to false', () => {
- const copy = Object.assign({}, stateCopy, { traceSize: 5118460, size: 2321312 });
+ const copy = { ...stateCopy, traceSize: 5118460, size: 2321312 };
mutations[types.RECEIVE_TRACE_SUCCESS](copy, { total: 511846 });
diff --git a/spec/frontend/lib/utils/common_utils_spec.js b/spec/frontend/lib/utils/common_utils_spec.js
index 1edfda30fec..c8dc90c9ace 100644
--- a/spec/frontend/lib/utils/common_utils_spec.js
+++ b/spec/frontend/lib/utils/common_utils_spec.js
@@ -503,7 +503,7 @@ describe('common_utils', () => {
beforeEach(() => {
window.gon = window.gon || {};
- beforeGon = Object.assign({}, window.gon);
+ beforeGon = { ...window.gon };
window.gon.sprite_icons = 'icons.svg';
});
diff --git a/spec/frontend/lib/utils/url_utility_spec.js b/spec/frontend/lib/utils/url_utility_spec.js
index 6cca245582e..54baabc3e81 100644
--- a/spec/frontend/lib/utils/url_utility_spec.js
+++ b/spec/frontend/lib/utils/url_utility_spec.js
@@ -425,6 +425,12 @@ describe('URL utility', () => {
expect(urlUtils.queryToObject(searchQuery)).toEqual({ one: '1', two: '2' });
});
+
+ it('removes undefined values from the search query', () => {
+ const searchQuery = '?one=1&two=2&three';
+
+ expect(urlUtils.queryToObject(searchQuery)).toEqual({ one: '1', two: '2' });
+ });
});
describe('objectToQuery', () => {
diff --git a/spec/frontend/milestones/mock_data.js b/spec/frontend/milestones/mock_data.js
new file mode 100644
index 00000000000..c64eeeba663
--- /dev/null
+++ b/spec/frontend/milestones/mock_data.js
@@ -0,0 +1,82 @@
+export const milestones = [
+ {
+ id: 41,
+ iid: 6,
+ project_id: 8,
+ title: 'v0.1',
+ description: '',
+ state: 'active',
+ created_at: '2020-04-04T01:30:40.051Z',
+ updated_at: '2020-04-04T01:30:40.051Z',
+ due_date: null,
+ start_date: null,
+ web_url: 'http://127.0.0.1:3000/h5bp/html5-boilerplate/-/milestones/6',
+ },
+ {
+ id: 40,
+ iid: 5,
+ project_id: 8,
+ title: 'v4.0',
+ description: 'Laboriosam nisi sapiente dolores et magnam nobis ad earum.',
+ state: 'closed',
+ created_at: '2020-01-13T19:39:15.191Z',
+ updated_at: '2020-01-13T19:39:15.191Z',
+ due_date: null,
+ start_date: null,
+ web_url: 'http://127.0.0.1:3000/h5bp/html5-boilerplate/-/milestones/5',
+ },
+ {
+ id: 39,
+ iid: 4,
+ project_id: 8,
+ title: 'v3.0',
+ description: 'Necessitatibus illo alias et repellat dolorum assumenda ut.',
+ state: 'closed',
+ created_at: '2020-01-13T19:39:15.176Z',
+ updated_at: '2020-01-13T19:39:15.176Z',
+ due_date: null,
+ start_date: null,
+ web_url: 'http://127.0.0.1:3000/h5bp/html5-boilerplate/-/milestones/4',
+ },
+ {
+ id: 38,
+ iid: 3,
+ project_id: 8,
+ title: 'v2.0',
+ description: 'Doloribus qui repudiandae iste sit.',
+ state: 'closed',
+ created_at: '2020-01-13T19:39:15.161Z',
+ updated_at: '2020-01-13T19:39:15.161Z',
+ due_date: null,
+ start_date: null,
+ web_url: 'http://127.0.0.1:3000/h5bp/html5-boilerplate/-/milestones/3',
+ },
+ {
+ id: 37,
+ iid: 2,
+ project_id: 8,
+ title: 'v1.0',
+ description: 'Illo sint odio officia ea.',
+ state: 'closed',
+ created_at: '2020-01-13T19:39:15.146Z',
+ updated_at: '2020-01-13T19:39:15.146Z',
+ due_date: null,
+ start_date: null,
+ web_url: 'http://127.0.0.1:3000/h5bp/html5-boilerplate/-/milestones/2',
+ },
+ {
+ id: 36,
+ iid: 1,
+ project_id: 8,
+ title: 'v0.0',
+ description: 'Sed quae facilis deleniti at delectus assumenda nobis veritatis.',
+ state: 'active',
+ created_at: '2020-01-13T19:39:15.127Z',
+ updated_at: '2020-01-13T19:39:15.127Z',
+ due_date: null,
+ start_date: null,
+ web_url: 'http://127.0.0.1:3000/h5bp/html5-boilerplate/-/milestones/1',
+ },
+];
+
+export default milestones;
diff --git a/spec/frontend/milestones/project_milestone_combobox_spec.js b/spec/frontend/milestones/project_milestone_combobox_spec.js
new file mode 100644
index 00000000000..a7321d21559
--- /dev/null
+++ b/spec/frontend/milestones/project_milestone_combobox_spec.js
@@ -0,0 +1,150 @@
+import { milestones as projectMilestones } from './mock_data';
+import axios from 'axios';
+import MockAdapter from 'axios-mock-adapter';
+import { shallowMount } from '@vue/test-utils';
+import MilestoneCombobox from '~/milestones/project_milestone_combobox.vue';
+import { GlNewDropdown, GlLoadingIcon, GlSearchBoxByType } from '@gitlab/ui';
+
+const TEST_SEARCH_ENDPOINT = '/api/v4/projects/8/search';
+
+const extraLinks = [
+ { text: 'Create new', url: 'http://127.0.0.1:3000/h5bp/html5-boilerplate/-/milestones/new' },
+ { text: 'Manage milestones', url: '/h5bp/html5-boilerplate/-/milestones' },
+];
+
+const preselectedMilestones = [];
+const projectId = '8';
+
+describe('Milestone selector', () => {
+ let wrapper;
+ let mock;
+
+ const findNoResultsMessage = () => wrapper.find({ ref: 'noResults' });
+
+ const factory = (options = {}) => {
+ wrapper = shallowMount(MilestoneCombobox, {
+ ...options,
+ });
+ };
+
+ beforeEach(() => {
+ mock = new MockAdapter(axios);
+ gon.api_version = 'v4';
+
+ mock.onGet('/api/v4/projects/8/milestones').reply(200, projectMilestones);
+
+ factory({
+ propsData: {
+ projectId,
+ preselectedMilestones,
+ extraLinks,
+ },
+ });
+ });
+
+ afterEach(() => {
+ mock.restore();
+ wrapper.destroy();
+ wrapper = null;
+ });
+
+ it('renders the dropdown', () => {
+ expect(wrapper.find(GlNewDropdown)).toExist();
+ });
+
+ it('renders additional links', () => {
+ const links = wrapper.findAll('[href]');
+ links.wrappers.forEach((item, idx) => {
+ expect(item.text()).toBe(extraLinks[idx].text);
+ expect(item.attributes('href')).toBe(extraLinks[idx].url);
+ });
+ });
+
+ describe('before results', () => {
+ it('should show a loading icon', () => {
+ const request = mock.onGet(TEST_SEARCH_ENDPOINT, {
+ params: { search: 'TEST_SEARCH', scope: 'milestones' },
+ });
+
+ expect(wrapper.find(GlLoadingIcon).exists()).toBe(true);
+
+ return wrapper.vm.$nextTick().then(() => {
+ request.reply(200, []);
+ });
+ });
+
+ it('should not show any dropdown items', () => {
+ expect(wrapper.findAll('[role="milestone option"]')).toHaveLength(0);
+ });
+
+ it('should have "No milestone" as the button text', () => {
+ expect(wrapper.find({ ref: 'buttonText' }).text()).toBe('No milestone');
+ });
+ });
+
+ describe('with empty results', () => {
+ beforeEach(() => {
+ mock
+ .onGet(TEST_SEARCH_ENDPOINT, { params: { search: 'TEST_SEARCH', scope: 'milestones' } })
+ .reply(200, []);
+ wrapper.find(GlSearchBoxByType).vm.$emit('input', 'TEST_SEARCH');
+ return axios.waitForAll();
+ });
+
+ it('should display that no matching items are found', () => {
+ expect(findNoResultsMessage().exists()).toBe(true);
+ });
+ });
+
+ describe('with results', () => {
+ let items;
+ beforeEach(() => {
+ mock
+ .onGet(TEST_SEARCH_ENDPOINT, { params: { search: 'v0.1', scope: 'milestones' } })
+ .reply(200, [
+ {
+ id: 41,
+ iid: 6,
+ project_id: 8,
+ title: 'v0.1',
+ description: '',
+ state: 'active',
+ created_at: '2020-04-04T01:30:40.051Z',
+ updated_at: '2020-04-04T01:30:40.051Z',
+ due_date: null,
+ start_date: null,
+ web_url: 'http://127.0.0.1:3000/h5bp/html5-boilerplate/-/milestones/6',
+ },
+ ]);
+ wrapper.find(GlSearchBoxByType).vm.$emit('input', 'v0.1');
+ return axios.waitForAll().then(() => {
+ items = wrapper.findAll('[role="milestone option"]');
+ });
+ });
+
+ it('should display one item per result', () => {
+ expect(items).toHaveLength(1);
+ });
+
+ it('should emit a change if an item is clicked', () => {
+ items.at(0).vm.$emit('click');
+ expect(wrapper.emitted().change.length).toBe(1);
+ expect(wrapper.emitted().change[0]).toEqual([[{ title: 'v0.1' }]]);
+ });
+
+ it('should not have a selecton icon on any item', () => {
+ items.wrappers.forEach(item => {
+ expect(item.find('.selected-item').exists()).toBe(false);
+ });
+ });
+
+ it('should have a selecton icon if an item is clicked', () => {
+ items.at(0).vm.$emit('click');
+ expect(wrapper.find('.selected-item').exists()).toBe(true);
+ });
+
+ it('should not display a message about no results', () => {
+ expect(findNoResultsMessage().exists()).toBe(false);
+ });
+ });
+});
diff --git a/spec/frontend/monitoring/components/dashboard_panel_spec.js b/spec/frontend/monitoring/components/dashboard_panel_spec.js
index ccc29623c31..fb7fb24a341 100644
--- a/spec/frontend/monitoring/components/dashboard_panel_spec.js
+++ b/spec/frontend/monitoring/components/dashboard_panel_spec.js
@@ -376,10 +376,6 @@ describe('Dashboard Panel', () => {
});
});
- afterEach(() => {
- wrapper.destroy();
- });
-
it('sets clipboard text on the dropdown', () => {
expect(findCopyLink().exists()).toBe(true);
expect(findCopyLink().element.dataset.clipboardText).toBe(clipboardText);
@@ -396,6 +392,18 @@ describe('Dashboard Panel', () => {
});
});
+ describe('when cliboard data is not available', () => {
+ it('there is no "copy to clipboard" link for a null value', () => {
+ createWrapper({ clipboardText: null });
+ expect(findCopyLink().exists()).toBe(false);
+ });
+
+ it('there is no "copy to clipboard" link for an empty value', () => {
+ createWrapper({ clipboardText: '' });
+ expect(findCopyLink().exists()).toBe(false);
+ });
+ });
+
describe('when downloading metrics data as CSV', () => {
beforeEach(() => {
wrapper = shallowMount(DashboardPanel, {
diff --git a/spec/frontend/monitoring/components/dashboard_spec.js b/spec/frontend/monitoring/components/dashboard_spec.js
index 24883e9055e..78553999705 100644
--- a/spec/frontend/monitoring/components/dashboard_spec.js
+++ b/spec/frontend/monitoring/components/dashboard_spec.js
@@ -2,6 +2,7 @@ import { shallowMount, mount } from '@vue/test-utils';
import Tracking from '~/tracking';
import { ESC_KEY, ESC_KEY_IE11 } from '~/lib/utils/keys';
import { GlModal, GlDropdownItem, GlDeprecatedButton } from '@gitlab/ui';
+import { objectToQuery } from '~/lib/utils/url_utility';
import VueDraggable from 'vuedraggable';
import MockAdapter from 'axios-mock-adapter';
import axios from '~/lib/utils/axios_utils';
@@ -20,6 +21,9 @@ import * as types from '~/monitoring/stores/mutation_types';
import { setupStoreWithDashboard, setMetricResult, setupStoreWithData } from '../store_utils';
import { environmentData, dashboardGitResponse, propsData } from '../mock_data';
import { metricsDashboardViewModel, metricsDashboardPanelCount } from '../fixture_data';
+import createFlash from '~/flash';
+
+jest.mock('~/flash');
describe('Dashboard', () => {
let store;
@@ -64,7 +68,6 @@ describe('Dashboard', () => {
describe('no metrics are available yet', () => {
beforeEach(() => {
- jest.spyOn(store, 'dispatch');
createShallowWrapper();
});
@@ -150,6 +153,171 @@ describe('Dashboard', () => {
});
});
+ describe('when the URL contains a reference to a panel', () => {
+ let location;
+
+ const setSearch = search => {
+ window.location = { ...location, search };
+ };
+
+ beforeEach(() => {
+ location = window.location;
+ delete window.location;
+ });
+
+ afterEach(() => {
+ window.location = location;
+ });
+
+ it('when the URL points to a panel it expands', () => {
+ const panelGroup = metricsDashboardViewModel.panelGroups[0];
+ const panel = panelGroup.panels[0];
+
+ setSearch(
+ objectToQuery({
+ group: panelGroup.group,
+ title: panel.title,
+ y_label: panel.y_label,
+ }),
+ );
+
+ createMountedWrapper({ hasMetrics: true });
+ setupStoreWithData(wrapper.vm.$store);
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(store.dispatch).toHaveBeenCalledWith('monitoringDashboard/setExpandedPanel', {
+ group: panelGroup.group,
+ panel: expect.objectContaining({
+ title: panel.title,
+ y_label: panel.y_label,
+ }),
+ });
+ });
+ });
+
+ it('when the URL does not link to any panel, no panel is expanded', () => {
+ setSearch('');
+
+ createMountedWrapper({ hasMetrics: true });
+ setupStoreWithData(wrapper.vm.$store);
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(store.dispatch).not.toHaveBeenCalledWith(
+ 'monitoringDashboard/setExpandedPanel',
+ expect.anything(),
+ );
+ });
+ });
+
+ it('when the URL points to an incorrect panel it shows an error', () => {
+ const panelGroup = metricsDashboardViewModel.panelGroups[0];
+ const panel = panelGroup.panels[0];
+
+ setSearch(
+ objectToQuery({
+ group: panelGroup.group,
+ title: 'incorrect',
+ y_label: panel.y_label,
+ }),
+ );
+
+ createMountedWrapper({ hasMetrics: true });
+ setupStoreWithData(wrapper.vm.$store);
+
+ return wrapper.vm.$nextTick().then(() => {
+ expect(createFlash).toHaveBeenCalled();
+ expect(store.dispatch).not.toHaveBeenCalledWith(
+ 'monitoringDashboard/setExpandedPanel',
+ expect.anything(),
+ );
+ });
+ });
+ });
+
+ describe('when the panel is expanded', () => {
+ let group;
+ let panel;
+
+ const expandPanel = (mockGroup, mockPanel) => {
+ store.commit(`monitoringDashboard/${types.SET_EXPANDED_PANEL}`, {
+ group: mockGroup,
+ panel: mockPanel,
+ });
+ };
+
+ beforeEach(() => {
+ setupStoreWithData(store);
+
+ const { panelGroups } = store.state.monitoringDashboard.dashboard;
+ group = panelGroups[0].group;
+ [panel] = panelGroups[0].panels;
+
+ jest.spyOn(window.history, 'pushState').mockImplementation();
+ });
+
+ afterEach(() => {
+ window.history.pushState.mockRestore();
+ });
+
+ it('URL is updated with panel parameters', () => {
+ createMountedWrapper({ hasMetrics: true });
+ expandPanel(group, panel);
+
+ const expectedSearch = objectToQuery({
+ group,
+ title: panel.title,
+ y_label: panel.y_label,
+ });
+
+ return wrapper.vm.$nextTick(() => {
+ expect(window.history.pushState).toHaveBeenCalledTimes(1);
+ expect(window.history.pushState).toHaveBeenCalledWith(
+ expect.anything(), // state
+ expect.any(String), // document title
+ expect.stringContaining(`?${expectedSearch}`),
+ );
+ });
+ });
+
+ it('URL is updated with panel parameters and custom dashboard', () => {
+ const dashboard = 'dashboard.yml';
+
+ createMountedWrapper({ hasMetrics: true, currentDashboard: dashboard });
+ expandPanel(group, panel);
+
+ const expectedSearch = objectToQuery({
+ dashboard,
+ group,
+ title: panel.title,
+ y_label: panel.y_label,
+ });
+
+ return wrapper.vm.$nextTick(() => {
+ expect(window.history.pushState).toHaveBeenCalledTimes(1);
+ expect(window.history.pushState).toHaveBeenCalledWith(
+ expect.anything(), // state
+ expect.any(String), // document title
+ expect.stringContaining(`?${expectedSearch}`),
+ );
+ });
+ });
+
+ it('URL is updated with no parameters', () => {
+ expandPanel(group, panel);
+ createMountedWrapper({ hasMetrics: true });
+ expandPanel(null, null);
+
+ return wrapper.vm.$nextTick(() => {
+ expect(window.history.pushState).toHaveBeenCalledTimes(1);
+ expect(window.history.pushState).toHaveBeenCalledWith(
+ expect.anything(), // state
+ expect.any(String), // document title
+ expect.not.stringContaining('?'), // no params
+ );
+ });
+ });
+ });
+
describe('when all requests have been commited by the store', () => {
beforeEach(() => {
createMountedWrapper({ hasMetrics: true });
diff --git a/spec/frontend/monitoring/store/actions_spec.js b/spec/frontend/monitoring/store/actions_spec.js
index 9039dd3d6db..d9794c34b3b 100644
--- a/spec/frontend/monitoring/store/actions_spec.js
+++ b/spec/frontend/monitoring/store/actions_spec.js
@@ -11,6 +11,7 @@ import { ENVIRONMENT_AVAILABLE_STATE } from '~/monitoring/constants';
import store from '~/monitoring/stores';
import * as types from '~/monitoring/stores/mutation_types';
import {
+ fetchData,
fetchDashboard,
receiveMetricsDashboardSuccess,
fetchDeploymentsData,
@@ -24,6 +25,7 @@ import {
clearExpandedPanel,
setGettingStartedEmptyState,
duplicateSystemDashboard,
+ setVariables,
} from '~/monitoring/stores/actions';
import {
gqClient,
@@ -86,6 +88,41 @@ describe('Monitoring store actions', () => {
createFlash.mockReset();
});
+ describe('fetchData', () => {
+ it('dispatches fetchEnvironmentsData and fetchEnvironmentsData', () => {
+ const { state } = store;
+
+ return testAction(
+ fetchData,
+ null,
+ state,
+ [],
+ [{ type: 'fetchEnvironmentsData' }, { type: 'fetchDashboard' }],
+ );
+ });
+
+ it('dispatches when feature metricsDashboardAnnotations is on', () => {
+ const origGon = window.gon;
+ window.gon = { features: { metricsDashboardAnnotations: true } };
+
+ const { state } = store;
+
+ return testAction(
+ fetchData,
+ null,
+ state,
+ [],
+ [
+ { type: 'fetchEnvironmentsData' },
+ { type: 'fetchDashboard' },
+ { type: 'fetchAnnotations' },
+ ],
+ ).then(() => {
+ window.gon = origGon;
+ });
+ });
+ });
+
describe('fetchDeploymentsData', () => {
it('dispatches receiveDeploymentsDataSuccess on success', () => {
const { state } = store;
@@ -356,6 +393,29 @@ describe('Monitoring store actions', () => {
);
});
});
+
+ describe('setVariables', () => {
+ let mockedState;
+ beforeEach(() => {
+ mockedState = storeState();
+ });
+ it('should commit SET_PROM_QUERY_VARIABLES mutation', done => {
+ testAction(
+ setVariables,
+ { pod: 'POD' },
+ mockedState,
+ [
+ {
+ type: types.SET_PROM_QUERY_VARIABLES,
+ payload: { pod: 'POD' },
+ },
+ ],
+ [],
+ done,
+ );
+ });
+ });
+
describe('fetchDashboard', () => {
let dispatch;
let state;
diff --git a/spec/frontend/monitoring/store/mutations_spec.js b/spec/frontend/monitoring/store/mutations_spec.js
index ab3debb798d..dd0deef486f 100644
--- a/spec/frontend/monitoring/store/mutations_spec.js
+++ b/spec/frontend/monitoring/store/mutations_spec.js
@@ -364,4 +364,18 @@ describe('Monitoring mutations', () => {
expect(stateCopy.expandedPanel.panel).toEqual(null);
});
});
+
+ describe('SET_PROM_QUERY_VARIABLES', () => {
+ it('stores an empty variables array when no custom variables are given', () => {
+ mutations[types.SET_PROM_QUERY_VARIABLES](stateCopy, {});
+
+ expect(stateCopy.promVariables).toEqual([]);
+ });
+
+ it('stores variables in the key key_value format in the array', () => {
+ mutations[types.SET_PROM_QUERY_VARIABLES](stateCopy, { pod: 'POD', stage: 'main ops' });
+
+ expect(stateCopy.promVariables).toEqual(['pod', 'POD', 'stage', 'main%20ops']);
+ });
+ });
});
diff --git a/spec/frontend/monitoring/store/variable_mapping_spec.js b/spec/frontend/monitoring/store/variable_mapping_spec.js
new file mode 100644
index 00000000000..5081092a519
--- /dev/null
+++ b/spec/frontend/monitoring/store/variable_mapping_spec.js
@@ -0,0 +1,150 @@
+import { parseTemplatingVariables } from '~/monitoring/stores/variable_mapping';
+
+describe('parseTemplatingVariables', () => {
+ const generateMockTemplatingData = data => {
+ const vars = data
+ ? {
+ variables: {
+ ...data,
+ },
+ }
+ : {};
+ return {
+ dashboard: {
+ templating: vars,
+ },
+ };
+ };
+
+ const simpleVar = ['value1', 'value2', 'value3'];
+ const advVar = {
+ label: 'Advanced Var',
+ type: 'custom',
+ options: {
+ values: [
+ { value: 'value1', text: 'Var 1 Option 1' },
+ {
+ value: 'value2',
+ text: 'Var 1 Option 2',
+ default: true,
+ },
+ ],
+ },
+ };
+ const advVarWithoutOptions = {
+ type: 'custom',
+ options: {},
+ };
+ const advVarWithoutLabel = {
+ type: 'custom',
+ options: {
+ values: [
+ { value: 'value1', text: 'Var 1 Option 1' },
+ {
+ value: 'value2',
+ text: 'Var 1 Option 2',
+ default: true,
+ },
+ ],
+ },
+ };
+ const advVarWithoutType = {
+ label: 'Variable 2',
+ options: {
+ values: [
+ { value: 'value1', text: 'Var 1 Option 1' },
+ {
+ value: 'value2',
+ text: 'Var 1 Option 2',
+ default: true,
+ },
+ ],
+ },
+ };
+
+ const responseForSimpleCustomVariable = {
+ simpleVar: {
+ label: 'simpleVar',
+ options: [
+ {
+ default: false,
+ text: 'value1',
+ value: 'value1',
+ },
+ {
+ default: false,
+ text: 'value2',
+ value: 'value2',
+ },
+ {
+ default: false,
+ text: 'value3',
+ value: 'value3',
+ },
+ ],
+ type: 'custom',
+ },
+ };
+
+ const responseForAdvancedCustomVariableWithoutOptions = {
+ advVarWithoutOptions: {
+ label: 'advVarWithoutOptions',
+ options: [],
+ type: 'custom',
+ },
+ };
+
+ const responseForAdvancedCustomVariableWithoutLabel = {
+ advVarWithoutLabel: {
+ label: 'advVarWithoutLabel',
+ options: [
+ {
+ default: false,
+ text: 'Var 1 Option 1',
+ value: 'value1',
+ },
+ {
+ default: true,
+ text: 'Var 1 Option 2',
+ value: 'value2',
+ },
+ ],
+ type: 'custom',
+ },
+ };
+
+ const responseForAdvancedCustomVariable = {
+ ...responseForSimpleCustomVariable,
+ advVar: {
+ label: 'Advanced Var',
+ options: [
+ {
+ default: false,
+ text: 'Var 1 Option 1',
+ value: 'value1',
+ },
+ {
+ default: true,
+ text: 'Var 1 Option 2',
+ value: 'value2',
+ },
+ ],
+ type: 'custom',
+ },
+ };
+
+ it.each`
+ case | input | expected
+ ${'Returns empty object for no dashboard input'} | ${{}} | ${{}}
+ ${'Returns empty object for empty dashboard input'} | ${{ dashboard: {} }} | ${{}}
+ ${'Returns empty object for empty templating prop'} | ${generateMockTemplatingData()} | ${{}}
+ ${'Returns empty object for empty variables prop'} | ${generateMockTemplatingData({})} | ${{}}
+ ${'Returns parsed object for simple variable'} | ${generateMockTemplatingData({ simpleVar })} | ${responseForSimpleCustomVariable}
+ ${'Returns parsed object for advanced variable without options'} | ${generateMockTemplatingData({ advVarWithoutOptions })} | ${responseForAdvancedCustomVariableWithoutOptions}
+ ${'Returns parsed object for advanced variable without type'} | ${generateMockTemplatingData({ advVarWithoutType })} | ${{}}
+ ${'Returns parsed object for advanced variable without label'} | ${generateMockTemplatingData({ advVarWithoutLabel })} | ${responseForAdvancedCustomVariableWithoutLabel}
+ ${'Returns parsed object for simple and advanced variables'} | ${generateMockTemplatingData({ simpleVar, advVar })} | ${responseForAdvancedCustomVariable}
+ `('$case', ({ input, expected }) => {
+ expect(parseTemplatingVariables(input?.dashboard?.templating)).toEqual(expected);
+ });
+});
diff --git a/spec/frontend/monitoring/utils_spec.js b/spec/frontend/monitoring/utils_spec.js
index 964c462988c..21597033e0a 100644
--- a/spec/frontend/monitoring/utils_spec.js
+++ b/spec/frontend/monitoring/utils_spec.js
@@ -1,5 +1,5 @@
import * as monitoringUtils from '~/monitoring/utils';
-import { queryToObject, mergeUrlParams, removeParams } from '~/lib/utils/url_utility';
+import * as urlUtils from '~/lib/utils/url_utility';
import { TEST_HOST } from 'jest/helpers/test_constants';
import {
mockProjectDir,
@@ -7,9 +7,7 @@ import {
anomalyMockGraphData,
barMockData,
} from './mock_data';
-import { graphData } from './fixture_data';
-
-jest.mock('~/lib/utils/url_utility');
+import { metricsDashboardViewModel, graphData } from './fixture_data';
const mockPath = `${TEST_HOST}${mockProjectDir}/-/environments/29/metrics`;
@@ -27,11 +25,6 @@ const rollingRange = {
};
describe('monitoring/utils', () => {
- afterEach(() => {
- mergeUrlParams.mockReset();
- queryToObject.mockReset();
- });
-
describe('trackGenerateLinkToChartEventOptions', () => {
it('should return Cluster Monitoring options if located on Cluster Health Dashboard', () => {
document.body.dataset.page = 'groups:clusters:show';
@@ -139,18 +132,25 @@ describe('monitoring/utils', () => {
});
describe('timeRangeFromUrl', () => {
- const { timeRangeFromUrl } = monitoringUtils;
+ beforeEach(() => {
+ jest.spyOn(urlUtils, 'queryToObject');
+ });
+
+ afterEach(() => {
+ urlUtils.queryToObject.mockRestore();
+ });
- it('returns a fixed range when query contains `start` and `end` paramters are given', () => {
- queryToObject.mockReturnValueOnce(range);
+ const { timeRangeFromUrl } = monitoringUtils;
+ it('returns a fixed range when query contains `start` and `end` parameters are given', () => {
+ urlUtils.queryToObject.mockReturnValueOnce(range);
expect(timeRangeFromUrl()).toEqual(range);
});
- it('returns a rolling range when query contains `duration_seconds` paramters are given', () => {
+ it('returns a rolling range when query contains `duration_seconds` parameters are given', () => {
const { seconds } = rollingRange.duration;
- queryToObject.mockReturnValueOnce({
+ urlUtils.queryToObject.mockReturnValueOnce({
dashboard: '.gitlab/dashboard/my_dashboard.yml',
duration_seconds: `${seconds}`,
});
@@ -158,23 +158,58 @@ describe('monitoring/utils', () => {
expect(timeRangeFromUrl()).toEqual(rollingRange);
});
- it('returns null when no time range paramters are given', () => {
- const params = {
+ it('returns null when no time range parameters are given', () => {
+ urlUtils.queryToObject.mockReturnValueOnce({
dashboard: '.gitlab/dashboards/custom_dashboard.yml',
param1: 'value1',
param2: 'value2',
- };
+ });
+
+ expect(timeRangeFromUrl()).toBe(null);
+ });
+ });
+
+ describe('promCustomVariablesFromUrl', () => {
+ const { promCustomVariablesFromUrl } = monitoringUtils;
+
+ beforeEach(() => {
+ jest.spyOn(urlUtils, 'queryToObject');
+ });
+
+ afterEach(() => {
+ urlUtils.queryToObject.mockRestore();
+ });
+
+ it('returns an object with only the custom variables', () => {
+ urlUtils.queryToObject.mockReturnValueOnce({
+ dashboard: '.gitlab/dashboards/custom_dashboard.yml',
+ y_label: 'memory usage',
+ group: 'kubernetes',
+ title: 'Kubernetes memory total',
+ start: '2020-05-06',
+ end: '2020-05-07',
+ duration_seconds: '86400',
+ direction: 'left',
+ anchor: 'top',
+ pod: 'POD',
+ });
+
+ expect(promCustomVariablesFromUrl()).toEqual(expect.objectContaining({ pod: 'POD' }));
+ });
+
+ it('returns an empty object when no custom variables are present', () => {
+ urlUtils.queryToObject.mockReturnValueOnce({
+ dashboard: '.gitlab/dashboards/custom_dashboard.yml',
+ });
- expect(timeRangeFromUrl(params, mockPath)).toBe(null);
+ expect(promCustomVariablesFromUrl()).toStrictEqual({});
});
});
describe('removeTimeRangeParams', () => {
const { removeTimeRangeParams } = monitoringUtils;
- it('returns when query contains `start` and `end` paramters are given', () => {
- removeParams.mockReturnValueOnce(mockPath);
-
+ it('returns when query contains `start` and `end` parameters are given', () => {
expect(removeTimeRangeParams(`${mockPath}?start=${range.start}&end=${range.end}`)).toEqual(
mockPath,
);
@@ -184,28 +219,119 @@ describe('monitoring/utils', () => {
describe('timeRangeToUrl', () => {
const { timeRangeToUrl } = monitoringUtils;
- it('returns a fixed range when query contains `start` and `end` paramters are given', () => {
+ beforeEach(() => {
+ jest.spyOn(urlUtils, 'mergeUrlParams');
+ jest.spyOn(urlUtils, 'removeParams');
+ });
+
+ afterEach(() => {
+ urlUtils.mergeUrlParams.mockRestore();
+ urlUtils.removeParams.mockRestore();
+ });
+
+ it('returns a fixed range when query contains `start` and `end` parameters are given', () => {
const toUrl = `${mockPath}?start=${range.start}&end=${range.end}`;
const fromUrl = mockPath;
- removeParams.mockReturnValueOnce(fromUrl);
- mergeUrlParams.mockReturnValueOnce(toUrl);
+ urlUtils.removeParams.mockReturnValueOnce(fromUrl);
+ urlUtils.mergeUrlParams.mockReturnValueOnce(toUrl);
expect(timeRangeToUrl(range)).toEqual(toUrl);
- expect(mergeUrlParams).toHaveBeenCalledWith(range, fromUrl);
+ expect(urlUtils.mergeUrlParams).toHaveBeenCalledWith(range, fromUrl);
});
- it('returns a rolling range when query contains `duration_seconds` paramters are given', () => {
+ it('returns a rolling range when query contains `duration_seconds` parameters are given', () => {
const { seconds } = rollingRange.duration;
const toUrl = `${mockPath}?duration_seconds=${seconds}`;
const fromUrl = mockPath;
- removeParams.mockReturnValueOnce(fromUrl);
- mergeUrlParams.mockReturnValueOnce(toUrl);
+ urlUtils.removeParams.mockReturnValueOnce(fromUrl);
+ urlUtils.mergeUrlParams.mockReturnValueOnce(toUrl);
expect(timeRangeToUrl(rollingRange)).toEqual(toUrl);
- expect(mergeUrlParams).toHaveBeenCalledWith({ duration_seconds: `${seconds}` }, fromUrl);
+ expect(urlUtils.mergeUrlParams).toHaveBeenCalledWith(
+ { duration_seconds: `${seconds}` },
+ fromUrl,
+ );
+ });
+ });
+
+ describe('expandedPanelPayloadFromUrl', () => {
+ const { expandedPanelPayloadFromUrl } = monitoringUtils;
+ const [panelGroup] = metricsDashboardViewModel.panelGroups;
+ const [panel] = panelGroup.panels;
+
+ const { group } = panelGroup;
+ const { title, y_label: yLabel } = panel;
+
+ it('returns payload for a panel when query parameters are given', () => {
+ const search = `?group=${group}&title=${title}&y_label=${yLabel}`;
+
+ expect(expandedPanelPayloadFromUrl(metricsDashboardViewModel, search)).toEqual({
+ group: panelGroup.group,
+ panel,
+ });
+ });
+
+ it('returns null when no parameters are given', () => {
+ expect(expandedPanelPayloadFromUrl(metricsDashboardViewModel, '')).toBe(null);
+ });
+
+ it('throws an error when no group is provided', () => {
+ const search = `?title=${panel.title}&y_label=${yLabel}`;
+ expect(() => expandedPanelPayloadFromUrl(metricsDashboardViewModel, search)).toThrow();
+ });
+
+ it('throws an error when no title is provided', () => {
+ const search = `?title=${title}&y_label=${yLabel}`;
+ expect(() => expandedPanelPayloadFromUrl(metricsDashboardViewModel, search)).toThrow();
+ });
+
+ it('throws an error when no y_label group is provided', () => {
+ const search = `?group=${group}&title=${title}`;
+ expect(() => expandedPanelPayloadFromUrl(metricsDashboardViewModel, search)).toThrow();
+ });
+
+ test.each`
+ group | title | yLabel | missingField
+ ${'NOT_A_GROUP'} | ${title} | ${yLabel} | ${'group'}
+ ${group} | ${'NOT_A_TITLE'} | ${yLabel} | ${'title'}
+ ${group} | ${title} | ${'NOT_A_Y_LABEL'} | ${'y_label'}
+ `('throws an error when $missingField is incorrect', params => {
+ const search = `?group=${params.group}&title=${params.title}&y_label=${params.yLabel}`;
+ expect(() => expandedPanelPayloadFromUrl(metricsDashboardViewModel, search)).toThrow();
+ });
+ });
+
+ describe('panelToUrl', () => {
+ const { panelToUrl } = monitoringUtils;
+
+ const dashboard = 'metrics.yml';
+ const [panelGroup] = metricsDashboardViewModel.panelGroups;
+ const [panel] = panelGroup.panels;
+
+ const getUrlParams = url => urlUtils.queryToObject(url.split('?')[1]);
+
+ it('returns URL for a panel when query parameters are given', () => {
+ const params = getUrlParams(panelToUrl(dashboard, panelGroup.group, panel));
+
+ expect(params).toEqual({
+ dashboard,
+ group: panelGroup.group,
+ title: panel.title,
+ y_label: panel.y_label,
+ });
+ });
+
+ it('returns a dashboard only URL if group is missing', () => {
+ const params = getUrlParams(panelToUrl(dashboard, null, panel));
+ expect(params).toEqual({ dashboard: 'metrics.yml' });
+ });
+
+ it('returns a dashboard only URL if panel is missing', () => {
+ const params = getUrlParams(panelToUrl(dashboard, panelGroup.group, null));
+ expect(params).toEqual({ dashboard: 'metrics.yml' });
});
});
diff --git a/spec/javascripts/notebook/cells/code_spec.js b/spec/frontend/notebook/cells/code_spec.js
index f3f97145ad3..3c9aea4a61a 100644
--- a/spec/javascripts/notebook/cells/code_spec.js
+++ b/spec/frontend/notebook/cells/code_spec.js
@@ -25,7 +25,7 @@ describe('Code component', () => {
beforeEach(done => {
vm = setupComponent(json.cells[0]);
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
@@ -39,7 +39,7 @@ describe('Code component', () => {
beforeEach(done => {
vm = setupComponent(json.cells[2]);
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
@@ -60,7 +60,7 @@ describe('Code component', () => {
vm = setupComponent(cell);
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
diff --git a/spec/javascripts/notebook/cells/markdown_spec.js b/spec/frontend/notebook/cells/markdown_spec.js
index 07b18d97cd9..359ac90a3ef 100644
--- a/spec/javascripts/notebook/cells/markdown_spec.js
+++ b/spec/frontend/notebook/cells/markdown_spec.js
@@ -24,7 +24,7 @@ describe('Markdown component', () => {
});
vm.$mount();
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
diff --git a/spec/javascripts/notebook/cells/output/html_sanitize_tests.js b/spec/frontend/notebook/cells/output/html_sanitize_tests.js
index 74c48f04367..74c48f04367 100644
--- a/spec/javascripts/notebook/cells/output/html_sanitize_tests.js
+++ b/spec/frontend/notebook/cells/output/html_sanitize_tests.js
diff --git a/spec/javascripts/notebook/cells/output/html_spec.js b/spec/frontend/notebook/cells/output/html_spec.js
index 3ee404fb187..3ee404fb187 100644
--- a/spec/javascripts/notebook/cells/output/html_spec.js
+++ b/spec/frontend/notebook/cells/output/html_spec.js
diff --git a/spec/javascripts/notebook/cells/output/index_spec.js b/spec/frontend/notebook/cells/output/index_spec.js
index 005569f1c2d..2b1aa5317c5 100644
--- a/spec/javascripts/notebook/cells/output/index_spec.js
+++ b/spec/frontend/notebook/cells/output/index_spec.js
@@ -25,7 +25,7 @@ describe('Output component', () => {
beforeEach(done => {
createComponent(json.cells[2].outputs[0]);
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
@@ -43,7 +43,7 @@ describe('Output component', () => {
beforeEach(done => {
createComponent(json.cells[3].outputs[0]);
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
@@ -73,7 +73,7 @@ describe('Output component', () => {
beforeEach(done => {
createComponent(json.cells[5].outputs[0]);
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
@@ -87,7 +87,7 @@ describe('Output component', () => {
beforeEach(done => {
createComponent(json.cells[6].outputs[0]);
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
@@ -104,7 +104,7 @@ describe('Output component', () => {
it("renders as plain text when doesn't recognise other types", done => {
createComponent(json.cells[7].outputs[0]);
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('pre')).not.toBeNull();
expect(vm.$el.textContent.trim()).toContain('testing');
diff --git a/spec/javascripts/notebook/cells/prompt_spec.js b/spec/frontend/notebook/cells/prompt_spec.js
index cbbcb1e68e3..cf5a7a603c6 100644
--- a/spec/javascripts/notebook/cells/prompt_spec.js
+++ b/spec/frontend/notebook/cells/prompt_spec.js
@@ -16,7 +16,7 @@ describe('Prompt component', () => {
});
vm.$mount();
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
@@ -40,7 +40,7 @@ describe('Prompt component', () => {
});
vm.$mount();
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
diff --git a/spec/javascripts/notebook/index_spec.js b/spec/frontend/notebook/index_spec.js
index 2e2ea5ad8af..36b092be976 100644
--- a/spec/javascripts/notebook/index_spec.js
+++ b/spec/frontend/notebook/index_spec.js
@@ -22,7 +22,7 @@ describe('Notebook component', () => {
});
vm.$mount();
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
@@ -42,7 +42,7 @@ describe('Notebook component', () => {
});
vm.$mount();
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
@@ -74,7 +74,7 @@ describe('Notebook component', () => {
});
vm.$mount();
- setTimeout(() => {
+ setImmediate(() => {
done();
});
});
diff --git a/spec/frontend/notes/components/comment_form_spec.js b/spec/frontend/notes/components/comment_form_spec.js
index a2c7f0b3767..e695fd8238d 100644
--- a/spec/frontend/notes/components/comment_form_spec.js
+++ b/spec/frontend/notes/components/comment_form_spec.js
@@ -24,6 +24,7 @@ describe('issue_comment_form component', () => {
let store;
let wrapper;
let axiosMock;
+ let features = {};
const setupStore = (userData, noteableData) => {
store.dispatch('setUserData', userData);
@@ -37,12 +38,16 @@ describe('issue_comment_form component', () => {
noteableType,
},
store,
+ provide: {
+ glFeatures: features,
+ },
});
};
beforeEach(() => {
axiosMock = new MockAdapter(axios);
store = createStore();
+ features = {};
});
afterEach(() => {
@@ -298,6 +303,32 @@ describe('issue_comment_form component', () => {
});
});
});
+
+ describe('when note can be confidential', () => {
+ it('appends confidential status to note payload when saving', () => {
+ jest.spyOn(wrapper.vm, 'saveNote').mockReturnValue(new Promise(() => {}));
+
+ wrapper.vm.note = 'confidential note';
+
+ return wrapper.vm.$nextTick().then(() => {
+ wrapper.find('.js-comment-submit-button').trigger('click');
+
+ const [providedData] = wrapper.vm.saveNote.mock.calls[0];
+
+ expect(providedData.data.note.confidential).toBe(false);
+ });
+ });
+
+ it('should render confidential toggle as false', () => {
+ features = { confidentialNotes: true };
+ mountComponent();
+
+ const input = wrapper.find('.js-confidential-note-toggle .form-check-input');
+
+ expect(input.exists()).toBe(true);
+ expect(input.attributes('checked')).toBeFalsy();
+ });
+ });
});
describe('issue is confidential', () => {
diff --git a/spec/frontend/notes/components/note_header_spec.js b/spec/frontend/notes/components/note_header_spec.js
index 8cb78720c7e..19400e61b9c 100644
--- a/spec/frontend/notes/components/note_header_spec.js
+++ b/spec/frontend/notes/components/note_header_spec.js
@@ -19,6 +19,7 @@ describe('NoteHeader component', () => {
const findActionText = () => wrapper.find({ ref: 'actionText' });
const findTimestampLink = () => wrapper.find({ ref: 'noteTimestampLink' });
const findTimestamp = () => wrapper.find({ ref: 'noteTimestamp' });
+ const findConfidentialIndicator = () => wrapper.find({ ref: 'confidentialIndicator' });
const findSpinner = () => wrapper.find({ ref: 'spinner' });
const author = {
@@ -246,4 +247,15 @@ describe('NoteHeader component', () => {
});
});
});
+
+ describe('with confidentiality indicator', () => {
+ it.each`
+ status | condition
+ ${true} | ${'shows'}
+ ${false} | ${'hides'}
+ `('$condition icon indicator when isConfidential is $status', ({ status }) => {
+ createComponent({ isConfidential: status });
+ expect(findConfidentialIndicator().exists()).toBe(status);
+ });
+ });
});
diff --git a/spec/frontend/notes/components/noteable_discussion_spec.js b/spec/frontend/notes/components/noteable_discussion_spec.js
index b91f599f158..b14ec2a65be 100644
--- a/spec/frontend/notes/components/noteable_discussion_spec.js
+++ b/spec/frontend/notes/components/noteable_discussion_spec.js
@@ -138,7 +138,7 @@ describe('noteable_discussion component', () => {
describe('signout widget', () => {
beforeEach(() => {
- originalGon = Object.assign({}, window.gon);
+ originalGon = { ...window.gon };
window.gon = window.gon || {};
});
diff --git a/spec/frontend/notes/old_notes_spec.js b/spec/frontend/notes/old_notes_spec.js
index 9f3ab4185c4..cb1d563ece7 100644
--- a/spec/frontend/notes/old_notes_spec.js
+++ b/spec/frontend/notes/old_notes_spec.js
@@ -193,7 +193,7 @@ describe.skip('Old Notes (~/notes.js)', () => {
$('.js-comment-button').click();
const $targetNote = $notesContainer.find(`#note_${noteEntity.id}`);
- const updatedNote = Object.assign({}, noteEntity);
+ const updatedNote = { ...noteEntity };
updatedNote.note = 'bar';
notes.updateNote(updatedNote, $targetNote);
diff --git a/spec/frontend/notes/stores/collapse_utils_spec.js b/spec/frontend/notes/stores/collapse_utils_spec.js
index d3019f4b9a4..a74809eed79 100644
--- a/spec/frontend/notes/stores/collapse_utils_spec.js
+++ b/spec/frontend/notes/stores/collapse_utils_spec.js
@@ -18,9 +18,7 @@ describe('Collapse utils', () => {
});
it('returns false when a system note is not a description type', () => {
- expect(isDescriptionSystemNote(Object.assign({}, mockSystemNote, { note: 'foo' }))).toEqual(
- false,
- );
+ expect(isDescriptionSystemNote({ ...mockSystemNote, note: 'foo' })).toEqual(false);
});
it('gets the time difference between two notes', () => {
diff --git a/spec/frontend/notes/stores/mutation_spec.js b/spec/frontend/notes/stores/mutation_spec.js
index 67757ad56c5..27e3490d64b 100644
--- a/spec/frontend/notes/stores/mutation_spec.js
+++ b/spec/frontend/notes/stores/mutation_spec.js
@@ -50,7 +50,7 @@ describe('Notes Store mutations', () => {
});
describe('ADD_NEW_REPLY_TO_DISCUSSION', () => {
- const newReply = Object.assign({}, note, { discussion_id: discussionMock.id });
+ const newReply = { ...note, discussion_id: discussionMock.id };
let state;
@@ -86,7 +86,7 @@ describe('Notes Store mutations', () => {
describe('EXPAND_DISCUSSION', () => {
it('should expand a collapsed discussion', () => {
- const discussion = Object.assign({}, discussionMock, { expanded: false });
+ const discussion = { ...discussionMock, expanded: false };
const state = {
discussions: [discussion],
@@ -100,7 +100,7 @@ describe('Notes Store mutations', () => {
describe('COLLAPSE_DISCUSSION', () => {
it('should collapse an expanded discussion', () => {
- const discussion = Object.assign({}, discussionMock, { expanded: true });
+ const discussion = { ...discussionMock, expanded: true };
const state = {
discussions: [discussion],
@@ -114,7 +114,7 @@ describe('Notes Store mutations', () => {
describe('REMOVE_PLACEHOLDER_NOTES', () => {
it('should remove all placeholder notes in indivudal notes and discussion', () => {
- const placeholderNote = Object.assign({}, individualNote, { isPlaceholderNote: true });
+ const placeholderNote = { ...individualNote, isPlaceholderNote: true };
const state = { discussions: [placeholderNote] };
mutations.REMOVE_PLACEHOLDER_NOTES(state);
@@ -298,7 +298,7 @@ describe('Notes Store mutations', () => {
describe('TOGGLE_DISCUSSION', () => {
it('should open a closed discussion', () => {
- const discussion = Object.assign({}, discussionMock, { expanded: false });
+ const discussion = { ...discussionMock, expanded: false };
const state = {
discussions: [discussion],
@@ -348,8 +348,8 @@ describe('Notes Store mutations', () => {
});
it('should open all closed discussions', () => {
- const discussion1 = Object.assign({}, discussionMock, { id: 0, expanded: false });
- const discussion2 = Object.assign({}, discussionMock, { id: 1, expanded: true });
+ const discussion1 = { ...discussionMock, id: 0, expanded: false };
+ const discussion2 = { ...discussionMock, id: 1, expanded: true };
const discussionIds = [discussion1.id, discussion2.id];
const state = { discussions: [discussion1, discussion2] };
@@ -362,8 +362,8 @@ describe('Notes Store mutations', () => {
});
it('should close all opened discussions', () => {
- const discussion1 = Object.assign({}, discussionMock, { id: 0, expanded: false });
- const discussion2 = Object.assign({}, discussionMock, { id: 1, expanded: true });
+ const discussion1 = { ...discussionMock, id: 0, expanded: false };
+ const discussion2 = { ...discussionMock, id: 1, expanded: true };
const discussionIds = [discussion1.id, discussion2.id];
const state = { discussions: [discussion1, discussion2] };
@@ -382,7 +382,7 @@ describe('Notes Store mutations', () => {
discussions: [individualNote],
};
- const updated = Object.assign({}, individualNote.notes[0], { note: 'Foo' });
+ const updated = { ...individualNote.notes[0], note: 'Foo' };
mutations.UPDATE_NOTE(state, updated);
diff --git a/spec/frontend/pipelines/components/pipelines_filtered_search_spec.js b/spec/frontend/pipelines/components/pipelines_filtered_search_spec.js
new file mode 100644
index 00000000000..ea98a20f3d0
--- /dev/null
+++ b/spec/frontend/pipelines/components/pipelines_filtered_search_spec.js
@@ -0,0 +1,74 @@
+import Api from '~/api';
+import { mount } from '@vue/test-utils';
+import MockAdapter from 'axios-mock-adapter';
+import axios from '~/lib/utils/axios_utils';
+import PipelinesFilteredSearch from '~/pipelines/components/pipelines_filtered_search.vue';
+import { users, mockSearch, pipelineWithStages } from '../mock_data';
+import { GlFilteredSearch } from '@gitlab/ui';
+
+describe('Pipelines filtered search', () => {
+ let wrapper;
+ let mock;
+
+ const findFilteredSearch = () => wrapper.find(GlFilteredSearch);
+ const getSearchToken = type =>
+ findFilteredSearch()
+ .props('availableTokens')
+ .find(token => token.type === type);
+
+ const createComponent = () => {
+ wrapper = mount(PipelinesFilteredSearch, {
+ propsData: {
+ pipelines: [pipelineWithStages],
+ projectId: '21',
+ },
+ attachToDocument: true,
+ });
+ };
+
+ beforeEach(() => {
+ mock = new MockAdapter(axios);
+
+ jest.spyOn(Api, 'projectUsers').mockResolvedValue(users);
+
+ createComponent();
+ });
+
+ afterEach(() => {
+ mock.restore();
+ wrapper.destroy();
+ wrapper = null;
+ });
+
+ it('displays UI elements', () => {
+ expect(wrapper.isVueInstance()).toBe(true);
+ expect(wrapper.isEmpty()).toBe(false);
+
+ expect(findFilteredSearch().exists()).toBe(true);
+ });
+
+ it('displays search tokens', () => {
+ expect(getSearchToken('username')).toMatchObject({
+ type: 'username',
+ icon: 'user',
+ title: 'Trigger author',
+ dataType: 'username',
+ unique: true,
+ triggerAuthors: users,
+ operators: [expect.objectContaining({ value: '=' })],
+ });
+ });
+
+ it('fetches and sets project users', () => {
+ expect(Api.projectUsers).toHaveBeenCalled();
+
+ expect(wrapper.vm.projectUsers).toEqual(users);
+ });
+
+ it('emits filterPipelines on submit with correct filter', () => {
+ findFilteredSearch().vm.$emit('submit', mockSearch);
+
+ expect(wrapper.emitted('filterPipelines')).toBeTruthy();
+ expect(wrapper.emitted('filterPipelines')[0]).toEqual([mockSearch]);
+ });
+});
diff --git a/spec/frontend/pipelines/graph/stage_column_component_spec.js b/spec/frontend/pipelines/graph/stage_column_component_spec.js
index 88e56eee1d6..d32534326c5 100644
--- a/spec/frontend/pipelines/graph/stage_column_component_spec.js
+++ b/spec/frontend/pipelines/graph/stage_column_component_spec.js
@@ -26,7 +26,7 @@ describe('stage column component', () => {
beforeEach(() => {
const mockGroups = [];
for (let i = 0; i < 3; i += 1) {
- const mockedJob = Object.assign({}, mockJob);
+ const mockedJob = { ...mockJob };
mockedJob.id += i;
mockGroups.push(mockedJob);
}
diff --git a/spec/frontend/pipelines/header_component_spec.js b/spec/frontend/pipelines/header_component_spec.js
new file mode 100644
index 00000000000..1c3a6c545a0
--- /dev/null
+++ b/spec/frontend/pipelines/header_component_spec.js
@@ -0,0 +1,116 @@
+import { shallowMount } from '@vue/test-utils';
+import HeaderComponent from '~/pipelines/components/header_component.vue';
+import CiHeader from '~/vue_shared/components/header_ci_component.vue';
+import eventHub from '~/pipelines/event_hub';
+import { GlModal } from '@gitlab/ui';
+
+describe('Pipeline details header', () => {
+ let wrapper;
+ let glModalDirective;
+
+ const threeWeeksAgo = new Date();
+ threeWeeksAgo.setDate(threeWeeksAgo.getDate() - 21);
+
+ const findDeleteModal = () => wrapper.find(GlModal);
+
+ const defaultProps = {
+ pipeline: {
+ details: {
+ status: {
+ group: 'failed',
+ icon: 'status_failed',
+ label: 'failed',
+ text: 'failed',
+ details_path: 'path',
+ },
+ },
+ id: 123,
+ created_at: threeWeeksAgo.toISOString(),
+ user: {
+ web_url: 'path',
+ name: 'Foo',
+ username: 'foobar',
+ email: 'foo@bar.com',
+ avatar_url: 'link',
+ },
+ retry_path: 'retry',
+ cancel_path: 'cancel',
+ delete_path: 'delete',
+ },
+ isLoading: false,
+ };
+
+ const createComponent = (props = {}) => {
+ glModalDirective = jest.fn();
+
+ wrapper = shallowMount(HeaderComponent, {
+ propsData: {
+ ...props,
+ },
+ directives: {
+ glModal: {
+ bind(el, { value }) {
+ glModalDirective(value);
+ },
+ },
+ },
+ });
+ };
+
+ beforeEach(() => {
+ jest.spyOn(eventHub, '$emit');
+
+ createComponent(defaultProps);
+ });
+
+ afterEach(() => {
+ eventHub.$off();
+
+ wrapper.destroy();
+ wrapper = null;
+ });
+
+ it('should render provided pipeline info', () => {
+ expect(wrapper.find(CiHeader).props()).toMatchObject({
+ status: defaultProps.pipeline.details.status,
+ itemId: defaultProps.pipeline.id,
+ time: defaultProps.pipeline.created_at,
+ user: defaultProps.pipeline.user,
+ });
+ });
+
+ describe('action buttons', () => {
+ it('should not trigger eventHub when nothing happens', () => {
+ expect(eventHub.$emit).not.toHaveBeenCalled();
+ });
+
+ it('should call postAction when retry button action is clicked', () => {
+ wrapper.find('.js-retry-button').vm.$emit('click');
+
+ expect(eventHub.$emit).toHaveBeenCalledWith('headerPostAction', 'retry');
+ });
+
+ it('should call postAction when cancel button action is clicked', () => {
+ wrapper.find('.js-btn-cancel-pipeline').vm.$emit('click');
+
+ expect(eventHub.$emit).toHaveBeenCalledWith('headerPostAction', 'cancel');
+ });
+
+ it('does not show delete modal', () => {
+ expect(findDeleteModal()).not.toBeVisible();
+ });
+
+ describe('when delete button action is clicked', () => {
+ it('displays delete modal', () => {
+ expect(findDeleteModal().props('modalId')).toBe(wrapper.vm.$options.DELETE_MODAL_ID);
+ expect(glModalDirective).toHaveBeenCalledWith(wrapper.vm.$options.DELETE_MODAL_ID);
+ });
+
+ it('should call delete when modal is submitted', () => {
+ findDeleteModal().vm.$emit('ok');
+
+ expect(eventHub.$emit).toHaveBeenCalledWith('headerDeleteAction', 'delete');
+ });
+ });
+ });
+});
diff --git a/spec/javascripts/pipelines/linked_pipelines_mock.json b/spec/frontend/pipelines/linked_pipelines_mock.json
index 60e214ddc32..8ad19ef4865 100644
--- a/spec/javascripts/pipelines/linked_pipelines_mock.json
+++ b/spec/frontend/pipelines/linked_pipelines_mock.json
@@ -1766,7 +1766,8 @@
"name": "GitLab Docs",
"full_path": "/gitlab-com/gitlab-docs",
"full_name": "GitLab.com / GitLab Docs"
- }
+ },
+ "triggered": [{}]
},
{
"id": 34993052,
diff --git a/spec/frontend/pipelines/mock_data.js b/spec/frontend/pipelines/mock_data.js
index f876987cd88..81503192350 100644
--- a/spec/frontend/pipelines/mock_data.js
+++ b/spec/frontend/pipelines/mock_data.js
@@ -421,3 +421,62 @@ export const stageReply = {
path: '/twitter/flight/pipelines/13#deploy',
dropdown_path: '/twitter/flight/pipelines/13/stage.json?stage=deploy',
};
+
+export const users = [
+ {
+ id: 1,
+ name: 'Administrator',
+ username: 'root',
+ state: 'active',
+ avatar_url:
+ 'https://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
+ web_url: 'http://192.168.1.22:3000/root',
+ },
+ {
+ id: 10,
+ name: 'Angel Spinka',
+ username: 'shalonda',
+ state: 'active',
+ avatar_url:
+ 'https://www.gravatar.com/avatar/709df1b65ad06764ee2b0edf1b49fc27?s=80\u0026d=identicon',
+ web_url: 'http://192.168.1.22:3000/shalonda',
+ },
+ {
+ id: 11,
+ name: 'Art Davis',
+ username: 'deja.green',
+ state: 'active',
+ avatar_url:
+ 'https://www.gravatar.com/avatar/bb56834c061522760e7a6dd7d431a306?s=80\u0026d=identicon',
+ web_url: 'http://192.168.1.22:3000/deja.green',
+ },
+ {
+ id: 32,
+ name: 'Arnold Mante',
+ username: 'reported_user_10',
+ state: 'active',
+ avatar_url:
+ 'https://www.gravatar.com/avatar/ab558033a82466d7905179e837d7723a?s=80\u0026d=identicon',
+ web_url: 'http://192.168.1.22:3000/reported_user_10',
+ },
+ {
+ id: 38,
+ name: 'Cher Wintheiser',
+ username: 'reported_user_16',
+ state: 'active',
+ avatar_url:
+ 'https://www.gravatar.com/avatar/2640356e8b5bc4314133090994ed162b?s=80\u0026d=identicon',
+ web_url: 'http://192.168.1.22:3000/reported_user_16',
+ },
+ {
+ id: 39,
+ name: 'Bethel Wolf',
+ username: 'reported_user_17',
+ state: 'active',
+ avatar_url:
+ 'https://www.gravatar.com/avatar/4b948694fadba4b01e4acfc06b065e8e?s=80\u0026d=identicon',
+ web_url: 'http://192.168.1.22:3000/reported_user_17',
+ },
+];
+
+export const mockSearch = { type: 'username', value: { data: 'root', operator: '=' } };
diff --git a/spec/frontend/pipelines/pipelines_actions_spec.js b/spec/frontend/pipelines/pipelines_actions_spec.js
new file mode 100644
index 00000000000..5e8d21660de
--- /dev/null
+++ b/spec/frontend/pipelines/pipelines_actions_spec.js
@@ -0,0 +1,142 @@
+import { shallowMount } from '@vue/test-utils';
+import MockAdapter from 'axios-mock-adapter';
+import { TEST_HOST } from 'spec/test_constants';
+import axios from '~/lib/utils/axios_utils';
+import PipelinesActions from '~/pipelines/components/pipelines_actions.vue';
+import { GlDeprecatedButton } from '@gitlab/ui';
+import GlCountdown from '~/vue_shared/components/gl_countdown.vue';
+import waitForPromises from 'helpers/wait_for_promises';
+
+describe('Pipelines Actions dropdown', () => {
+ let wrapper;
+ let mock;
+
+ const createComponent = (actions = []) => {
+ wrapper = shallowMount(PipelinesActions, {
+ propsData: {
+ actions,
+ },
+ });
+ };
+
+ const findAllDropdownItems = () => wrapper.findAll(GlDeprecatedButton);
+ const findAllCountdowns = () => wrapper.findAll(GlCountdown);
+
+ beforeEach(() => {
+ mock = new MockAdapter(axios);
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ wrapper = null;
+
+ mock.restore();
+ });
+
+ describe('manual actions', () => {
+ const mockActions = [
+ {
+ name: 'stop_review',
+ path: `${TEST_HOST}/root/review-app/builds/1893/play`,
+ },
+ {
+ name: 'foo',
+ path: `${TEST_HOST}/disabled/pipeline/action`,
+ playable: false,
+ },
+ ];
+
+ beforeEach(() => {
+ createComponent(mockActions);
+ });
+
+ it('renders a dropdown with the provided actions', () => {
+ expect(findAllDropdownItems()).toHaveLength(mockActions.length);
+ });
+
+ it("renders a disabled action when it's not playable", () => {
+ expect(
+ findAllDropdownItems()
+ .at(1)
+ .attributes('disabled'),
+ ).toBe('true');
+ });
+
+ describe('on click', () => {
+ it('makes a request and toggles the loading state', () => {
+ mock.onPost(mockActions.path).reply(200);
+
+ wrapper.find(GlDeprecatedButton).vm.$emit('click');
+
+ expect(wrapper.vm.isLoading).toBe(true);
+
+ return waitForPromises().then(() => {
+ expect(wrapper.vm.isLoading).toBe(false);
+ });
+ });
+ });
+ });
+
+ describe('scheduled jobs', () => {
+ const scheduledJobAction = {
+ name: 'scheduled action',
+ path: `${TEST_HOST}/scheduled/job/action`,
+ playable: true,
+ scheduled_at: '2063-04-05T00:42:00Z',
+ };
+ const expiredJobAction = {
+ name: 'expired action',
+ path: `${TEST_HOST}/expired/job/action`,
+ playable: true,
+ scheduled_at: '2018-10-05T08:23:00Z',
+ };
+
+ beforeEach(() => {
+ jest.spyOn(Date, 'now').mockImplementation(() => new Date('2063-04-04T00:42:00Z').getTime());
+ createComponent([scheduledJobAction, expiredJobAction]);
+ });
+
+ it('makes post request after confirming', () => {
+ mock.onPost(scheduledJobAction.path).reply(200);
+ jest.spyOn(window, 'confirm').mockReturnValue(true);
+
+ findAllDropdownItems()
+ .at(0)
+ .vm.$emit('click');
+
+ expect(window.confirm).toHaveBeenCalled();
+
+ return waitForPromises().then(() => {
+ expect(mock.history.post.length).toBe(1);
+ });
+ });
+
+ it('does not make post request if confirmation is cancelled', () => {
+ mock.onPost(scheduledJobAction.path).reply(200);
+ jest.spyOn(window, 'confirm').mockReturnValue(false);
+
+ findAllDropdownItems()
+ .at(0)
+ .vm.$emit('click');
+
+ expect(window.confirm).toHaveBeenCalled();
+ expect(mock.history.post.length).toBe(0);
+ });
+
+ it('displays the remaining time in the dropdown', () => {
+ expect(
+ findAllCountdowns()
+ .at(0)
+ .props('endDateString'),
+ ).toBe(scheduledJobAction.scheduled_at);
+ });
+
+ it('displays 00:00:00 for expired jobs in the dropdown', () => {
+ expect(
+ findAllCountdowns()
+ .at(1)
+ .props('endDateString'),
+ ).toBe(expiredJobAction.scheduled_at);
+ });
+ });
+});
diff --git a/spec/frontend/pipelines/pipelines_spec.js b/spec/frontend/pipelines/pipelines_spec.js
index 40cd0ad9047..e46b9c7c817 100644
--- a/spec/frontend/pipelines/pipelines_spec.js
+++ b/spec/frontend/pipelines/pipelines_spec.js
@@ -1,10 +1,12 @@
+import Api from '~/api';
import { mount } from '@vue/test-utils';
import MockAdapter from 'axios-mock-adapter';
import axios from '~/lib/utils/axios_utils';
import waitForPromises from 'helpers/wait_for_promises';
import PipelinesComponent from '~/pipelines/components/pipelines.vue';
import Store from '~/pipelines/stores/pipelines_store';
-import { pipelineWithStages, stageReply } from './mock_data';
+import { pipelineWithStages, stageReply, users, mockSearch } from './mock_data';
+import { GlFilteredSearch } from '@gitlab/ui';
describe('Pipelines', () => {
const jsonFixtureName = 'pipelines/pipelines.json';
@@ -42,10 +44,14 @@ describe('Pipelines', () => {
...paths,
};
+ const findFilteredSearch = () => wrapper.find(GlFilteredSearch);
+
const createComponent = (props = defaultProps, methods) => {
wrapper = mount(PipelinesComponent, {
+ provide: { glFeatures: { filterPipelinesSearch: true } },
propsData: {
store: new Store(),
+ projectId: '21',
...props,
},
methods: {
@@ -57,6 +63,7 @@ describe('Pipelines', () => {
beforeEach(() => {
mock = new MockAdapter(axios);
pipelines = getJSONFixture(jsonFixtureName);
+ jest.spyOn(Api, 'projectUsers').mockResolvedValue(users);
});
afterEach(() => {
@@ -594,7 +601,7 @@ describe('Pipelines', () => {
describe('updates results when a staged is clicked', () => {
beforeEach(() => {
- const copyPipeline = Object.assign({}, pipelineWithStages);
+ const copyPipeline = { ...pipelineWithStages };
copyPipeline.id += 1;
mock
.onGet('twitter/flight/pipelines.json')
@@ -656,4 +663,23 @@ describe('Pipelines', () => {
});
});
});
+
+ describe('Pipeline filters', () => {
+ beforeEach(() => {
+ mock.onGet(paths.endpoint).reply(200, pipelines);
+ createComponent();
+
+ return waitForPromises();
+ });
+
+ it('updates request data and query params on filter submit', () => {
+ const updateContentMock = jest.spyOn(wrapper.vm, 'updateContent');
+ const expectedQueryParams = { page: '1', scope: 'all', username: 'root' };
+
+ findFilteredSearch().vm.$emit('submit', [mockSearch]);
+
+ expect(wrapper.vm.requestData).toEqual(expectedQueryParams);
+ expect(updateContentMock).toHaveBeenCalledWith(expectedQueryParams);
+ });
+ });
});
diff --git a/spec/frontend/pipelines/pipelines_table_row_spec.js b/spec/frontend/pipelines/pipelines_table_row_spec.js
index c43210c5350..3d564c8758c 100644
--- a/spec/frontend/pipelines/pipelines_table_row_spec.js
+++ b/spec/frontend/pipelines/pipelines_table_row_spec.js
@@ -169,7 +169,7 @@ describe('Pipelines Table Row', () => {
};
beforeEach(() => {
- const withActions = Object.assign({}, pipeline);
+ const withActions = { ...pipeline };
withActions.details.scheduled_actions = [scheduledJobAction];
withActions.flags.cancelable = true;
withActions.flags.retryable = true;
diff --git a/spec/frontend/pipelines/stage_spec.js b/spec/frontend/pipelines/stage_spec.js
index b020aaedd06..6aa041bcb7f 100644
--- a/spec/frontend/pipelines/stage_spec.js
+++ b/spec/frontend/pipelines/stage_spec.js
@@ -96,7 +96,7 @@ describe('Pipelines stage component', () => {
describe('update endpoint correctly', () => {
beforeEach(() => {
- const copyStage = Object.assign({}, stageReply);
+ const copyStage = { ...stageReply };
copyStage.latest_statuses[0].name = 'this is the updated content';
mock.onGet('bar.json').reply(200, copyStage);
createComponent({
diff --git a/spec/javascripts/pipelines/stores/pipeline_store.js b/spec/frontend/pipelines/stores/pipeline_store_spec.js
index 4a0b3bf4c02..68d438109b3 100644
--- a/spec/javascripts/pipelines/stores/pipeline_store.js
+++ b/spec/frontend/pipelines/stores/pipeline_store_spec.js
@@ -7,14 +7,12 @@ describe('EE Pipeline store', () => {
beforeEach(() => {
store = new PipelineStore();
- data = Object.assign({}, LinkedPipelines);
+ data = { ...LinkedPipelines };
+
+ store.storePipeline(data);
});
describe('storePipeline', () => {
- beforeAll(() => {
- store.storePipeline(data);
- });
-
describe('triggered_by', () => {
it('sets triggered_by as an array', () => {
expect(store.state.pipeline.triggered_by.length).toEqual(1);
@@ -50,10 +48,6 @@ describe('EE Pipeline store', () => {
});
describe('resetTriggeredByPipeline', () => {
- beforeEach(() => {
- store.storePipeline(data);
- });
-
it('closes the pipeline & nested ones', () => {
store.state.pipeline.triggered_by[0].isExpanded = true;
store.state.pipeline.triggered_by[0].triggered_by[0].isExpanded = true;
@@ -66,10 +60,6 @@ describe('EE Pipeline store', () => {
});
describe('openTriggeredByPipeline', () => {
- beforeEach(() => {
- store.storePipeline(data);
- });
-
it('opens the given pipeline', () => {
store.openTriggeredByPipeline(store.state.pipeline, store.state.pipeline.triggered_by[0]);
@@ -78,10 +68,6 @@ describe('EE Pipeline store', () => {
});
describe('closeTriggeredByPipeline', () => {
- beforeEach(() => {
- store.storePipeline(data);
- });
-
it('closes the given pipeline', () => {
// open it first
store.openTriggeredByPipeline(store.state.pipeline, store.state.pipeline.triggered_by[0]);
@@ -93,15 +79,11 @@ describe('EE Pipeline store', () => {
});
describe('resetTriggeredPipelines', () => {
- beforeEach(() => {
- store.storePipeline(data);
- });
-
it('closes the pipeline & nested ones', () => {
store.state.pipeline.triggered[0].isExpanded = true;
store.state.pipeline.triggered[0].triggered[0].isExpanded = true;
- store.resetTriggeredPipeline(store.state.pipeline, store.state.pipeline.triggered[0]);
+ store.resetTriggeredPipelines(store.state.pipeline, store.state.pipeline.triggered[0]);
expect(store.state.pipeline.triggered[0].isExpanded).toEqual(false);
expect(store.state.pipeline.triggered[0].triggered[0].isExpanded).toEqual(false);
@@ -109,10 +91,6 @@ describe('EE Pipeline store', () => {
});
describe('openTriggeredPipeline', () => {
- beforeEach(() => {
- store.storePipeline(data);
- });
-
it('opens the given pipeline', () => {
store.openTriggeredPipeline(store.state.pipeline, store.state.pipeline.triggered[0]);
@@ -121,10 +99,6 @@ describe('EE Pipeline store', () => {
});
describe('closeTriggeredPipeline', () => {
- beforeEach(() => {
- store.storePipeline(data);
- });
-
it('closes the given pipeline', () => {
// open it first
store.openTriggeredPipeline(store.state.pipeline, store.state.pipeline.triggered[0]);
@@ -136,12 +110,8 @@ describe('EE Pipeline store', () => {
});
describe('toggleLoading', () => {
- beforeEach(() => {
- store.storePipeline(data);
- });
-
it('toggles the isLoading property for the given pipeline', () => {
- store.togglePipeline(store.state.pipeline.triggered[0]);
+ store.toggleLoading(store.state.pipeline.triggered[0]);
expect(store.state.pipeline.triggered[0].isLoading).toEqual(true);
});
diff --git a/spec/frontend/pipelines/test_reports/stores/mutations_spec.js b/spec/frontend/pipelines/test_reports/stores/mutations_spec.js
index 9eaa563025d..a0eb93c4e6b 100644
--- a/spec/frontend/pipelines/test_reports/stores/mutations_spec.js
+++ b/spec/frontend/pipelines/test_reports/stores/mutations_spec.js
@@ -20,7 +20,7 @@ describe('Mutations TestReports Store', () => {
describe('set endpoint', () => {
it('should set endpoint', () => {
- const expectedState = Object.assign({}, mockState, { endpoint: 'foo' });
+ const expectedState = { ...mockState, endpoint: 'foo' };
mutations[types.SET_ENDPOINT](mockState, 'foo');
expect(mockState.endpoint).toEqual(expectedState.endpoint);
@@ -47,14 +47,14 @@ describe('Mutations TestReports Store', () => {
describe('toggle loading', () => {
it('should set to true', () => {
- const expectedState = Object.assign({}, mockState, { isLoading: true });
+ const expectedState = { ...mockState, isLoading: true };
mutations[types.TOGGLE_LOADING](mockState);
expect(mockState.isLoading).toEqual(expectedState.isLoading);
});
it('should toggle back to false', () => {
- const expectedState = Object.assign({}, mockState, { isLoading: false });
+ const expectedState = { ...mockState, isLoading: false };
mockState.isLoading = true;
mutations[types.TOGGLE_LOADING](mockState);
diff --git a/spec/frontend/pipelines/test_reports/test_summary_spec.js b/spec/frontend/pipelines/test_reports/test_summary_spec.js
index 160d93d2e6b..8f041e46472 100644
--- a/spec/frontend/pipelines/test_reports/test_summary_spec.js
+++ b/spec/frontend/pipelines/test_reports/test_summary_spec.js
@@ -82,17 +82,19 @@ describe('Test reports summary', () => {
describe('success percentage calculation', () => {
it.each`
- name | successCount | totalCount | result
- ${'displays 0 when there are no tests'} | ${0} | ${0} | ${'0'}
- ${'displays whole number when possible'} | ${10} | ${50} | ${'20'}
- ${'rounds to 0.01'} | ${1} | ${16604} | ${'0.01'}
- ${'correctly rounds to 50'} | ${8302} | ${16604} | ${'50'}
- ${'rounds down for large close numbers'} | ${16603} | ${16604} | ${'99.99'}
- ${'correctly displays 100'} | ${16604} | ${16604} | ${'100'}
- `('$name', ({ successCount, totalCount, result }) => {
+ name | successCount | totalCount | skippedCount | result
+ ${'displays 0 when there are no tests'} | ${0} | ${0} | ${0} | ${'0'}
+ ${'displays whole number when possible'} | ${10} | ${50} | ${0} | ${'20'}
+ ${'excludes skipped tests from total'} | ${10} | ${50} | ${5} | ${'22.22'}
+ ${'rounds to 0.01'} | ${1} | ${16604} | ${0} | ${'0.01'}
+ ${'correctly rounds to 50'} | ${8302} | ${16604} | ${0} | ${'50'}
+ ${'rounds down for large close numbers'} | ${16603} | ${16604} | ${0} | ${'99.99'}
+ ${'correctly displays 100'} | ${16604} | ${16604} | ${0} | ${'100'}
+ `('$name', ({ successCount, totalCount, skippedCount, result }) => {
createComponent({
report: {
success_count: successCount,
+ skipped_count: skippedCount,
total_count: totalCount,
},
});
diff --git a/spec/frontend/pipelines/tokens/pipeline_trigger_author_token_spec.js b/spec/frontend/pipelines/tokens/pipeline_trigger_author_token_spec.js
new file mode 100644
index 00000000000..56aba62ede2
--- /dev/null
+++ b/spec/frontend/pipelines/tokens/pipeline_trigger_author_token_spec.js
@@ -0,0 +1,63 @@
+import { GlFilteredSearchToken, GlFilteredSearchSuggestion } from '@gitlab/ui';
+import { shallowMount } from '@vue/test-utils';
+import PipelineTriggerAuthorToken from '~/pipelines/components/tokens/pipeline_trigger_author_token.vue';
+import { users } from '../mock_data';
+
+describe('Pipeline Trigger Author Token', () => {
+ let wrapper;
+
+ const findFilteredSearchToken = () => wrapper.find(GlFilteredSearchToken);
+ const findAllFilteredSearchSuggestions = () => wrapper.findAll(GlFilteredSearchSuggestion);
+
+ const stubs = {
+ GlFilteredSearchToken: {
+ template: `<div><slot name="suggestions"></slot></div>`,
+ },
+ };
+
+ const defaultProps = {
+ config: {
+ type: 'username',
+ icon: 'user',
+ title: 'Trigger author',
+ dataType: 'username',
+ unique: true,
+ triggerAuthors: users,
+ },
+ };
+
+ const createComponent = (props = {}, options) => {
+ wrapper = shallowMount(PipelineTriggerAuthorToken, {
+ propsData: {
+ ...props,
+ ...defaultProps,
+ },
+ ...options,
+ });
+ };
+
+ beforeEach(() => {
+ createComponent({ value: { data: '' } });
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ wrapper = null;
+ });
+
+ it('passes config correctly', () => {
+ expect(findFilteredSearchToken().props('config')).toEqual(defaultProps.config);
+ });
+
+ describe('shows trigger authors correctly', () => {
+ it('renders all trigger authors', () => {
+ createComponent({ value: { data: '' } }, { stubs });
+ expect(findAllFilteredSearchSuggestions()).toHaveLength(7);
+ });
+
+ it('renders only the trigger author searched for', () => {
+ createComponent({ value: { data: 'root' } }, { stubs });
+ expect(findAllFilteredSearchSuggestions()).toHaveLength(2);
+ });
+ });
+});
diff --git a/spec/frontend/releases/components/app_edit_spec.js b/spec/frontend/releases/components/app_edit_spec.js
index 09bafe4aa9b..4450b047acd 100644
--- a/spec/frontend/releases/components/app_edit_spec.js
+++ b/spec/frontend/releases/components/app_edit_spec.js
@@ -1,11 +1,13 @@
import Vuex from 'vuex';
import { mount } from '@vue/test-utils';
import ReleaseEditApp from '~/releases/components/app_edit.vue';
-import { release as originalRelease } from '../mock_data';
+import { release as originalRelease, milestones as originalMilestones } from '../mock_data';
import * as commonUtils from '~/lib/utils/common_utils';
import { BACK_URL_PARAM } from '~/releases/constants';
import AssetLinksForm from '~/releases/components/asset_links_form.vue';
import { merge } from 'lodash';
+import axios from 'axios';
+import MockAdapter from 'axios-mock-adapter';
describe('Release edit component', () => {
let wrapper;
@@ -13,6 +15,7 @@ describe('Release edit component', () => {
let actions;
let getters;
let state;
+ let mock;
const factory = ({ featureFlags = {}, store: storeUpdates = {} } = {}) => {
state = {
@@ -20,6 +23,7 @@ describe('Release edit component', () => {
markdownDocsPath: 'path/to/markdown/docs',
updateReleaseApiDocsPath: 'path/to/update/release/api/docs',
releasesPagePath: 'path/to/releases/page',
+ projectId: '8',
};
actions = {
@@ -62,8 +66,11 @@ describe('Release edit component', () => {
};
beforeEach(() => {
+ mock = new MockAdapter(axios);
gon.api_version = 'v4';
+ mock.onGet('/api/v4/projects/8/milestones').reply(200, originalMilestones);
+
release = commonUtils.convertObjectPropsToCamelCase(originalRelease, { deep: true });
});
diff --git a/spec/frontend/releases/stores/modules/detail/actions_spec.js b/spec/frontend/releases/stores/modules/detail/actions_spec.js
index 231d877a25d..854f06821be 100644
--- a/spec/frontend/releases/stores/modules/detail/actions_spec.js
+++ b/spec/frontend/releases/stores/modules/detail/actions_spec.js
@@ -130,6 +130,15 @@ describe('Release detail actions', () => {
});
});
+ describe('updateReleaseMilestones', () => {
+ it(`commits ${types.UPDATE_RELEASE_MILESTONES} with the updated release milestones`, () => {
+ const newReleaseMilestones = ['v0.0', 'v0.1'];
+ return testAction(actions.updateReleaseMilestones, newReleaseMilestones, state, [
+ { type: types.UPDATE_RELEASE_MILESTONES, payload: newReleaseMilestones },
+ ]);
+ });
+ });
+
describe('requestUpdateRelease', () => {
it(`commits ${types.REQUEST_UPDATE_RELEASE}`, () =>
testAction(actions.requestUpdateRelease, undefined, state, [
@@ -248,6 +257,7 @@ describe('Release detail actions', () => {
{
name: state.release.name,
description: state.release.description,
+ milestones: state.release.milestones.map(milestone => milestone.title),
},
],
]);
diff --git a/spec/javascripts/reports/components/grouped_test_reports_app_spec.js b/spec/frontend/reports/components/grouped_test_reports_app_spec.js
index 9d7150d95cd..1a01db391da 100644
--- a/spec/javascripts/reports/components/grouped_test_reports_app_spec.js
+++ b/spec/frontend/reports/components/grouped_test_reports_app_spec.js
@@ -35,7 +35,7 @@ describe('Grouped Test Reports App', () => {
});
it('renders success summary text', done => {
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('.gl-spinner')).toBeNull();
expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual(
'Test summary contained no changed test results out of 11 total tests',
@@ -49,7 +49,7 @@ describe('Grouped Test Reports App', () => {
'java ant found no changed test results out of 3 total tests',
);
done();
- }, 0);
+ });
});
});
@@ -62,14 +62,14 @@ describe('Grouped Test Reports App', () => {
});
it('renders success summary text', done => {
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('.gl-spinner')).not.toBeNull();
expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual(
'Test summary results are being parsed',
);
done();
- }, 0);
+ });
});
});
@@ -82,7 +82,7 @@ describe('Grouped Test Reports App', () => {
});
it('renders failed summary text + new badge', done => {
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('.gl-spinner')).toBeNull();
expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual(
'Test summary contained 2 failed out of 11 total tests',
@@ -95,7 +95,7 @@ describe('Grouped Test Reports App', () => {
'java ant found no changed test results out of 3 total tests',
);
done();
- }, 0);
+ });
});
});
@@ -108,7 +108,7 @@ describe('Grouped Test Reports App', () => {
});
it('renders error summary text + new badge', done => {
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('.gl-spinner')).toBeNull();
expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual(
'Test summary contained 2 errors out of 11 total tests',
@@ -121,7 +121,7 @@ describe('Grouped Test Reports App', () => {
'rspec:pg found no changed test results out of 8 total tests',
);
done();
- }, 0);
+ });
});
});
@@ -134,7 +134,7 @@ describe('Grouped Test Reports App', () => {
});
it('renders summary text', done => {
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('.gl-spinner')).toBeNull();
expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual(
'Test summary contained 2 failed and 2 fixed test results out of 11 total tests',
@@ -147,7 +147,7 @@ describe('Grouped Test Reports App', () => {
expect(vm.$el.textContent).toContain('New');
expect(vm.$el.textContent).toContain(' java ant found 1 failed out of 3 total tests');
done();
- }, 0);
+ });
});
});
@@ -160,7 +160,7 @@ describe('Grouped Test Reports App', () => {
});
it('renders summary text', done => {
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('.gl-spinner')).toBeNull();
expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual(
'Test summary contained 4 fixed test results out of 11 total tests',
@@ -170,11 +170,11 @@ describe('Grouped Test Reports App', () => {
'rspec:pg found 4 fixed test results out of 8 total tests',
);
done();
- }, 0);
+ });
});
it('renders resolved failures', done => {
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('.report-block-container').textContent).toContain(
resolvedFailures.suites[0].resolved_failures[0].name,
);
@@ -183,11 +183,11 @@ describe('Grouped Test Reports App', () => {
resolvedFailures.suites[0].resolved_failures[1].name,
);
done();
- }, 0);
+ });
});
it('renders resolved errors', done => {
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('.report-block-container').textContent).toContain(
resolvedFailures.suites[0].resolved_errors[0].name,
);
@@ -196,7 +196,7 @@ describe('Grouped Test Reports App', () => {
resolvedFailures.suites[0].resolved_errors[1].name,
);
done();
- }, 0);
+ });
});
});
@@ -209,7 +209,7 @@ describe('Grouped Test Reports App', () => {
});
it('renders an error status for the report', done => {
- setTimeout(() => {
+ setImmediate(() => {
const { name } = failedReport.suites[0];
expect(vm.$el.querySelector('.report-block-list-issue').textContent).toContain(
@@ -229,12 +229,12 @@ describe('Grouped Test Reports App', () => {
});
it('renders loading summary text with loading icon', done => {
- setTimeout(() => {
+ setImmediate(() => {
expect(vm.$el.querySelector('.js-code-text').textContent.trim()).toEqual(
'Test summary failed loading results',
);
done();
- }, 0);
+ });
});
});
@@ -252,9 +252,9 @@ describe('Grouped Test Reports App', () => {
'Test summary results are being parsed',
);
- setTimeout(() => {
+ setImmediate(() => {
done();
- }, 0);
+ });
});
});
});
diff --git a/spec/javascripts/reports/components/modal_open_name_spec.js b/spec/frontend/reports/components/modal_open_name_spec.js
index ae1fb2bf187..d59f3571c4b 100644
--- a/spec/javascripts/reports/components/modal_open_name_spec.js
+++ b/spec/frontend/reports/components/modal_open_name_spec.js
@@ -1,6 +1,6 @@
import Vue from 'vue';
import Vuex from 'vuex';
-import { mountComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
+import { mountComponentWithStore } from 'helpers/vue_mount_component_helper';
import component from '~/reports/components/modal_open_name.vue';
Vue.use(Vuex);
@@ -38,7 +38,7 @@ describe('Modal open name', () => {
});
it('calls openModal actions when button is clicked', () => {
- spyOn(vm, 'openModal');
+ jest.spyOn(vm, 'openModal').mockImplementation(() => {});
vm.$el.click();
diff --git a/spec/javascripts/reports/components/modal_spec.js b/spec/frontend/reports/components/modal_spec.js
index ff046e64b6e..ff046e64b6e 100644
--- a/spec/javascripts/reports/components/modal_spec.js
+++ b/spec/frontend/reports/components/modal_spec.js
diff --git a/spec/javascripts/reports/components/summary_row_spec.js b/spec/frontend/reports/components/summary_row_spec.js
index a19fbad403c..cb0cc025e80 100644
--- a/spec/javascripts/reports/components/summary_row_spec.js
+++ b/spec/frontend/reports/components/summary_row_spec.js
@@ -1,5 +1,5 @@
import Vue from 'vue';
-import mountComponent from 'spec/helpers/vue_mount_component_helper';
+import mountComponent from 'helpers/vue_mount_component_helper';
import component from '~/reports/components/summary_row.vue';
describe('Summary row', () => {
diff --git a/spec/javascripts/reports/components/test_issue_body_spec.js b/spec/frontend/reports/components/test_issue_body_spec.js
index 9c1cec4c9bc..ff81020a4eb 100644
--- a/spec/javascripts/reports/components/test_issue_body_spec.js
+++ b/spec/frontend/reports/components/test_issue_body_spec.js
@@ -26,7 +26,7 @@ describe('Test Issue body', () => {
props: commonProps,
});
- spyOn(vm, 'openModal');
+ jest.spyOn(vm, 'openModal').mockImplementation(() => {});
vm.$el.querySelector('button').click();
@@ -40,7 +40,7 @@ describe('Test Issue body', () => {
beforeEach(() => {
vm = mountComponentWithStore(Component, {
store,
- props: Object.assign({}, commonProps, { isNew: true }),
+ props: { ...commonProps, isNew: true },
});
});
diff --git a/spec/javascripts/reports/mock_data/mock_data.js b/spec/frontend/reports/mock_data/mock_data.js
index 3caaab2fd79..3caaab2fd79 100644
--- a/spec/javascripts/reports/mock_data/mock_data.js
+++ b/spec/frontend/reports/mock_data/mock_data.js
diff --git a/spec/javascripts/reports/mock_data/new_and_fixed_failures_report.json b/spec/frontend/reports/mock_data/new_and_fixed_failures_report.json
index 6141e5433a6..6141e5433a6 100644
--- a/spec/javascripts/reports/mock_data/new_and_fixed_failures_report.json
+++ b/spec/frontend/reports/mock_data/new_and_fixed_failures_report.json
diff --git a/spec/javascripts/reports/mock_data/new_errors_report.json b/spec/frontend/reports/mock_data/new_errors_report.json
index cebf98fdb63..cebf98fdb63 100644
--- a/spec/javascripts/reports/mock_data/new_errors_report.json
+++ b/spec/frontend/reports/mock_data/new_errors_report.json
diff --git a/spec/javascripts/reports/mock_data/new_failures_report.json b/spec/frontend/reports/mock_data/new_failures_report.json
index 8b9c12c6271..8b9c12c6271 100644
--- a/spec/javascripts/reports/mock_data/new_failures_report.json
+++ b/spec/frontend/reports/mock_data/new_failures_report.json
diff --git a/spec/javascripts/reports/mock_data/no_failures_report.json b/spec/frontend/reports/mock_data/no_failures_report.json
index 7da9e0c6211..7da9e0c6211 100644
--- a/spec/javascripts/reports/mock_data/no_failures_report.json
+++ b/spec/frontend/reports/mock_data/no_failures_report.json
diff --git a/spec/javascripts/reports/mock_data/resolved_failures.json b/spec/frontend/reports/mock_data/resolved_failures.json
index 49de6aa840b..49de6aa840b 100644
--- a/spec/javascripts/reports/mock_data/resolved_failures.json
+++ b/spec/frontend/reports/mock_data/resolved_failures.json
diff --git a/spec/javascripts/reports/store/actions_spec.js b/spec/frontend/reports/store/actions_spec.js
index 18fdb179597..3f189736922 100644
--- a/spec/javascripts/reports/store/actions_spec.js
+++ b/spec/frontend/reports/store/actions_spec.js
@@ -1,6 +1,6 @@
import MockAdapter from 'axios-mock-adapter';
-import testAction from 'spec/helpers/vuex_action_helper';
-import { TEST_HOST } from 'spec/test_constants';
+import testAction from 'helpers/vuex_action_helper';
+import { TEST_HOST } from 'helpers/test_constants';
import axios from '~/lib/utils/axios_utils';
import {
setEndpoint,
diff --git a/spec/javascripts/reports/store/mutations_spec.js b/spec/frontend/reports/store/mutations_spec.js
index 9446cd454ab..9446cd454ab 100644
--- a/spec/javascripts/reports/store/mutations_spec.js
+++ b/spec/frontend/reports/store/mutations_spec.js
diff --git a/spec/frontend/sidebar/__snapshots__/confidential_issue_sidebar_spec.js.snap b/spec/frontend/sidebar/__snapshots__/confidential_issue_sidebar_spec.js.snap
index 1f93336e755..cf7832f3948 100644
--- a/spec/frontend/sidebar/__snapshots__/confidential_issue_sidebar_spec.js.snap
+++ b/spec/frontend/sidebar/__snapshots__/confidential_issue_sidebar_spec.js.snap
@@ -1,6 +1,6 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
-exports[`Confidential Issue Sidebar Block renders for isConfidential = false and isEditable = false 1`] = `
+exports[`Confidential Issue Sidebar Block renders for confidential = false and isEditable = false 1`] = `
<div
class="block issuable-sidebar-item confidentiality"
>
@@ -52,7 +52,7 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
</div>
`;
-exports[`Confidential Issue Sidebar Block renders for isConfidential = false and isEditable = true 1`] = `
+exports[`Confidential Issue Sidebar Block renders for confidential = false and isEditable = true 1`] = `
<div
class="block issuable-sidebar-item confidentiality"
>
@@ -84,9 +84,7 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
data-track-property="confidentiality"
href="#"
>
-
Edit
-
</a>
</div>
@@ -114,7 +112,7 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = false and
</div>
`;
-exports[`Confidential Issue Sidebar Block renders for isConfidential = true and isEditable = false 1`] = `
+exports[`Confidential Issue Sidebar Block renders for confidential = true and isEditable = false 1`] = `
<div
class="block issuable-sidebar-item confidentiality"
>
@@ -166,7 +164,7 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
</div>
`;
-exports[`Confidential Issue Sidebar Block renders for isConfidential = true and isEditable = true 1`] = `
+exports[`Confidential Issue Sidebar Block renders for confidential = true and isEditable = true 1`] = `
<div
class="block issuable-sidebar-item confidentiality"
>
@@ -198,9 +196,7 @@ exports[`Confidential Issue Sidebar Block renders for isConfidential = true and
data-track-property="confidentiality"
href="#"
>
-
Edit
-
</a>
</div>
diff --git a/spec/frontend/sidebar/assignees_realtime_spec.js b/spec/frontend/sidebar/assignees_realtime_spec.js
index d6a6ca18fe8..1c62c52dc67 100644
--- a/spec/frontend/sidebar/assignees_realtime_spec.js
+++ b/spec/frontend/sidebar/assignees_realtime_spec.js
@@ -6,7 +6,9 @@ import Mock from './mock_data';
import query from '~/issuable_sidebar/queries/issue_sidebar.query.graphql';
jest.mock('@rails/actioncable', () => {
- const mockConsumer = { subscriptions: { create: jest.fn() } };
+ const mockConsumer = {
+ subscriptions: { create: jest.fn().mockReturnValue({ unsubscribe: jest.fn() }) },
+ };
return {
createConsumer: jest.fn().mockReturnValue(mockConsumer),
};
diff --git a/spec/frontend/sidebar/confidential_issue_sidebar_spec.js b/spec/frontend/sidebar/confidential_issue_sidebar_spec.js
index 4853d9795b1..e7a64ec5ed9 100644
--- a/spec/frontend/sidebar/confidential_issue_sidebar_spec.js
+++ b/spec/frontend/sidebar/confidential_issue_sidebar_spec.js
@@ -5,6 +5,7 @@ import EditForm from '~/sidebar/components/confidential/edit_form.vue';
import SidebarService from '~/sidebar/services/sidebar_service';
import createFlash from '~/flash';
import RecaptchaModal from '~/vue_shared/components/recaptcha_modal.vue';
+import createStore from '~/notes/stores';
jest.mock('~/flash');
jest.mock('~/sidebar/services/sidebar_service');
@@ -31,8 +32,10 @@ describe('Confidential Issue Sidebar Block', () => {
};
const createComponent = propsData => {
+ const store = createStore();
const service = new SidebarService();
wrapper = shallowMount(ConfidentialIssueSidebar, {
+ store,
propsData: {
service,
...propsData,
@@ -49,29 +52,31 @@ describe('Confidential Issue Sidebar Block', () => {
});
it.each`
- isConfidential | isEditable
- ${false} | ${false}
- ${false} | ${true}
- ${true} | ${false}
- ${true} | ${true}
+ confidential | isEditable
+ ${false} | ${false}
+ ${false} | ${true}
+ ${true} | ${false}
+ ${true} | ${true}
`(
- 'renders for isConfidential = $isConfidential and isEditable = $isEditable',
- ({ isConfidential, isEditable }) => {
+ 'renders for confidential = $confidential and isEditable = $isEditable',
+ ({ confidential, isEditable }) => {
createComponent({
- isConfidential,
isEditable,
});
+ wrapper.vm.$store.state.noteableData.confidential = confidential;
- expect(wrapper.element).toMatchSnapshot();
+ return wrapper.vm.$nextTick().then(() => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
},
);
describe('if editable', () => {
beforeEach(() => {
createComponent({
- isConfidential: true,
isEditable: true,
});
+ wrapper.vm.$store.state.noteableData.confidential = true;
});
it('displays the edit form when editable', () => {
diff --git a/spec/frontend/snippets/components/__snapshots__/snippet_description_view_spec.js.snap b/spec/frontend/snippets/components/__snapshots__/snippet_description_view_spec.js.snap
new file mode 100644
index 00000000000..9ebc4e81baf
--- /dev/null
+++ b/spec/frontend/snippets/components/__snapshots__/snippet_description_view_spec.js.snap
@@ -0,0 +1,16 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Snippet Description component matches the snapshot 1`] = `
+<markdown-field-view-stub
+ class="snippet-description"
+ data-qa-selector="snippet_description_field"
+>
+ <div
+ class="md js-snippet-description"
+ >
+ <h2>
+ The property of Thor
+ </h2>
+ </div>
+</markdown-field-view-stub>
+`;
diff --git a/spec/frontend/snippets/components/snippet_blob_view_spec.js b/spec/frontend/snippets/components/snippet_blob_view_spec.js
index 1f6038bc7f0..612ca858f05 100644
--- a/spec/frontend/snippets/components/snippet_blob_view_spec.js
+++ b/spec/frontend/snippets/components/snippet_blob_view_spec.js
@@ -84,9 +84,7 @@ describe('Blob Embeddable', () => {
});
it('sets rich viewer correctly', () => {
- const data = Object.assign({}, dataMock, {
- activeViewerType: RichViewerMock.type,
- });
+ const data = { ...dataMock, activeViewerType: RichViewerMock.type };
createComponent({}, data);
expect(wrapper.find(RichViewer).exists()).toBe(true);
});
diff --git a/spec/frontend/snippets/components/snippet_description_view_spec.js b/spec/frontend/snippets/components/snippet_description_view_spec.js
new file mode 100644
index 00000000000..46467ef311e
--- /dev/null
+++ b/spec/frontend/snippets/components/snippet_description_view_spec.js
@@ -0,0 +1,27 @@
+import SnippetDescription from '~/snippets/components/snippet_description_view.vue';
+import { shallowMount } from '@vue/test-utils';
+
+describe('Snippet Description component', () => {
+ let wrapper;
+ const description = '<h2>The property of Thor</h2>';
+
+ function createComponent() {
+ wrapper = shallowMount(SnippetDescription, {
+ propsData: {
+ description,
+ },
+ });
+ }
+
+ beforeEach(() => {
+ createComponent();
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('matches the snapshot', () => {
+ expect(wrapper.element).toMatchSnapshot();
+ });
+});
diff --git a/spec/frontend/snippets/components/snippet_title_spec.js b/spec/frontend/snippets/components/snippet_title_spec.js
index b49b2008610..88261a75f6c 100644
--- a/spec/frontend/snippets/components/snippet_title_spec.js
+++ b/spec/frontend/snippets/components/snippet_title_spec.js
@@ -1,4 +1,5 @@
import SnippetTitle from '~/snippets/components/snippet_title.vue';
+import SnippetDescription from '~/snippets/components/snippet_description_view.vue';
import { GlSprintf } from '@gitlab/ui';
import { shallowMount } from '@vue/test-utils';
@@ -16,7 +17,7 @@ describe('Snippet header component', () => {
};
function createComponent({ props = snippet } = {}) {
- const defaultProps = Object.assign({}, props);
+ const defaultProps = { ...props };
wrapper = shallowMount(SnippetTitle, {
propsData: {
@@ -36,8 +37,9 @@ describe('Snippet header component', () => {
it('renders snippets title and description', () => {
createComponent();
+
expect(wrapper.text().trim()).toContain(title);
- expect(wrapper.find('.js-snippet-description').element.innerHTML).toBe(descriptionHtml);
+ expect(wrapper.find(SnippetDescription).props('description')).toBe(descriptionHtml);
});
it('does not render recent changes time stamp if there were no updates', () => {
diff --git a/spec/frontend/static_site_editor/graphql/resolvers/file_spec.js b/spec/frontend/static_site_editor/graphql/resolvers/file_spec.js
new file mode 100644
index 00000000000..8504d09e0f1
--- /dev/null
+++ b/spec/frontend/static_site_editor/graphql/resolvers/file_spec.js
@@ -0,0 +1,25 @@
+import fileResolver from '~/static_site_editor/graphql/resolvers/file';
+import loadSourceContent from '~/static_site_editor/services/load_source_content';
+
+import {
+ projectId,
+ sourcePath,
+ sourceContentTitle as title,
+ sourceContent as content,
+} from '../../mock_data';
+
+jest.mock('~/static_site_editor/services/load_source_content', () => jest.fn());
+
+describe('static_site_editor/graphql/resolvers/file', () => {
+ it('returns file content and title when fetching file successfully', () => {
+ loadSourceContent.mockResolvedValueOnce({ title, content });
+
+ return fileResolver({ fullPath: projectId }, { path: sourcePath }).then(file => {
+ expect(file).toEqual({
+ __typename: 'File',
+ title,
+ content,
+ });
+ });
+ });
+});
diff --git a/spec/frontend/static_site_editor/pages/home_spec.js b/spec/frontend/static_site_editor/pages/home_spec.js
index ca03abfe6bb..69646abade5 100644
--- a/spec/frontend/static_site_editor/pages/home_spec.js
+++ b/spec/frontend/static_site_editor/pages/home_spec.js
@@ -40,7 +40,6 @@ describe('static_site_editor/pages/home', () => {
store = new Vuex.Store({
state: createState({
- isSupportedContent: true,
...initialState,
}),
getters: {
@@ -67,13 +66,16 @@ describe('static_site_editor/pages/home', () => {
});
};
- const buildWrapper = () => {
+ const buildWrapper = (data = { appData: { isSupportedContent: true } }) => {
wrapper = shallowMount(Home, {
localVue,
store,
provide: {
glFeatures: { richContentEditor: true },
},
+ data() {
+ return data;
+ },
});
};
@@ -194,8 +196,7 @@ describe('static_site_editor/pages/home', () => {
});
it('displays invalid content message when content is not supported', () => {
- buildStore({ initialState: { isSupportedContent: false } });
- buildWrapper();
+ buildWrapper({ appData: { isSupportedContent: false } });
expect(findInvalidContentMessage().exists()).toBe(true);
});
diff --git a/spec/frontend/tracking_spec.js b/spec/frontend/tracking_spec.js
index 1f77b8c26b9..08a26d46618 100644
--- a/spec/frontend/tracking_spec.js
+++ b/spec/frontend/tracking_spec.js
@@ -46,10 +46,11 @@ describe('Tracking', () => {
expect(snowplowSpy).not.toHaveBeenCalledWith('enableFormTracking');
expect(snowplowSpy).not.toHaveBeenCalledWith('enableLinkClickTracking');
- window.snowplowOptions = Object.assign({}, window.snowplowOptions, {
+ window.snowplowOptions = {
+ ...window.snowplowOptions,
formTracking: true,
linkClickTracking: true,
- });
+ };
initUserTracking();
expect(snowplowSpy).toHaveBeenCalledWith('enableFormTracking');
diff --git a/spec/frontend/vue_mr_widget/components/mr_collapsible_extension_spec.js b/spec/frontend/vue_mr_widget/components/mr_collapsible_extension_spec.js
index a7ecb863cfb..8a604355625 100644
--- a/spec/frontend/vue_mr_widget/components/mr_collapsible_extension_spec.js
+++ b/spec/frontend/vue_mr_widget/components/mr_collapsible_extension_spec.js
@@ -61,7 +61,7 @@ describe('Merge Request Collapsible Extension', () => {
describe('while loading', () => {
beforeEach(() => {
- mountComponent(Object.assign({}, data, { isLoading: true }));
+ mountComponent({ ...data, isLoading: true });
});
it('renders the buttons disabled', () => {
@@ -86,7 +86,7 @@ describe('Merge Request Collapsible Extension', () => {
describe('with error', () => {
beforeEach(() => {
- mountComponent(Object.assign({}, data, { hasError: true }));
+ mountComponent({ ...data, hasError: true });
});
it('does not render the buttons', () => {
diff --git a/spec/frontend/vue_mr_widget/components/mr_widget_pipeline_container_spec.js b/spec/frontend/vue_mr_widget/components/mr_widget_pipeline_container_spec.js
index cda5ca68d9b..5f3a8654990 100644
--- a/spec/frontend/vue_mr_widget/components/mr_widget_pipeline_container_spec.js
+++ b/spec/frontend/vue_mr_widget/components/mr_widget_pipeline_container_spec.js
@@ -13,7 +13,7 @@ describe('MrWidgetPipelineContainer', () => {
const factory = (props = {}) => {
wrapper = mount(MrWidgetPipelineContainer, {
propsData: {
- mr: Object.assign({}, mockStore),
+ mr: { ...mockStore },
...props,
},
});
diff --git a/spec/frontend/vue_shared/components/__snapshots__/clone_dropdown_spec.js.snap b/spec/frontend/vue_shared/components/__snapshots__/clone_dropdown_spec.js.snap
index 7dd324a61cd..e90a74ebd53 100644
--- a/spec/frontend/vue_shared/components/__snapshots__/clone_dropdown_spec.js.snap
+++ b/spec/frontend/vue_shared/components/__snapshots__/clone_dropdown_spec.js.snap
@@ -24,12 +24,7 @@ exports[`Clone Dropdown Button rendering matches the snapshot 1`] = `
<b-input-group-stub
tag="div"
>
- <b-input-group-prepend-stub
- tag="div"
- >
-
- <!---->
- </b-input-group-prepend-stub>
+ <!---->
<b-form-input-stub
class="gl-form-input"
@@ -69,12 +64,7 @@ exports[`Clone Dropdown Button rendering matches the snapshot 1`] = `
<b-input-group-stub
tag="div"
>
- <b-input-group-prepend-stub
- tag="div"
- >
-
- <!---->
- </b-input-group-prepend-stub>
+ <!---->
<b-form-input-stub
class="gl-form-input"
diff --git a/spec/frontend/vue_shared/components/blob_viewers/__snapshots__/simple_viewer_spec.js.snap b/spec/frontend/vue_shared/components/blob_viewers/__snapshots__/simple_viewer_spec.js.snap
index 87f2a8f9eff..4909d2d4226 100644
--- a/spec/frontend/vue_shared/components/blob_viewers/__snapshots__/simple_viewer_spec.js.snap
+++ b/spec/frontend/vue_shared/components/blob_viewers/__snapshots__/simple_viewer_spec.js.snap
@@ -2,7 +2,8 @@
exports[`Blob Simple Viewer component rendering matches the snapshot 1`] = `
<div
- class="file-content code js-syntax-highlight qa-file-content"
+ class="file-content code js-syntax-highlight"
+ data-qa-selector="file_content"
>
<div
class="line-numbers"
diff --git a/spec/frontend/vue_shared/components/blob_viewers/rich_viewer_spec.js b/spec/frontend/vue_shared/components/blob_viewers/rich_viewer_spec.js
index ce3f289eb6e..5cf42ecdc1d 100644
--- a/spec/frontend/vue_shared/components/blob_viewers/rich_viewer_spec.js
+++ b/spec/frontend/vue_shared/components/blob_viewers/rich_viewer_spec.js
@@ -1,5 +1,6 @@
import { shallowMount } from '@vue/test-utils';
import RichViewer from '~/vue_shared/components/blob_viewers/rich_viewer.vue';
+import MarkdownFieldView from '~/vue_shared/components/markdown/field_view.vue';
import { handleBlobRichViewer } from '~/blob/viewer';
jest.mock('~/blob/viewer');
@@ -33,4 +34,8 @@ describe('Blob Rich Viewer component', () => {
it('queries for advanced viewer', () => {
expect(handleBlobRichViewer).toHaveBeenCalledWith(expect.anything(), defaultType);
});
+
+ it('is using Markdown View Field', () => {
+ expect(wrapper.contains(MarkdownFieldView)).toBe(true);
+ });
});
diff --git a/spec/frontend/vue_shared/components/file_row_spec.js b/spec/frontend/vue_shared/components/file_row_spec.js
index 732491378fa..46df2d2aaf1 100644
--- a/spec/frontend/vue_shared/components/file_row_spec.js
+++ b/spec/frontend/vue_shared/components/file_row_spec.js
@@ -91,9 +91,7 @@ describe('File row component', () => {
jest.spyOn(wrapper.vm, 'scrollIntoView');
wrapper.setProps({
- file: Object.assign({}, wrapper.props('file'), {
- active: true,
- }),
+ file: { ...wrapper.props('file'), active: true },
});
return nextTick().then(() => {
@@ -125,9 +123,7 @@ describe('File row component', () => {
it('matches the current route against encoded file URL', () => {
const fileName = 'with space';
- const rowFile = Object.assign({}, file(fileName), {
- url: `/${fileName}`,
- });
+ const rowFile = { ...file(fileName), url: `/${fileName}` };
const routerPath = `/project/${escapeFileUrl(fileName)}`;
createComponent(
{
diff --git a/spec/frontend/vue_shared/components/issue/issue_milestone_spec.js b/spec/frontend/vue_shared/components/issue/issue_milestone_spec.js
index 4c654e01f74..90c3fe54901 100644
--- a/spec/frontend/vue_shared/components/issue/issue_milestone_spec.js
+++ b/spec/frontend/vue_shared/components/issue/issue_milestone_spec.js
@@ -36,9 +36,7 @@ describe('IssueMilestoneComponent', () => {
describe('isMilestoneStarted', () => {
it('should return `false` when milestoneStart prop is not defined', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
- start_date: '',
- }),
+ milestone: { ...mockMilestone, start_date: '' },
});
expect(wrapper.vm.isMilestoneStarted).toBe(false);
@@ -46,9 +44,7 @@ describe('IssueMilestoneComponent', () => {
it('should return `true` when milestone start date is past current date', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
- start_date: '1990-07-22',
- }),
+ milestone: { ...mockMilestone, start_date: '1990-07-22' },
});
expect(wrapper.vm.isMilestoneStarted).toBe(true);
@@ -58,9 +54,7 @@ describe('IssueMilestoneComponent', () => {
describe('isMilestonePastDue', () => {
it('should return `false` when milestoneDue prop is not defined', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
- due_date: '',
- }),
+ milestone: { ...mockMilestone, due_date: '' },
});
expect(wrapper.vm.isMilestonePastDue).toBe(false);
@@ -68,9 +62,7 @@ describe('IssueMilestoneComponent', () => {
it('should return `true` when milestone due is past current date', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
- due_date: '1990-07-22',
- }),
+ milestone: { ...mockMilestone, due_date: '1990-07-22' },
});
expect(wrapper.vm.isMilestonePastDue).toBe(true);
@@ -84,9 +76,7 @@ describe('IssueMilestoneComponent', () => {
it('returns string containing absolute milestone start date when due date is not present', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
- due_date: '',
- }),
+ milestone: { ...mockMilestone, due_date: '' },
});
expect(wrapper.vm.milestoneDatesAbsolute).toBe('(January 1, 2018)');
@@ -94,10 +84,7 @@ describe('IssueMilestoneComponent', () => {
it('returns empty string when both milestone start and due dates are not present', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
- start_date: '',
- due_date: '',
- }),
+ milestone: { ...mockMilestone, start_date: '', due_date: '' },
});
expect(wrapper.vm.milestoneDatesAbsolute).toBe('');
@@ -107,9 +94,7 @@ describe('IssueMilestoneComponent', () => {
describe('milestoneDatesHuman', () => {
it('returns string containing milestone due date when date is yet to be due', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
- due_date: `${new Date().getFullYear() + 10}-01-01`,
- }),
+ milestone: { ...mockMilestone, due_date: `${new Date().getFullYear() + 10}-01-01` },
});
expect(wrapper.vm.milestoneDatesHuman).toContain('years remaining');
@@ -117,10 +102,7 @@ describe('IssueMilestoneComponent', () => {
it('returns string containing milestone start date when date has already started and due date is not present', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
- start_date: '1990-07-22',
- due_date: '',
- }),
+ milestone: { ...mockMilestone, start_date: '1990-07-22', due_date: '' },
});
expect(wrapper.vm.milestoneDatesHuman).toContain('Started');
@@ -128,10 +110,11 @@ describe('IssueMilestoneComponent', () => {
it('returns string containing milestone start date when date is yet to start and due date is not present', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
+ milestone: {
+ ...mockMilestone,
start_date: `${new Date().getFullYear() + 10}-01-01`,
due_date: '',
- }),
+ },
});
expect(wrapper.vm.milestoneDatesHuman).toContain('Starts');
@@ -139,10 +122,7 @@ describe('IssueMilestoneComponent', () => {
it('returns empty string when milestone start and due dates are not present', () => {
wrapper.setProps({
- milestone: Object.assign({}, mockMilestone, {
- start_date: '',
- due_date: '',
- }),
+ milestone: { ...mockMilestone, start_date: '', due_date: '' },
});
expect(wrapper.vm.milestoneDatesHuman).toBe('');
diff --git a/spec/frontend/vue_shared/components/markdown/field_view_spec.js b/spec/frontend/vue_shared/components/markdown/field_view_spec.js
new file mode 100644
index 00000000000..80cf1f655c6
--- /dev/null
+++ b/spec/frontend/vue_shared/components/markdown/field_view_spec.js
@@ -0,0 +1,26 @@
+import $ from 'jquery';
+import { shallowMount } from '@vue/test-utils';
+
+import MarkdownFieldView from '~/vue_shared/components/markdown/field_view.vue';
+
+describe('Markdown Field View component', () => {
+ let renderGFMSpy;
+ let wrapper;
+
+ function createComponent() {
+ wrapper = shallowMount(MarkdownFieldView);
+ }
+
+ beforeEach(() => {
+ renderGFMSpy = jest.spyOn($.fn, 'renderGFM');
+ createComponent();
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('processes rendering with GFM', () => {
+ expect(renderGFMSpy).toHaveBeenCalledTimes(1);
+ });
+});
diff --git a/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_button_spec.js b/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_button_spec.js
index e2e11c94c0d..a4121448492 100644
--- a/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_button_spec.js
+++ b/spec/frontend/vue_shared/components/sidebar/labels_select/dropdown_button_spec.js
@@ -8,11 +8,12 @@ import {
mockLabels,
} from '../../../../../javascripts/vue_shared/components/sidebar/labels_select/mock_data';
-const componentConfig = Object.assign({}, mockConfig, {
+const componentConfig = {
+ ...mockConfig,
fieldName: 'label_id[]',
labels: mockLabels,
showExtraOptions: false,
-});
+};
const createComponent = (config = componentConfig) => {
const Component = Vue.extend(dropdownButtonComponent);
@@ -34,7 +35,7 @@ describe('DropdownButtonComponent', () => {
describe('computed', () => {
describe('dropdownToggleText', () => {
it('returns text as `Label` when `labels` prop is empty array', () => {
- const mockEmptyLabels = Object.assign({}, componentConfig, { labels: [] });
+ const mockEmptyLabels = { ...componentConfig, labels: [] };
const vmEmptyLabels = createComponent(mockEmptyLabels);
expect(vmEmptyLabels.dropdownToggleText).toBe('Label');
@@ -42,9 +43,7 @@ describe('DropdownButtonComponent', () => {
});
it('returns first label name with remaining label count when `labels` prop has more than one item', () => {
- const mockMoreLabels = Object.assign({}, componentConfig, {
- labels: mockLabels.concat(mockLabels),
- });
+ const mockMoreLabels = { ...componentConfig, labels: mockLabels.concat(mockLabels) };
const vmMoreLabels = createComponent(mockMoreLabels);
expect(vmMoreLabels.dropdownToggleText).toBe(
@@ -54,9 +53,7 @@ describe('DropdownButtonComponent', () => {
});
it('returns first label name when `labels` prop has only one item present', () => {
- const singleLabel = Object.assign({}, componentConfig, {
- labels: [mockLabels[0]],
- });
+ const singleLabel = { ...componentConfig, labels: [mockLabels[0]] };
const vmSingleLabel = createComponent(singleLabel);
expect(vmSingleLabel.dropdownToggleText).toBe(mockLabels[0].title);
diff --git a/spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js b/spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js
index 6e2363ba96f..072d8fe2fe2 100644
--- a/spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js
+++ b/spec/frontend/vue_shared/components/sidebar/labels_select_vue/store/actions_spec.js
@@ -15,7 +15,7 @@ describe('LabelsSelect Actions', () => {
};
beforeEach(() => {
- state = Object.assign({}, defaultState());
+ state = { ...defaultState() };
});
describe('setInitialState', () => {
diff --git a/spec/graphql/mutations/alert_management/update_alert_status_spec.rb b/spec/graphql/mutations/alert_management/update_alert_status_spec.rb
index 3cd5e217571..19fe9fc3900 100644
--- a/spec/graphql/mutations/alert_management/update_alert_status_spec.rb
+++ b/spec/graphql/mutations/alert_management/update_alert_status_spec.rb
@@ -9,7 +9,7 @@ describe Mutations::AlertManagement::UpdateAlertStatus do
let(:new_status) { 'acknowledged' }
let(:args) { { status: new_status, project_path: project.full_path, iid: alert.iid } }
- specify { expect(described_class).to require_graphql_authorizations(:update_alert_management_alerts) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_alert_management_alert) }
describe '#resolve' do
subject(:resolve) { mutation_for(project, current_user).resolve(args) }
@@ -20,7 +20,7 @@ describe Mutations::AlertManagement::UpdateAlertStatus do
end
it 'changes the status' do
- expect { resolve }.to change { alert.reload.status }.from(alert.status).to(new_status)
+ expect { resolve }.to change { alert.reload.acknowledged? }.to(true)
end
it 'returns the alert with no errors' do
diff --git a/spec/graphql/mutations/issues/set_confidential_spec.rb b/spec/graphql/mutations/issues/set_confidential_spec.rb
index 6031953c869..c90ce2658d6 100644
--- a/spec/graphql/mutations/issues/set_confidential_spec.rb
+++ b/spec/graphql/mutations/issues/set_confidential_spec.rb
@@ -8,6 +8,8 @@ describe Mutations::Issues::SetConfidential do
subject(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_issue) }
+
describe '#resolve' do
let(:confidential) { true }
let(:mutated_issue) { subject[:issue] }
diff --git a/spec/graphql/mutations/issues/set_due_date_spec.rb b/spec/graphql/mutations/issues/set_due_date_spec.rb
index 73ba11fc551..84df6fce7c7 100644
--- a/spec/graphql/mutations/issues/set_due_date_spec.rb
+++ b/spec/graphql/mutations/issues/set_due_date_spec.rb
@@ -8,6 +8,8 @@ describe Mutations::Issues::SetDueDate do
subject(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_issue) }
+
describe '#resolve' do
let(:due_date) { 2.days.since }
let(:mutated_issue) { subject[:issue] }
diff --git a/spec/graphql/mutations/merge_requests/set_labels_spec.rb b/spec/graphql/mutations/merge_requests/set_labels_spec.rb
index f58f35eb6f3..0fd2c20a5c8 100644
--- a/spec/graphql/mutations/merge_requests/set_labels_spec.rb
+++ b/spec/graphql/mutations/merge_requests/set_labels_spec.rb
@@ -8,6 +8,8 @@ describe Mutations::MergeRequests::SetLabels do
subject(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_merge_request) }
+
describe '#resolve' do
let(:label) { create(:label, project: merge_request.project) }
let(:label2) { create(:label, project: merge_request.project) }
diff --git a/spec/graphql/mutations/merge_requests/set_locked_spec.rb b/spec/graphql/mutations/merge_requests/set_locked_spec.rb
index 12ae1314f22..d5219c781fd 100644
--- a/spec/graphql/mutations/merge_requests/set_locked_spec.rb
+++ b/spec/graphql/mutations/merge_requests/set_locked_spec.rb
@@ -8,6 +8,8 @@ describe Mutations::MergeRequests::SetLocked do
subject(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_merge_request) }
+
describe '#resolve' do
let(:locked) { true }
let(:mutated_merge_request) { subject[:merge_request] }
diff --git a/spec/graphql/mutations/merge_requests/set_milestone_spec.rb b/spec/graphql/mutations/merge_requests/set_milestone_spec.rb
index ad7f2df0842..d77ec4de4d0 100644
--- a/spec/graphql/mutations/merge_requests/set_milestone_spec.rb
+++ b/spec/graphql/mutations/merge_requests/set_milestone_spec.rb
@@ -8,6 +8,8 @@ describe Mutations::MergeRequests::SetMilestone do
subject(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_merge_request) }
+
describe '#resolve' do
let(:milestone) { create(:milestone, project: merge_request.project) }
let(:mutated_merge_request) { subject[:merge_request] }
diff --git a/spec/graphql/mutations/merge_requests/set_subscription_spec.rb b/spec/graphql/mutations/merge_requests/set_subscription_spec.rb
index a28bab363f3..cf569a74aa9 100644
--- a/spec/graphql/mutations/merge_requests/set_subscription_spec.rb
+++ b/spec/graphql/mutations/merge_requests/set_subscription_spec.rb
@@ -9,6 +9,8 @@ describe Mutations::MergeRequests::SetSubscription do
subject(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_merge_request) }
+
describe '#resolve' do
let(:subscribe) { true }
let(:mutated_merge_request) { subject[:merge_request] }
diff --git a/spec/graphql/mutations/merge_requests/set_wip_spec.rb b/spec/graphql/mutations/merge_requests/set_wip_spec.rb
index 9f0adcf117a..7255d0fe7d7 100644
--- a/spec/graphql/mutations/merge_requests/set_wip_spec.rb
+++ b/spec/graphql/mutations/merge_requests/set_wip_spec.rb
@@ -8,6 +8,8 @@ describe Mutations::MergeRequests::SetWip do
subject(:mutation) { described_class.new(object: nil, context: { current_user: user }, field: nil) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_merge_request) }
+
describe '#resolve' do
let(:wip) { true }
let(:mutated_merge_request) { subject[:merge_request] }
diff --git a/spec/graphql/mutations/todos/mark_all_done_spec.rb b/spec/graphql/mutations/todos/mark_all_done_spec.rb
index 98b22a3e761..4af00307969 100644
--- a/spec/graphql/mutations/todos/mark_all_done_spec.rb
+++ b/spec/graphql/mutations/todos/mark_all_done_spec.rb
@@ -17,6 +17,8 @@ describe Mutations::Todos::MarkAllDone do
let_it_be(:user3) { create(:user) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_user) }
+
describe '#resolve' do
it 'marks all pending todos as done' do
updated_todo_ids = mutation_for(current_user).resolve.dig(:updated_ids)
diff --git a/spec/graphql/mutations/todos/mark_done_spec.rb b/spec/graphql/mutations/todos/mark_done_spec.rb
index 059ef3c8eee..44065f83f74 100644
--- a/spec/graphql/mutations/todos/mark_done_spec.rb
+++ b/spec/graphql/mutations/todos/mark_done_spec.rb
@@ -16,6 +16,8 @@ describe Mutations::Todos::MarkDone do
let(:mutation) { described_class.new(object: nil, context: { current_user: current_user }, field: nil) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_todo) }
+
describe '#resolve' do
it 'marks a single todo as done' do
result = mark_done_mutation(todo1)
diff --git a/spec/graphql/mutations/todos/restore_spec.rb b/spec/graphql/mutations/todos/restore_spec.rb
index 1637acc2fb5..949ab6a164b 100644
--- a/spec/graphql/mutations/todos/restore_spec.rb
+++ b/spec/graphql/mutations/todos/restore_spec.rb
@@ -14,6 +14,8 @@ describe Mutations::Todos::Restore do
let(:mutation) { described_class.new(object: nil, context: { current_user: current_user }, field: nil) }
+ specify { expect(described_class).to require_graphql_authorizations(:update_todo) }
+
describe '#resolve' do
it 'restores a single todo' do
result = restore_mutation(todo1)
diff --git a/spec/graphql/resolvers/alert_management_alert_resolver_spec.rb b/spec/graphql/resolvers/alert_management_alert_resolver_spec.rb
index 4914c62e322..c85d2cbccc6 100644
--- a/spec/graphql/resolvers/alert_management_alert_resolver_spec.rb
+++ b/spec/graphql/resolvers/alert_management_alert_resolver_spec.rb
@@ -7,8 +7,8 @@ describe Resolvers::AlertManagementAlertResolver do
let_it_be(:current_user) { create(:user) }
let_it_be(:project) { create(:project) }
- let_it_be(:alert_1) { create(:alert_management_alert, project: project) }
- let_it_be(:alert_2) { create(:alert_management_alert, project: project) }
+ let_it_be(:alert_1) { create(:alert_management_alert, :resolved, project: project, ended_at: 1.year.ago, events: 2, severity: :high) }
+ let_it_be(:alert_2) { create(:alert_management_alert, :ignored, project: project, events: 1, severity: :critical) }
let_it_be(:alert_other_proj) { create(:alert_management_alert) }
let(:args) { {} }
@@ -31,6 +31,22 @@ describe Resolvers::AlertManagementAlertResolver do
it { is_expected.to contain_exactly(alert_1) }
end
+
+ describe 'sorting' do
+ # Other sorting examples in spec/finders/alert_management/alerts_finder_spec.rb
+ context 'when sorting by events count' do
+ let_it_be(:alert_count_6) { create(:alert_management_alert, project: project, events: 6) }
+ let_it_be(:alert_count_3) { create(:alert_management_alert, project: project, events: 3) }
+
+ it 'sorts alerts ascending' do
+ expect(resolve_alerts(sort: :events_count_asc)).to eq [alert_2, alert_1, alert_count_3, alert_count_6]
+ end
+
+ it 'sorts alerts descending' do
+ expect(resolve_alerts(sort: :events_count_desc)).to eq [alert_count_6, alert_count_3, alert_1, alert_2]
+ end
+ end
+ end
end
private
diff --git a/spec/graphql/resolvers/projects_resolver_spec.rb b/spec/graphql/resolvers/projects_resolver_spec.rb
new file mode 100644
index 00000000000..73ff99a2520
--- /dev/null
+++ b/spec/graphql/resolvers/projects_resolver_spec.rb
@@ -0,0 +1,77 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe Resolvers::ProjectsResolver do
+ include GraphqlHelpers
+
+ describe '#resolve' do
+ subject { resolve(described_class, obj: nil, args: filters, ctx: { current_user: current_user }) }
+
+ let_it_be(:project) { create(:project, :public) }
+ let_it_be(:other_project) { create(:project, :public) }
+ let_it_be(:private_project) { create(:project, :private) }
+ let_it_be(:other_private_project) { create(:project, :private) }
+
+ let_it_be(:user) { create(:user) }
+
+ let(:filters) { {} }
+
+ before_all do
+ project.add_developer(user)
+ private_project.add_developer(user)
+ end
+
+ context 'when user is not logged in' do
+ let(:current_user) { nil }
+
+ context 'when no filters are applied' do
+ it 'returns all public projects' do
+ is_expected.to contain_exactly(project, other_project)
+ end
+
+ context 'when search filter is provided' do
+ let(:filters) { { search: project.name } }
+
+ it 'returns matching project' do
+ is_expected.to contain_exactly(project)
+ end
+ end
+
+ context 'when membership filter is provided' do
+ let(:filters) { { membership: true } }
+
+ it 'returns empty list' do
+ is_expected.to be_empty
+ end
+ end
+ end
+ end
+
+ context 'when user is logged in' do
+ let(:current_user) { user }
+
+ context 'when no filters are applied' do
+ it 'returns all visible projects for the user' do
+ is_expected.to contain_exactly(project, other_project, private_project)
+ end
+
+ context 'when search filter is provided' do
+ let(:filters) { { search: project.name } }
+
+ it 'returns matching project' do
+ is_expected.to contain_exactly(project)
+ end
+ end
+
+ context 'when membership filter is provided' do
+ let(:filters) { { membership: true } }
+
+ it 'returns projects that user is member of' do
+ is_expected.to contain_exactly(project, private_project)
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/spec/graphql/resolvers/release_resolver_spec.rb b/spec/graphql/resolvers/release_resolver_spec.rb
new file mode 100644
index 00000000000..71aa4bbb439
--- /dev/null
+++ b/spec/graphql/resolvers/release_resolver_spec.rb
@@ -0,0 +1,51 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe Resolvers::ReleaseResolver do
+ include GraphqlHelpers
+
+ let_it_be(:project) { create(:project, :private) }
+ let_it_be(:release) { create(:release, project: project) }
+ let_it_be(:developer) { create(:user) }
+ let_it_be(:public_user) { create(:user) }
+
+ let(:args) { { tag_name: release.tag } }
+
+ before do
+ project.add_developer(developer)
+ end
+
+ describe '#resolve' do
+ context 'when the user does not have access to the project' do
+ let(:current_user) { public_user }
+
+ it 'returns nil' do
+ expect(resolve_release).to be_nil
+ end
+ end
+
+ context "when the user has full access to the project's releases" do
+ let(:current_user) { developer }
+
+ it 'returns the release associated with the specified tag' do
+ expect(resolve_release).to eq(release)
+ end
+
+ context 'when no tag_name argument was passed' do
+ let(:args) { {} }
+
+ it 'raises an error' do
+ expect { resolve_release }.to raise_error(ArgumentError, "missing keyword: tag_name")
+ end
+ end
+ end
+ end
+
+ private
+
+ def resolve_release
+ context = { current_user: current_user }
+ resolve(described_class, obj: project, args: args, ctx: context)
+ end
+end
diff --git a/spec/graphql/resolvers/releases_resolver_spec.rb b/spec/graphql/resolvers/releases_resolver_spec.rb
new file mode 100644
index 00000000000..9de539b417a
--- /dev/null
+++ b/spec/graphql/resolvers/releases_resolver_spec.rb
@@ -0,0 +1,42 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe Resolvers::ReleasesResolver do
+ include GraphqlHelpers
+
+ let_it_be(:project) { create(:project, :private) }
+ let_it_be(:release_v1) { create(:release, project: project, tag: 'v1.0.0') }
+ let_it_be(:release_v2) { create(:release, project: project, tag: 'v2.0.0') }
+ let_it_be(:developer) { create(:user) }
+ let_it_be(:public_user) { create(:user) }
+
+ before do
+ project.add_developer(developer)
+ end
+
+ describe '#resolve' do
+ context 'when the user does not have access to the project' do
+ let(:current_user) { public_user }
+
+ it 'returns an empty array' do
+ expect(resolve_releases).to eq([])
+ end
+ end
+
+ context "when the user has full access to the project's releases" do
+ let(:current_user) { developer }
+
+ it 'returns all releases associated to the project' do
+ expect(resolve_releases).to eq([release_v1, release_v2])
+ end
+ end
+ end
+
+ private
+
+ def resolve_releases
+ context = { current_user: current_user }
+ resolve(described_class, obj: project, args: {}, ctx: context)
+ end
+end
diff --git a/spec/graphql/types/alert_management/alert_type_spec.rb b/spec/graphql/types/alert_management/alert_type_spec.rb
index 169611b2e18..65291f31422 100644
--- a/spec/graphql/types/alert_management/alert_type_spec.rb
+++ b/spec/graphql/types/alert_management/alert_type_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
describe GitlabSchema.types['AlertManagementAlert'] do
- it { expect(described_class.graphql_name).to eq('AlertManagementAlert') }
+ specify { expect(described_class.graphql_name).to eq('AlertManagementAlert') }
- it { expect(described_class).to require_graphql_authorizations(:read_alert_management_alerts) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_alert_management_alert) }
it 'exposes the expected fields' do
expected_fields = %i[
diff --git a/spec/graphql/types/alert_management/severity_enum_spec.rb b/spec/graphql/types/alert_management/severity_enum_spec.rb
index 8b92e9bf418..ca5aa826fe5 100644
--- a/spec/graphql/types/alert_management/severity_enum_spec.rb
+++ b/spec/graphql/types/alert_management/severity_enum_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['AlertManagementSeverity'] do
- it { expect(described_class.graphql_name).to eq('AlertManagementSeverity') }
+ specify { expect(described_class.graphql_name).to eq('AlertManagementSeverity') }
it 'exposes all the severity values' do
expect(described_class.values.keys).to include(*%w[CRITICAL HIGH MEDIUM LOW INFO UNKNOWN])
diff --git a/spec/graphql/types/alert_management/status_enum_spec.rb b/spec/graphql/types/alert_management/status_enum_spec.rb
index 4ffb29025fa..240d8863c97 100644
--- a/spec/graphql/types/alert_management/status_enum_spec.rb
+++ b/spec/graphql/types/alert_management/status_enum_spec.rb
@@ -3,9 +3,22 @@
require 'spec_helper'
describe GitlabSchema.types['AlertManagementStatus'] do
- it { expect(described_class.graphql_name).to eq('AlertManagementStatus') }
+ specify { expect(described_class.graphql_name).to eq('AlertManagementStatus') }
- it 'exposes all the severity values' do
- expect(described_class.values.keys).to include(*%w[TRIGGERED ACKNOWLEDGED RESOLVED IGNORED])
+ describe 'statuses' do
+ using RSpec::Parameterized::TableSyntax
+
+ where(:status_name, :status_value) do
+ 'TRIGGERED' | 0
+ 'ACKNOWLEDGED' | 1
+ 'RESOLVED' | 2
+ 'IGNORED' | 3
+ end
+
+ with_them do
+ it 'exposes a status with the correct value' do
+ expect(described_class.values[status_name].value).to eq(status_value)
+ end
+ end
end
end
diff --git a/spec/graphql/types/award_emojis/award_emoji_type_spec.rb b/spec/graphql/types/award_emojis/award_emoji_type_spec.rb
index de5ece3b749..4e06329506d 100644
--- a/spec/graphql/types/award_emojis/award_emoji_type_spec.rb
+++ b/spec/graphql/types/award_emojis/award_emoji_type_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
describe GitlabSchema.types['AwardEmoji'] do
- it { expect(described_class.graphql_name).to eq('AwardEmoji') }
+ specify { expect(described_class.graphql_name).to eq('AwardEmoji') }
- it { expect(described_class).to require_graphql_authorizations(:read_emoji) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_emoji) }
- it { expect(described_class).to have_graphql_fields(:description, :unicode_version, :emoji, :name, :unicode, :user) }
+ specify { expect(described_class).to have_graphql_fields(:description, :unicode_version, :emoji, :name, :unicode, :user) }
end
diff --git a/spec/graphql/types/blob_viewers/type_enum_spec.rb b/spec/graphql/types/blob_viewers/type_enum_spec.rb
index 7bd4352f388..09664382af9 100644
--- a/spec/graphql/types/blob_viewers/type_enum_spec.rb
+++ b/spec/graphql/types/blob_viewers/type_enum_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::BlobViewers::TypeEnum do
- it { expect(described_class.graphql_name).to eq('BlobViewersType') }
+ specify { expect(described_class.graphql_name).to eq('BlobViewersType') }
it 'exposes all tree entry types' do
expect(described_class.values.keys).to include(*%w[rich simple auxiliary])
diff --git a/spec/graphql/types/board_list_type_spec.rb b/spec/graphql/types/board_list_type_spec.rb
index b5c842ae884..69597fc9617 100644
--- a/spec/graphql/types/board_list_type_spec.rb
+++ b/spec/graphql/types/board_list_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['BoardList'] do
- it { expect(described_class.graphql_name).to eq('BoardList') }
+ specify { expect(described_class.graphql_name).to eq('BoardList') }
it 'has specific fields' do
expected_fields = %w[id list_type position label]
diff --git a/spec/graphql/types/board_type_spec.rb b/spec/graphql/types/board_type_spec.rb
index 1ca4bf18b57..5d87a1757b5 100644
--- a/spec/graphql/types/board_type_spec.rb
+++ b/spec/graphql/types/board_type_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
describe GitlabSchema.types['Board'] do
- it { expect(described_class.graphql_name).to eq('Board') }
+ specify { expect(described_class.graphql_name).to eq('Board') }
- it { expect(described_class).to require_graphql_authorizations(:read_board) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_board) }
it 'has specific fields' do
expected_fields = %w[id name]
diff --git a/spec/graphql/types/ci/detailed_status_type_spec.rb b/spec/graphql/types/ci/detailed_status_type_spec.rb
index 169a03c770b..c62c8f23728 100644
--- a/spec/graphql/types/ci/detailed_status_type_spec.rb
+++ b/spec/graphql/types/ci/detailed_status_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::Ci::DetailedStatusType do
- it { expect(described_class.graphql_name).to eq('DetailedStatus') }
+ specify { expect(described_class.graphql_name).to eq('DetailedStatus') }
it "has all fields" do
expect(described_class).to have_graphql_fields(:group, :icon, :favicon,
diff --git a/spec/graphql/types/ci/pipeline_type_spec.rb b/spec/graphql/types/ci/pipeline_type_spec.rb
index 2fafc1bc13f..d56cff12105 100644
--- a/spec/graphql/types/ci/pipeline_type_spec.rb
+++ b/spec/graphql/types/ci/pipeline_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::Ci::PipelineType do
- it { expect(described_class.graphql_name).to eq('Pipeline') }
+ specify { expect(described_class.graphql_name).to eq('Pipeline') }
- it { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Ci::Pipeline) }
+ specify { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Ci::Pipeline) }
end
diff --git a/spec/graphql/types/commit_type_spec.rb b/spec/graphql/types/commit_type_spec.rb
index f5f99229f3a..adc86321bb1 100644
--- a/spec/graphql/types/commit_type_spec.rb
+++ b/spec/graphql/types/commit_type_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
describe GitlabSchema.types['Commit'] do
- it { expect(described_class.graphql_name).to eq('Commit') }
+ specify { expect(described_class.graphql_name).to eq('Commit') }
- it { expect(described_class).to require_graphql_authorizations(:download_code) }
+ specify { expect(described_class).to require_graphql_authorizations(:download_code) }
it 'contains attributes related to commit' do
expect(described_class).to have_graphql_fields(
diff --git a/spec/graphql/types/diff_refs_type_spec.rb b/spec/graphql/types/diff_refs_type_spec.rb
index a6ead27455f..3165e642452 100644
--- a/spec/graphql/types/diff_refs_type_spec.rb
+++ b/spec/graphql/types/diff_refs_type_spec.rb
@@ -3,11 +3,11 @@
require 'spec_helper'
describe GitlabSchema.types['DiffRefs'] do
- it { expect(described_class.graphql_name).to eq('DiffRefs') }
+ specify { expect(described_class.graphql_name).to eq('DiffRefs') }
- it { expect(described_class).to have_graphql_fields(:head_sha, :base_sha, :start_sha).only }
+ specify { expect(described_class).to have_graphql_fields(:head_sha, :base_sha, :start_sha).only }
- it { expect(described_class.fields['headSha'].type).to be_non_null }
- it { expect(described_class.fields['baseSha'].type).not_to be_non_null }
- it { expect(described_class.fields['startSha'].type).to be_non_null }
+ specify { expect(described_class.fields['headSha'].type).to be_non_null }
+ specify { expect(described_class.fields['baseSha'].type).not_to be_non_null }
+ specify { expect(described_class.fields['startSha'].type).to be_non_null }
end
diff --git a/spec/graphql/types/environment_type_spec.rb b/spec/graphql/types/environment_type_spec.rb
index 24a8bddfa6a..0e5cbac05df 100644
--- a/spec/graphql/types/environment_type_spec.rb
+++ b/spec/graphql/types/environment_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['Environment'] do
- it { expect(described_class.graphql_name).to eq('Environment') }
+ specify { expect(described_class.graphql_name).to eq('Environment') }
it 'has the expected fields' do
expected_fields = %w[
@@ -13,5 +13,5 @@ describe GitlabSchema.types['Environment'] do
expect(described_class).to have_graphql_fields(*expected_fields)
end
- it { expect(described_class).to require_graphql_authorizations(:read_environment) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_environment) }
end
diff --git a/spec/graphql/types/error_tracking/sentry_detailed_error_type_spec.rb b/spec/graphql/types/error_tracking/sentry_detailed_error_type_spec.rb
index 44652f831b5..0a094e9e188 100644
--- a/spec/graphql/types/error_tracking/sentry_detailed_error_type_spec.rb
+++ b/spec/graphql/types/error_tracking/sentry_detailed_error_type_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
describe GitlabSchema.types['SentryDetailedError'] do
- it { expect(described_class.graphql_name).to eq('SentryDetailedError') }
+ specify { expect(described_class.graphql_name).to eq('SentryDetailedError') }
- it { expect(described_class).to require_graphql_authorizations(:read_sentry_issue) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_sentry_issue) }
it 'exposes the expected fields' do
expected_fields = %i[
diff --git a/spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb b/spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb
index 20ec31391d8..793da2db960 100644
--- a/spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb
+++ b/spec/graphql/types/error_tracking/sentry_error_collection_type_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
describe GitlabSchema.types['SentryErrorCollection'] do
- it { expect(described_class.graphql_name).to eq('SentryErrorCollection') }
+ specify { expect(described_class.graphql_name).to eq('SentryErrorCollection') }
- it { expect(described_class).to require_graphql_authorizations(:read_sentry_issue) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_sentry_issue) }
it 'exposes the expected fields' do
expected_fields = %i[
diff --git a/spec/graphql/types/error_tracking/sentry_error_stack_trace_entry_type_spec.rb b/spec/graphql/types/error_tracking/sentry_error_stack_trace_entry_type_spec.rb
index 05cc2ca7612..b65398fccc9 100644
--- a/spec/graphql/types/error_tracking/sentry_error_stack_trace_entry_type_spec.rb
+++ b/spec/graphql/types/error_tracking/sentry_error_stack_trace_entry_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['SentryErrorStackTraceEntry'] do
- it { expect(described_class.graphql_name).to eq('SentryErrorStackTraceEntry') }
+ specify { expect(described_class.graphql_name).to eq('SentryErrorStackTraceEntry') }
it 'exposes the expected fields' do
expected_fields = %i[
diff --git a/spec/graphql/types/error_tracking/sentry_error_stack_trace_type_spec.rb b/spec/graphql/types/error_tracking/sentry_error_stack_trace_type_spec.rb
index 2a422228f72..2cec8865764 100644
--- a/spec/graphql/types/error_tracking/sentry_error_stack_trace_type_spec.rb
+++ b/spec/graphql/types/error_tracking/sentry_error_stack_trace_type_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
describe GitlabSchema.types['SentryErrorStackTrace'] do
- it { expect(described_class.graphql_name).to eq('SentryErrorStackTrace') }
+ specify { expect(described_class.graphql_name).to eq('SentryErrorStackTrace') }
- it { expect(described_class).to require_graphql_authorizations(:read_sentry_issue) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_sentry_issue) }
it 'exposes the expected fields' do
expected_fields = %i[
diff --git a/spec/graphql/types/error_tracking/sentry_error_type_spec.rb b/spec/graphql/types/error_tracking/sentry_error_type_spec.rb
index 4676d91ef9c..f8cc801e35e 100644
--- a/spec/graphql/types/error_tracking/sentry_error_type_spec.rb
+++ b/spec/graphql/types/error_tracking/sentry_error_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['SentryError'] do
- it { expect(described_class.graphql_name).to eq('SentryError') }
+ specify { expect(described_class.graphql_name).to eq('SentryError') }
it 'exposes the expected fields' do
expected_fields = %i[
diff --git a/spec/graphql/types/grafana_integration_type_spec.rb b/spec/graphql/types/grafana_integration_type_spec.rb
index ac26911acbf..429b5bdffe6 100644
--- a/spec/graphql/types/grafana_integration_type_spec.rb
+++ b/spec/graphql/types/grafana_integration_type_spec.rb
@@ -14,9 +14,9 @@ describe GitlabSchema.types['GrafanaIntegration'] do
]
end
- it { expect(described_class.graphql_name).to eq('GrafanaIntegration') }
+ specify { expect(described_class.graphql_name).to eq('GrafanaIntegration') }
- it { expect(described_class).to require_graphql_authorizations(:admin_operations) }
+ specify { expect(described_class).to require_graphql_authorizations(:admin_operations) }
- it { expect(described_class).to have_graphql_fields(*expected_fields) }
+ specify { expect(described_class).to have_graphql_fields(*expected_fields) }
end
diff --git a/spec/graphql/types/group_type_spec.rb b/spec/graphql/types/group_type_spec.rb
index 532f1a4b53d..a834a9038db 100644
--- a/spec/graphql/types/group_type_spec.rb
+++ b/spec/graphql/types/group_type_spec.rb
@@ -3,11 +3,11 @@
require 'spec_helper'
describe GitlabSchema.types['Group'] do
- it { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Group) }
+ specify { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Group) }
- it { expect(described_class.graphql_name).to eq('Group') }
+ specify { expect(described_class.graphql_name).to eq('Group') }
- it { expect(described_class).to require_graphql_authorizations(:read_group) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_group) }
it 'has the expected fields' do
expected_fields = %w[
diff --git a/spec/graphql/types/issuable_sort_enum_spec.rb b/spec/graphql/types/issuable_sort_enum_spec.rb
index 5a680c8eae5..35c42d8194c 100644
--- a/spec/graphql/types/issuable_sort_enum_spec.rb
+++ b/spec/graphql/types/issuable_sort_enum_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::IssuableSortEnum do
- it { expect(described_class.graphql_name).to eq('IssuableSort') }
+ specify { expect(described_class.graphql_name).to eq('IssuableSort') }
it 'exposes all the existing issuable sort values' do
expect(described_class.values.keys).to include(
diff --git a/spec/graphql/types/issuable_state_enum_spec.rb b/spec/graphql/types/issuable_state_enum_spec.rb
index 65a80fa4176..f974ed5f5fb 100644
--- a/spec/graphql/types/issuable_state_enum_spec.rb
+++ b/spec/graphql/types/issuable_state_enum_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['IssuableState'] do
- it { expect(described_class.graphql_name).to eq('IssuableState') }
+ specify { expect(described_class.graphql_name).to eq('IssuableState') }
it_behaves_like 'issuable state'
end
diff --git a/spec/graphql/types/issue_sort_enum_spec.rb b/spec/graphql/types/issue_sort_enum_spec.rb
index 532f9686f25..c496b897cdb 100644
--- a/spec/graphql/types/issue_sort_enum_spec.rb
+++ b/spec/graphql/types/issue_sort_enum_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['IssueSort'] do
- it { expect(described_class.graphql_name).to eq('IssueSort') }
+ specify { expect(described_class.graphql_name).to eq('IssueSort') }
it_behaves_like 'common sort values'
diff --git a/spec/graphql/types/issue_state_enum_spec.rb b/spec/graphql/types/issue_state_enum_spec.rb
index de19e6fc505..a18c5f5d317 100644
--- a/spec/graphql/types/issue_state_enum_spec.rb
+++ b/spec/graphql/types/issue_state_enum_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['IssueState'] do
- it { expect(described_class.graphql_name).to eq('IssueState') }
+ specify { expect(described_class.graphql_name).to eq('IssueState') }
it_behaves_like 'issuable state'
end
diff --git a/spec/graphql/types/issue_type_spec.rb b/spec/graphql/types/issue_type_spec.rb
index ebe48c17c11..d51457b29b4 100644
--- a/spec/graphql/types/issue_type_spec.rb
+++ b/spec/graphql/types/issue_type_spec.rb
@@ -3,13 +3,13 @@
require 'spec_helper'
describe GitlabSchema.types['Issue'] do
- it { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Issue) }
+ specify { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Issue) }
- it { expect(described_class.graphql_name).to eq('Issue') }
+ specify { expect(described_class.graphql_name).to eq('Issue') }
- it { expect(described_class).to require_graphql_authorizations(:read_issue) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_issue) }
- it { expect(described_class.interfaces).to include(Types::Notes::NoteableType) }
+ specify { expect(described_class.interfaces).to include(Types::Notes::NoteableType) }
it 'has specific fields' do
fields = %i[iid title description state reference author assignees participants labels milestone due_date
diff --git a/spec/graphql/types/jira_import_type_spec.rb b/spec/graphql/types/jira_import_type_spec.rb
index e73568c9710..ac1aa672e30 100644
--- a/spec/graphql/types/jira_import_type_spec.rb
+++ b/spec/graphql/types/jira_import_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['JiraImport'] do
- it { expect(described_class.graphql_name).to eq('JiraImport') }
+ specify { expect(described_class.graphql_name).to eq('JiraImport') }
it 'has the expected fields' do
expect(described_class).to have_graphql_fields(:jira_project_key, :createdAt, :scheduled_at, :scheduled_by)
diff --git a/spec/graphql/types/label_type_spec.rb b/spec/graphql/types/label_type_spec.rb
index 71b86d9b528..026c63906ef 100644
--- a/spec/graphql/types/label_type_spec.rb
+++ b/spec/graphql/types/label_type_spec.rb
@@ -8,5 +8,5 @@ describe GitlabSchema.types['Label'] do
expect(described_class).to have_graphql_fields(*expected_fields)
end
- it { expect(described_class).to require_graphql_authorizations(:read_label) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_label) }
end
diff --git a/spec/graphql/types/merge_request_state_enum_spec.rb b/spec/graphql/types/merge_request_state_enum_spec.rb
index 626e33b18d3..2abc7b298b1 100644
--- a/spec/graphql/types/merge_request_state_enum_spec.rb
+++ b/spec/graphql/types/merge_request_state_enum_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['MergeRequestState'] do
- it { expect(described_class.graphql_name).to eq('MergeRequestState') }
+ specify { expect(described_class.graphql_name).to eq('MergeRequestState') }
it_behaves_like 'issuable state'
diff --git a/spec/graphql/types/merge_request_type_spec.rb b/spec/graphql/types/merge_request_type_spec.rb
index 0c83ebd3de9..e7ab2100084 100644
--- a/spec/graphql/types/merge_request_type_spec.rb
+++ b/spec/graphql/types/merge_request_type_spec.rb
@@ -3,11 +3,11 @@
require 'spec_helper'
describe GitlabSchema.types['MergeRequest'] do
- it { expect(described_class).to expose_permissions_using(Types::PermissionTypes::MergeRequest) }
+ specify { expect(described_class).to expose_permissions_using(Types::PermissionTypes::MergeRequest) }
- it { expect(described_class).to require_graphql_authorizations(:read_merge_request) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_merge_request) }
- it { expect(described_class.interfaces).to include(Types::Notes::NoteableType) }
+ specify { expect(described_class.interfaces).to include(Types::Notes::NoteableType) }
it 'has the expected fields' do
expected_fields = %w[
diff --git a/spec/graphql/types/metadata_type_spec.rb b/spec/graphql/types/metadata_type_spec.rb
index c8270a8c2f5..75369ec9c3c 100644
--- a/spec/graphql/types/metadata_type_spec.rb
+++ b/spec/graphql/types/metadata_type_spec.rb
@@ -3,6 +3,6 @@
require 'spec_helper'
describe GitlabSchema.types['Metadata'] do
- it { expect(described_class.graphql_name).to eq('Metadata') }
- it { expect(described_class).to require_graphql_authorizations(:read_instance_metadata) }
+ specify { expect(described_class.graphql_name).to eq('Metadata') }
+ specify { expect(described_class).to require_graphql_authorizations(:read_instance_metadata) }
end
diff --git a/spec/graphql/types/metrics/dashboard_type_spec.rb b/spec/graphql/types/metrics/dashboard_type_spec.rb
index 76f2b4b8935..81219c596a7 100644
--- a/spec/graphql/types/metrics/dashboard_type_spec.rb
+++ b/spec/graphql/types/metrics/dashboard_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['MetricsDashboard'] do
- it { expect(described_class.graphql_name).to eq('MetricsDashboard') }
+ specify { expect(described_class.graphql_name).to eq('MetricsDashboard') }
it 'has the expected fields' do
expected_fields = %w[
diff --git a/spec/graphql/types/metrics/dashboards/annotation_type_spec.rb b/spec/graphql/types/metrics/dashboards/annotation_type_spec.rb
index 2956a2512eb..dbb8b04dbd7 100644
--- a/spec/graphql/types/metrics/dashboards/annotation_type_spec.rb
+++ b/spec/graphql/types/metrics/dashboards/annotation_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['MetricsDashboardAnnotation'] do
- it { expect(described_class.graphql_name).to eq('MetricsDashboardAnnotation') }
+ specify { expect(described_class.graphql_name).to eq('MetricsDashboardAnnotation') }
it 'has the expected fields' do
expected_fields = %w[
@@ -13,5 +13,5 @@ describe GitlabSchema.types['MetricsDashboardAnnotation'] do
expect(described_class).to have_graphql_fields(*expected_fields)
end
- it { expect(described_class).to require_graphql_authorizations(:read_metrics_dashboard_annotation) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_metrics_dashboard_annotation) }
end
diff --git a/spec/graphql/types/milestone_type_spec.rb b/spec/graphql/types/milestone_type_spec.rb
index f7ee79eae9f..4c3d9f50a64 100644
--- a/spec/graphql/types/milestone_type_spec.rb
+++ b/spec/graphql/types/milestone_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['Milestone'] do
- it { expect(described_class.graphql_name).to eq('Milestone') }
+ specify { expect(described_class.graphql_name).to eq('Milestone') }
- it { expect(described_class).to require_graphql_authorizations(:read_milestone) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_milestone) }
end
diff --git a/spec/graphql/types/namespace_type_spec.rb b/spec/graphql/types/namespace_type_spec.rb
index 6c2ba70cf4c..741698021e7 100644
--- a/spec/graphql/types/namespace_type_spec.rb
+++ b/spec/graphql/types/namespace_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['Namespace'] do
- it { expect(described_class.graphql_name).to eq('Namespace') }
+ specify { expect(described_class.graphql_name).to eq('Namespace') }
it 'has the expected fields' do
expected_fields = %w[
@@ -14,5 +14,5 @@ describe GitlabSchema.types['Namespace'] do
expect(described_class).to have_graphql_fields(*expected_fields)
end
- it { expect(described_class).to require_graphql_authorizations(:read_namespace) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_namespace) }
end
diff --git a/spec/graphql/types/notes/discussion_type_spec.rb b/spec/graphql/types/notes/discussion_type_spec.rb
index 804785ba67d..44774594d17 100644
--- a/spec/graphql/types/notes/discussion_type_spec.rb
+++ b/spec/graphql/types/notes/discussion_type_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
describe GitlabSchema.types['Discussion'] do
- it { expect(described_class).to have_graphql_fields(:id, :created_at, :notes, :reply_id) }
+ specify { expect(described_class).to have_graphql_fields(:id, :created_at, :notes, :reply_id) }
- it { expect(described_class).to require_graphql_authorizations(:read_note) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_note) }
end
diff --git a/spec/graphql/types/notes/note_type_spec.rb b/spec/graphql/types/notes/note_type_spec.rb
index 8cf84cd8dfd..019f742ee77 100644
--- a/spec/graphql/types/notes/note_type_spec.rb
+++ b/spec/graphql/types/notes/note_type_spec.rb
@@ -10,6 +10,6 @@ describe GitlabSchema.types['Note'] do
expect(described_class).to have_graphql_fields(*expected_fields)
end
- it { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Note) }
- it { expect(described_class).to require_graphql_authorizations(:read_note) }
+ specify { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Note) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_note) }
end
diff --git a/spec/graphql/types/notes/noteable_type_spec.rb b/spec/graphql/types/notes/noteable_type_spec.rb
index a4259e160e0..3176134fa14 100644
--- a/spec/graphql/types/notes/noteable_type_spec.rb
+++ b/spec/graphql/types/notes/noteable_type_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
describe Types::Notes::NoteableType do
- it { expect(described_class).to have_graphql_fields(:notes, :discussions) }
+ specify { expect(described_class).to have_graphql_fields(:notes, :discussions) }
describe ".resolve_type" do
it 'knows the correct type for objects' do
diff --git a/spec/graphql/types/permission_types/merge_request_type_spec.rb b/spec/graphql/types/permission_types/merge_request_type_spec.rb
index 572b4ac42d0..7e9752cdc46 100644
--- a/spec/graphql/types/permission_types/merge_request_type_spec.rb
+++ b/spec/graphql/types/permission_types/merge_request_type_spec.rb
@@ -3,5 +3,5 @@
require 'spec_helper'
describe Types::MergeRequestType do
- it { expect(described_class).to expose_permissions_using(Types::PermissionTypes::MergeRequest) }
+ specify { expect(described_class).to expose_permissions_using(Types::PermissionTypes::MergeRequest) }
end
diff --git a/spec/graphql/types/project_type_spec.rb b/spec/graphql/types/project_type_spec.rb
index 6ea852190c9..9a257ec8d1b 100644
--- a/spec/graphql/types/project_type_spec.rb
+++ b/spec/graphql/types/project_type_spec.rb
@@ -3,11 +3,11 @@
require 'spec_helper'
describe GitlabSchema.types['Project'] do
- it { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Project) }
+ specify { expect(described_class).to expose_permissions_using(Types::PermissionTypes::Project) }
- it { expect(described_class.graphql_name).to eq('Project') }
+ specify { expect(described_class.graphql_name).to eq('Project') }
- it { expect(described_class).to require_graphql_authorizations(:read_project) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_project) }
it 'has the expected fields' do
expected_fields = %w[
@@ -24,7 +24,7 @@ describe GitlabSchema.types['Project'] do
namespace group statistics repository merge_requests merge_request issues
issue pipelines removeSourceBranchAfterMerge sentryDetailedError snippets
grafanaIntegration autocloseReferencedIssues suggestion_commit_message environments
- boards jira_import_status jira_imports services
+ boards jira_import_status jira_imports services releases release
]
expect(described_class).to include_graphql_fields(*expected_fields)
@@ -96,4 +96,18 @@ describe GitlabSchema.types['Project'] do
it { is_expected.to have_graphql_type(Types::Projects::ServiceType.connection_type) }
end
+
+ describe 'releases field' do
+ subject { described_class.fields['release'] }
+
+ it { is_expected.to have_graphql_type(Types::ReleaseType) }
+ it { is_expected.to have_graphql_resolver(Resolvers::ReleaseResolver) }
+ end
+
+ describe 'release field' do
+ subject { described_class.fields['releases'] }
+
+ it { is_expected.to have_graphql_type(Types::ReleaseType.connection_type) }
+ it { is_expected.to have_graphql_resolver(Resolvers::ReleasesResolver) }
+ end
end
diff --git a/spec/graphql/types/projects/base_service_type_spec.rb b/spec/graphql/types/projects/base_service_type_spec.rb
index bda6022bf79..4fcb9fe1a73 100644
--- a/spec/graphql/types/projects/base_service_type_spec.rb
+++ b/spec/graphql/types/projects/base_service_type_spec.rb
@@ -3,11 +3,11 @@
require 'spec_helper'
describe GitlabSchema.types['BaseService'] do
- it { expect(described_class.graphql_name).to eq('BaseService') }
+ specify { expect(described_class.graphql_name).to eq('BaseService') }
it 'has basic expected fields' do
expect(described_class).to have_graphql_fields(:type, :active)
end
- it { expect(described_class).to require_graphql_authorizations(:admin_project) }
+ specify { expect(described_class).to require_graphql_authorizations(:admin_project) }
end
diff --git a/spec/graphql/types/projects/jira_service_type_spec.rb b/spec/graphql/types/projects/jira_service_type_spec.rb
index 7f8fa6538e9..91d7e4586cb 100644
--- a/spec/graphql/types/projects/jira_service_type_spec.rb
+++ b/spec/graphql/types/projects/jira_service_type_spec.rb
@@ -3,11 +3,11 @@
require 'spec_helper'
describe GitlabSchema.types['JiraService'] do
- it { expect(described_class.graphql_name).to eq('JiraService') }
+ specify { expect(described_class.graphql_name).to eq('JiraService') }
it 'has basic expected fields' do
expect(described_class).to have_graphql_fields(:type, :active)
end
- it { expect(described_class).to require_graphql_authorizations(:admin_project) }
+ specify { expect(described_class).to require_graphql_authorizations(:admin_project) }
end
diff --git a/spec/graphql/types/projects/service_type_spec.rb b/spec/graphql/types/projects/service_type_spec.rb
index ad30a4008bc..f6758d17d18 100644
--- a/spec/graphql/types/projects/service_type_spec.rb
+++ b/spec/graphql/types/projects/service_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::Projects::ServiceType do
- it { expect(described_class).to have_graphql_fields(:type, :active) }
+ specify { expect(described_class).to have_graphql_fields(:type, :active) }
describe ".resolve_type" do
it 'resolves the corresponding type for objects' do
diff --git a/spec/graphql/types/projects/services_enum_spec.rb b/spec/graphql/types/projects/services_enum_spec.rb
index aac4aae4f69..91e398e8d81 100644
--- a/spec/graphql/types/projects/services_enum_spec.rb
+++ b/spec/graphql/types/projects/services_enum_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe GitlabSchema.types['ServiceType'] do
- it { expect(described_class.graphql_name).to eq('ServiceType') }
+ specify { expect(described_class.graphql_name).to eq('ServiceType') }
it 'exposes all the existing project services' do
expect(described_class.values.keys).to match_array(available_services_enum)
diff --git a/spec/graphql/types/release_type_spec.rb b/spec/graphql/types/release_type_spec.rb
new file mode 100644
index 00000000000..e68b8cd549d
--- /dev/null
+++ b/spec/graphql/types/release_type_spec.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe GitlabSchema.types['Release'] do
+ it { expect(described_class).to require_graphql_authorizations(:read_release) }
+
+ it 'has the expected fields' do
+ expected_fields = %w[
+ tag_name tag_path
+ description description_html
+ name evidence_sha milestones author commit
+ created_at released_at
+ ]
+
+ expect(described_class).to include_graphql_fields(*expected_fields)
+ end
+
+ describe 'milestones field' do
+ subject { described_class.fields['milestones'] }
+
+ it { is_expected.to have_graphql_type(Types::MilestoneType.connection_type) }
+ end
+
+ describe 'author field' do
+ subject { described_class.fields['author'] }
+
+ it { is_expected.to have_graphql_type(Types::UserType) }
+ end
+
+ describe 'commit field' do
+ subject { described_class.fields['commit'] }
+
+ it { is_expected.to have_graphql_type(Types::CommitType) }
+ it { is_expected.to require_graphql_authorizations(:reporter_access) }
+ end
+end
diff --git a/spec/graphql/types/repository_type_spec.rb b/spec/graphql/types/repository_type_spec.rb
index f746e75b574..fb52839c712 100644
--- a/spec/graphql/types/repository_type_spec.rb
+++ b/spec/graphql/types/repository_type_spec.rb
@@ -3,11 +3,11 @@
require 'spec_helper'
describe GitlabSchema.types['Repository'] do
- it { expect(described_class.graphql_name).to eq('Repository') }
+ specify { expect(described_class.graphql_name).to eq('Repository') }
- it { expect(described_class).to require_graphql_authorizations(:download_code) }
+ specify { expect(described_class).to require_graphql_authorizations(:download_code) }
- it { expect(described_class).to have_graphql_field(:root_ref) }
+ specify { expect(described_class).to have_graphql_field(:root_ref) }
- it { expect(described_class).to have_graphql_field(:tree) }
+ specify { expect(described_class).to have_graphql_field(:tree) }
end
diff --git a/spec/graphql/types/root_storage_statistics_type_spec.rb b/spec/graphql/types/root_storage_statistics_type_spec.rb
index b796b974b82..ebaa5a18623 100644
--- a/spec/graphql/types/root_storage_statistics_type_spec.rb
+++ b/spec/graphql/types/root_storage_statistics_type_spec.rb
@@ -3,12 +3,12 @@
require 'spec_helper'
describe GitlabSchema.types['RootStorageStatistics'] do
- it { expect(described_class.graphql_name).to eq('RootStorageStatistics') }
+ specify { expect(described_class.graphql_name).to eq('RootStorageStatistics') }
it 'has all the required fields' do
expect(described_class).to have_graphql_fields(:storage_size, :repository_size, :lfs_objects_size,
:build_artifacts_size, :packages_size, :wiki_size)
end
- it { expect(described_class).to require_graphql_authorizations(:read_statistics) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_statistics) }
end
diff --git a/spec/graphql/types/snippet_type_spec.rb b/spec/graphql/types/snippet_type_spec.rb
index 77b33e8483a..adc13d4d651 100644
--- a/spec/graphql/types/snippet_type_spec.rb
+++ b/spec/graphql/types/snippet_type_spec.rb
@@ -17,7 +17,7 @@ describe GitlabSchema.types['Snippet'] do
end
describe 'authorizations' do
- it { expect(described_class).to require_graphql_authorizations(:read_snippet) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_snippet) }
end
shared_examples 'response without repository URLs' do
diff --git a/spec/graphql/types/time_type_spec.rb b/spec/graphql/types/time_type_spec.rb
index 88a535ed3bb..3c6e191e2fb 100644
--- a/spec/graphql/types/time_type_spec.rb
+++ b/spec/graphql/types/time_type_spec.rb
@@ -6,7 +6,7 @@ describe GitlabSchema.types['Time'] do
let(:iso) { "2018-06-04T15:23:50+02:00" }
let(:time) { Time.parse(iso) }
- it { expect(described_class.graphql_name).to eq('Time') }
+ specify { expect(described_class.graphql_name).to eq('Time') }
it 'coerces Time object into ISO 8601' do
expect(described_class.coerce_isolated_result(time)).to eq(iso)
diff --git a/spec/graphql/types/todo_type_spec.rb b/spec/graphql/types/todo_type_spec.rb
index 59118259d09..87a5405f0e2 100644
--- a/spec/graphql/types/todo_type_spec.rb
+++ b/spec/graphql/types/todo_type_spec.rb
@@ -9,5 +9,5 @@ describe GitlabSchema.types['Todo'] do
expect(described_class).to have_graphql_fields(*expected_fields)
end
- it { expect(described_class).to require_graphql_authorizations(:read_todo) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_todo) }
end
diff --git a/spec/graphql/types/tree/blob_type_spec.rb b/spec/graphql/types/tree/blob_type_spec.rb
index 516c862b9c6..547a03b5edf 100644
--- a/spec/graphql/types/tree/blob_type_spec.rb
+++ b/spec/graphql/types/tree/blob_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::Tree::BlobType do
- it { expect(described_class.graphql_name).to eq('Blob') }
+ specify { expect(described_class.graphql_name).to eq('Blob') }
- it { expect(described_class).to have_graphql_fields(:id, :sha, :name, :type, :path, :flat_path, :web_url, :lfs_oid) }
+ specify { expect(described_class).to have_graphql_fields(:id, :sha, :name, :type, :path, :flat_path, :web_url, :lfs_oid) }
end
diff --git a/spec/graphql/types/tree/submodule_type_spec.rb b/spec/graphql/types/tree/submodule_type_spec.rb
index 81f7ad825a1..b5cfe8eb812 100644
--- a/spec/graphql/types/tree/submodule_type_spec.rb
+++ b/spec/graphql/types/tree/submodule_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::Tree::SubmoduleType do
- it { expect(described_class.graphql_name).to eq('Submodule') }
+ specify { expect(described_class.graphql_name).to eq('Submodule') }
- it { expect(described_class).to have_graphql_fields(:id, :sha, :name, :type, :path, :flat_path, :web_url, :tree_url) }
+ specify { expect(described_class).to have_graphql_fields(:id, :sha, :name, :type, :path, :flat_path, :web_url, :tree_url) }
end
diff --git a/spec/graphql/types/tree/tree_entry_type_spec.rb b/spec/graphql/types/tree/tree_entry_type_spec.rb
index 228a4be0949..14826d06645 100644
--- a/spec/graphql/types/tree/tree_entry_type_spec.rb
+++ b/spec/graphql/types/tree/tree_entry_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::Tree::TreeEntryType do
- it { expect(described_class.graphql_name).to eq('TreeEntry') }
+ specify { expect(described_class.graphql_name).to eq('TreeEntry') }
- it { expect(described_class).to have_graphql_fields(:id, :sha, :name, :type, :path, :flat_path, :web_url) }
+ specify { expect(described_class).to have_graphql_fields(:id, :sha, :name, :type, :path, :flat_path, :web_url) }
end
diff --git a/spec/graphql/types/tree/tree_type_spec.rb b/spec/graphql/types/tree/tree_type_spec.rb
index 23779d75600..93faebd3602 100644
--- a/spec/graphql/types/tree/tree_type_spec.rb
+++ b/spec/graphql/types/tree/tree_type_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::Tree::TreeType do
- it { expect(described_class.graphql_name).to eq('Tree') }
+ specify { expect(described_class.graphql_name).to eq('Tree') }
- it { expect(described_class).to have_graphql_fields(:trees, :submodules, :blobs, :last_commit) }
+ specify { expect(described_class).to have_graphql_fields(:trees, :submodules, :blobs, :last_commit) }
end
diff --git a/spec/graphql/types/tree/type_enum_spec.rb b/spec/graphql/types/tree/type_enum_spec.rb
index 4caf9e1c457..dcacd6073f9 100644
--- a/spec/graphql/types/tree/type_enum_spec.rb
+++ b/spec/graphql/types/tree/type_enum_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
describe Types::Tree::TypeEnum do
- it { expect(described_class.graphql_name).to eq('EntryType') }
+ specify { expect(described_class.graphql_name).to eq('EntryType') }
it 'exposes all tree entry types' do
expect(described_class.values.keys).to include(*%w[tree blob commit])
diff --git a/spec/graphql/types/user_type_spec.rb b/spec/graphql/types/user_type_spec.rb
index 2b0b8844df5..cf1e91afb80 100644
--- a/spec/graphql/types/user_type_spec.rb
+++ b/spec/graphql/types/user_type_spec.rb
@@ -3,9 +3,9 @@
require 'spec_helper'
describe GitlabSchema.types['User'] do
- it { expect(described_class.graphql_name).to eq('User') }
+ specify { expect(described_class.graphql_name).to eq('User') }
- it { expect(described_class).to require_graphql_authorizations(:read_user) }
+ specify { expect(described_class).to require_graphql_authorizations(:read_user) }
it 'has the expected fields' do
expected_fields = %w[
diff --git a/spec/helpers/projects/alert_management_helper_spec.rb b/spec/helpers/projects/alert_management_helper_spec.rb
index 177dcb4ec2e..078759de39c 100644
--- a/spec/helpers/projects/alert_management_helper_spec.rb
+++ b/spec/helpers/projects/alert_management_helper_spec.rb
@@ -7,29 +7,76 @@ describe Projects::AlertManagementHelper do
let_it_be(:project, reload: true) { create(:project) }
let_it_be(:current_user) { create(:user) }
+ let_it_be(:project_path) { project.full_path }
describe '#alert_management_data' do
- let(:user_can_enable_alert_management) { false }
- let(:setting_path) { project_settings_operations_path(project) }
- let(:project_path) { project.full_path }
+ let(:user_can_enable_alert_management) { true }
+ let(:setting_path) { edit_project_service_path(project, AlertsService) }
+
+ subject(:data) { helper.alert_management_data(current_user, project) }
before do
allow(helper)
.to receive(:can?)
- .with(current_user, :admin_operations, project)
+ .with(current_user, :admin_project, project)
.and_return(user_can_enable_alert_management)
end
context 'without alert_managements_setting' do
- it 'returns frontend configuration' do
- expect(alert_management_data(current_user, project)).to eq(
+ it 'returns index page configuration' do
+ expect(helper.alert_management_data(current_user, project)).to match(
'project-path' => project_path,
'enable-alert-management-path' => setting_path,
- 'empty-alert-svg-path' => '/images/illustrations/alert-management-empty-state.svg',
- 'user-can-enable-alert-management' => 'false',
- 'alert-management-enabled' => 'true'
+ 'empty-alert-svg-path' => match_asset_path('/assets/illustrations/alert-management-empty-state.svg'),
+ 'user-can-enable-alert-management' => 'true',
+ 'alert-management-enabled' => 'false'
)
end
end
+
+ context 'with alerts service' do
+ let_it_be(:alerts_service) { create(:alerts_service, project: project) }
+
+ context 'when alerts service is active' do
+ it 'enables alert management' do
+ expect(data).to include(
+ 'alert-management-enabled' => 'true'
+ )
+ end
+ end
+
+ context 'when alerts service is inactive' do
+ it 'disables alert management' do
+ alerts_service.update(active: false)
+
+ expect(data).to include(
+ 'alert-management-enabled' => 'false'
+ )
+ end
+ end
+ end
+
+ context 'when user does not have requisite enablement permissions' do
+ let(:user_can_enable_alert_management) { false }
+
+ it 'shows error tracking enablement as disabled' do
+ expect(helper.alert_management_data(current_user, project)).to include(
+ 'user-can-enable-alert-management' => 'false'
+ )
+ end
+ end
+ end
+
+ describe '#alert_management_detail_data' do
+ let(:alert_id) { 1 }
+ let(:new_issue_path) { new_project_issue_path(project) }
+
+ it 'returns detail page configuration' do
+ expect(helper.alert_management_detail_data(project, alert_id)).to eq(
+ 'alert-id' => alert_id,
+ 'project-path' => project_path,
+ 'new-issue-path' => new_issue_path
+ )
+ end
end
end
diff --git a/spec/helpers/releases_helper_spec.rb b/spec/helpers/releases_helper_spec.rb
index 282758679cb..de4086e48db 100644
--- a/spec/helpers/releases_helper_spec.rb
+++ b/spec/helpers/releases_helper_spec.rb
@@ -54,7 +54,9 @@ describe ReleasesHelper do
markdown_docs_path
releases_page_path
update_release_api_docs_path
- release_assets_docs_path)
+ release_assets_docs_path
+ manage_milestones_path
+ new_milestone_path)
expect(helper.data_for_edit_release_page.keys).to eq(keys)
end
end
diff --git a/spec/helpers/x509_helper_spec.rb b/spec/helpers/x509_helper_spec.rb
index dcdf57ce035..db3f6158195 100644
--- a/spec/helpers/x509_helper_spec.rb
+++ b/spec/helpers/x509_helper_spec.rb
@@ -57,4 +57,22 @@ describe X509Helper do
end
end
end
+
+ describe '#x509_signature?' do
+ let(:x509_signature) { create(:x509_commit_signature) }
+ let(:gpg_signature) { create(:gpg_signature) }
+
+ it 'detects a x509 signed commit' do
+ signature = Gitlab::X509::Signature.new(
+ X509Helpers::User1.signed_commit_signature,
+ X509Helpers::User1.signed_commit_base_data,
+ X509Helpers::User1.certificate_email,
+ X509Helpers::User1.signed_commit_time
+ )
+
+ expect(x509_signature?(x509_signature)).to be_truthy
+ expect(x509_signature?(signature)).to be_truthy
+ expect(x509_signature?(gpg_signature)).to be_falsey
+ end
+ end
end
diff --git a/spec/javascripts/diffs/create_diffs_store.js b/spec/javascripts/diffs/create_diffs_store.js
deleted file mode 100644
index 9df057dd8b2..00000000000
--- a/spec/javascripts/diffs/create_diffs_store.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// No new code should be added to this file. Instead, modify the
-// file this one re-exports from. For more detail about why, see:
-// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349
-
-export { default } from '../../frontend/diffs/create_diffs_store';
diff --git a/spec/javascripts/diffs/mock_data/diff_discussions.js b/spec/javascripts/diffs/mock_data/diff_discussions.js
deleted file mode 100644
index 17586fddd0f..00000000000
--- a/spec/javascripts/diffs/mock_data/diff_discussions.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// No new code should be added to this file. Instead, modify the
-// file this one re-exports from. For more detail about why, see:
-// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349
-
-export { default } from '../../../frontend/diffs/mock_data/diff_discussions';
diff --git a/spec/javascripts/diffs/mock_data/diff_file.js b/spec/javascripts/diffs/mock_data/diff_file.js
deleted file mode 100644
index 9dc365b7403..00000000000
--- a/spec/javascripts/diffs/mock_data/diff_file.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// No new code should be added to this file. Instead, modify the
-// file this one re-exports from. For more detail about why, see:
-// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349
-
-export { default } from '../../../frontend/diffs/mock_data/diff_file';
diff --git a/spec/javascripts/diffs/mock_data/diff_file_unreadable.js b/spec/javascripts/diffs/mock_data/diff_file_unreadable.js
deleted file mode 100644
index 09a0dc61847..00000000000
--- a/spec/javascripts/diffs/mock_data/diff_file_unreadable.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// No new code should be added to this file. Instead, modify the
-// file this one re-exports from. For more detail about why, see:
-// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349
-
-export { default } from '../../../frontend/diffs/mock_data/diff_file_unreadable';
diff --git a/spec/javascripts/diffs/mock_data/diff_with_commit.js b/spec/javascripts/diffs/mock_data/diff_with_commit.js
deleted file mode 100644
index c36b0239060..00000000000
--- a/spec/javascripts/diffs/mock_data/diff_with_commit.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// No new code should be added to this file. Instead, modify the
-// file this one re-exports from. For more detail about why, see:
-// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349
-
-import getDiffWithCommit from '../../../frontend/diffs/mock_data/diff_with_commit';
-
-export default getDiffWithCommit;
diff --git a/spec/javascripts/diffs/mock_data/merge_request_diffs.js b/spec/javascripts/diffs/mock_data/merge_request_diffs.js
deleted file mode 100644
index de29eb7e560..00000000000
--- a/spec/javascripts/diffs/mock_data/merge_request_diffs.js
+++ /dev/null
@@ -1,7 +0,0 @@
-// No new code should be added to this file. Instead, modify the
-// file this one re-exports from. For more detail about why, see:
-// https://gitlab.com/gitlab-org/gitlab-foss/merge_requests/31349
-
-import diffsMockData from '../../../frontend/diffs/mock_data/merge_request_diffs';
-
-export default diffsMockData;
diff --git a/spec/javascripts/emoji_spec.js b/spec/javascripts/emoji_spec.js
index 3db4d9800f1..25bc95e0dd6 100644
--- a/spec/javascripts/emoji_spec.js
+++ b/spec/javascripts/emoji_spec.js
@@ -69,7 +69,7 @@ const defaults = {
};
function testGlEmojiElement(element, name, unicodeVersion, unicodeMoji, options = {}) {
- const opts = Object.assign({}, defaults, options);
+ const opts = { ...defaults, ...options };
expect(element.tagName.toLowerCase()).toBe('gl-emoji');
expect(element.dataset.name).toBe(name);
expect(element.dataset.fallbackSrc.length).toBeGreaterThan(0);
@@ -383,9 +383,7 @@ describe('gl_emoji', () => {
it('bomb(6.0) with 6.0 support', () => {
const emojiKey = 'bomb';
- const unicodeSupportMap = Object.assign({}, emptySupportMap, {
- '6.0': true,
- });
+ const unicodeSupportMap = { ...emptySupportMap, '6.0': true };
const isSupported = isEmojiUnicodeSupported(
unicodeSupportMap,
emojiFixtureMap[emojiKey].moji,
@@ -409,9 +407,7 @@ describe('gl_emoji', () => {
it('bomb(6.0) without 6.0 but with 9.0 support', () => {
const emojiKey = 'bomb';
- const unicodeSupportMap = Object.assign({}, emptySupportMap, {
- '9.0': true,
- });
+ const unicodeSupportMap = { ...emptySupportMap, '9.0': true };
const isSupported = isEmojiUnicodeSupported(
unicodeSupportMap,
emojiFixtureMap[emojiKey].moji,
@@ -423,7 +419,8 @@ describe('gl_emoji', () => {
it('construction_worker_tone5(8.0) without skin tone modifier support', () => {
const emojiKey = 'construction_worker_tone5';
- const unicodeSupportMap = Object.assign({}, emptySupportMap, {
+ const unicodeSupportMap = {
+ ...emptySupportMap,
skinToneModifier: false,
'9.0': true,
'8.0': true,
@@ -437,7 +434,7 @@ describe('gl_emoji', () => {
3.2: true,
'3.0': true,
1.1: true,
- });
+ };
const isSupported = isEmojiUnicodeSupported(
unicodeSupportMap,
emojiFixtureMap[emojiKey].moji,
@@ -449,13 +446,14 @@ describe('gl_emoji', () => {
it('use native keycap on >=57 chrome', () => {
const emojiKey = 'five';
- const unicodeSupportMap = Object.assign({}, emptySupportMap, {
+ const unicodeSupportMap = {
+ ...emptySupportMap,
'3.0': true,
meta: {
isChrome: true,
chromeVersion: 57,
},
- });
+ };
const isSupported = isEmojiUnicodeSupported(
unicodeSupportMap,
emojiFixtureMap[emojiKey].moji,
@@ -467,13 +465,14 @@ describe('gl_emoji', () => {
it('fallback keycap on <57 chrome', () => {
const emojiKey = 'five';
- const unicodeSupportMap = Object.assign({}, emptySupportMap, {
+ const unicodeSupportMap = {
+ ...emptySupportMap,
'3.0': true,
meta: {
isChrome: true,
chromeVersion: 50,
},
- });
+ };
const isSupported = isEmojiUnicodeSupported(
unicodeSupportMap,
emojiFixtureMap[emojiKey].moji,
diff --git a/spec/javascripts/gl_dropdown_spec.js b/spec/javascripts/gl_dropdown_spec.js
index 00bc552bd7d..06f76c581f2 100644
--- a/spec/javascripts/gl_dropdown_spec.js
+++ b/spec/javascripts/gl_dropdown_spec.js
@@ -44,19 +44,17 @@ describe('glDropdown', function describeDropdown() {
};
function initDropDown(hasRemote, isFilterable, extraOpts = {}) {
- const options = Object.assign(
- {
- selectable: true,
- filterable: isFilterable,
- data: hasRemote ? remoteMock.bind({}, this.projectsData) : this.projectsData,
- search: {
- fields: ['name'],
- },
- text: project => project.name_with_namespace || project.name,
- id: project => project.id,
+ const options = {
+ selectable: true,
+ filterable: isFilterable,
+ data: hasRemote ? remoteMock.bind({}, this.projectsData) : this.projectsData,
+ search: {
+ fields: ['name'],
},
- extraOpts,
- );
+ text: project => project.name_with_namespace || project.name,
+ id: project => project.id,
+ ...extraOpts,
+ };
this.dropdownButtonElement = $(
'#js-project-dropdown',
this.dropdownContainerElement,
diff --git a/spec/javascripts/helpers/init_vue_mr_page_helper.js b/spec/javascripts/helpers/init_vue_mr_page_helper.js
index 04f969fcd2d..1ba08199764 100644
--- a/spec/javascripts/helpers/init_vue_mr_page_helper.js
+++ b/spec/javascripts/helpers/init_vue_mr_page_helper.js
@@ -2,7 +2,7 @@ import MockAdapter from 'axios-mock-adapter';
import initMRPage from '~/mr_notes/index';
import axios from '~/lib/utils/axios_utils';
import { userDataMock, notesDataMock, noteableDataMock } from '../../frontend/notes/mock_data';
-import diffFileMockData from '../diffs/mock_data/diff_file';
+import diffFileMockData from '../../frontend/diffs/mock_data/diff_file';
export default function initVueMRPage() {
const mrTestEl = document.createElement('div');
diff --git a/spec/javascripts/image_diff/image_badge_spec.js b/spec/javascripts/image_diff/image_badge_spec.js
index 2b23dce5d30..a1589d7b7a0 100644
--- a/spec/javascripts/image_diff/image_badge_spec.js
+++ b/spec/javascripts/image_diff/image_badge_spec.js
@@ -10,11 +10,7 @@ describe('ImageBadge', () => {
};
it('should save actual property', () => {
- const imageBadge = new ImageBadge(
- Object.assign({}, options, {
- actual: imageMeta,
- }),
- );
+ const imageBadge = new ImageBadge({ ...options, actual: imageMeta });
const { actual } = imageBadge;
@@ -25,11 +21,7 @@ describe('ImageBadge', () => {
});
it('should save browser property', () => {
- const imageBadge = new ImageBadge(
- Object.assign({}, options, {
- browser: imageMeta,
- }),
- );
+ const imageBadge = new ImageBadge({ ...options, browser: imageMeta });
const { browser } = imageBadge;
@@ -83,11 +75,7 @@ describe('ImageBadge', () => {
});
it('should generate browser property', () => {
- const imageBadge = new ImageBadge(
- Object.assign({}, options, {
- imageEl: document.createElement('img'),
- }),
- );
+ const imageBadge = new ImageBadge({ ...options, imageEl: document.createElement('img') });
expect(imageDiffHelper.resizeCoordinatesToImageElement).toHaveBeenCalled();
expect(imageBadge.browser).toEqual(true);
diff --git a/spec/javascripts/pipelines/header_component_spec.js b/spec/javascripts/pipelines/header_component_spec.js
deleted file mode 100644
index 9043f30397d..00000000000
--- a/spec/javascripts/pipelines/header_component_spec.js
+++ /dev/null
@@ -1,108 +0,0 @@
-import Vue from 'vue';
-import headerComponent from '~/pipelines/components/header_component.vue';
-import eventHub from '~/pipelines/event_hub';
-
-describe('Pipeline details header', () => {
- let HeaderComponent;
- let vm;
- let props;
-
- beforeEach(() => {
- spyOn(eventHub, '$emit');
- HeaderComponent = Vue.extend(headerComponent);
-
- const threeWeeksAgo = new Date();
- threeWeeksAgo.setDate(threeWeeksAgo.getDate() - 21);
-
- props = {
- pipeline: {
- details: {
- status: {
- group: 'failed',
- icon: 'status_failed',
- label: 'failed',
- text: 'failed',
- details_path: 'path',
- },
- },
- id: 123,
- created_at: threeWeeksAgo.toISOString(),
- user: {
- web_url: 'path',
- name: 'Foo',
- username: 'foobar',
- email: 'foo@bar.com',
- avatar_url: 'link',
- },
- retry_path: 'retry',
- cancel_path: 'cancel',
- delete_path: 'delete',
- },
- isLoading: false,
- };
-
- vm = new HeaderComponent({ propsData: props }).$mount();
- });
-
- afterEach(() => {
- eventHub.$off();
- vm.$destroy();
- });
-
- const findDeleteModal = () => document.getElementById(headerComponent.DELETE_MODAL_ID);
- const findDeleteModalSubmit = () =>
- [...findDeleteModal().querySelectorAll('.btn')].find(x => x.textContent === 'Delete pipeline');
-
- it('should render provided pipeline info', () => {
- expect(
- vm.$el
- .querySelector('.header-main-content')
- .textContent.replace(/\s+/g, ' ')
- .trim(),
- ).toContain('failed Pipeline #123 triggered 3 weeks ago by Foo');
- });
-
- describe('action buttons', () => {
- it('should not trigger eventHub when nothing happens', () => {
- expect(eventHub.$emit).not.toHaveBeenCalled();
- });
-
- it('should call postAction when retry button action is clicked', () => {
- vm.$el.querySelector('.js-retry-button').click();
-
- expect(eventHub.$emit).toHaveBeenCalledWith('headerPostAction', 'retry');
- });
-
- it('should call postAction when cancel button action is clicked', () => {
- vm.$el.querySelector('.js-btn-cancel-pipeline').click();
-
- expect(eventHub.$emit).toHaveBeenCalledWith('headerPostAction', 'cancel');
- });
-
- it('does not show delete modal', () => {
- expect(findDeleteModal()).not.toBeVisible();
- });
-
- describe('when delete button action is clicked', () => {
- beforeEach(done => {
- vm.$el.querySelector('.js-btn-delete-pipeline').click();
-
- // Modal needs two ticks to show
- vm.$nextTick()
- .then(() => vm.$nextTick())
- .then(done)
- .catch(done.fail);
- });
-
- it('should show delete modal', () => {
- expect(findDeleteModal()).toBeVisible();
- });
-
- it('should call delete when modal is submitted', () => {
- findDeleteModalSubmit().click();
-
- expect(eventHub.$emit).toHaveBeenCalledWith('headerDeleteAction', 'delete');
- });
- });
- });
-});
diff --git a/spec/javascripts/pipelines/mock_data.js b/spec/javascripts/pipelines/mock_data.js
deleted file mode 100644
index f876987cd88..00000000000
--- a/spec/javascripts/pipelines/mock_data.js
+++ /dev/null
@@ -1,423 +0,0 @@
-export const pipelineWithStages = {
- id: 20333396,
- user: {
- id: 128633,
- name: 'Rémy Coutable',
- username: 'rymai',
- state: 'active',
- avatar_url:
- 'https://secure.gravatar.com/avatar/263da227929cc0035cb0eba512bcf81a?s=80\u0026d=identicon',
- web_url: 'https://gitlab.com/rymai',
- path: '/rymai',
- },
- active: true,
- coverage: '58.24',
- source: 'push',
- created_at: '2018-04-11T14:04:53.881Z',
- updated_at: '2018-04-11T14:05:00.792Z',
- path: '/gitlab-org/gitlab/pipelines/20333396',
- flags: {
- latest: true,
- stuck: false,
- auto_devops: false,
- yaml_errors: false,
- retryable: false,
- cancelable: true,
- failure_reason: false,
- },
- details: {
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- has_details: true,
- details_path: '/gitlab-org/gitlab/pipelines/20333396',
- favicon:
- 'https://assets.gitlab-static.net/assets/ci_favicons/favicon_status_running-2eb56be2871937954b2ba6d6f4ee9fdf7e5e1c146ac45f7be98119ccaca1aca9.ico',
- },
- duration: null,
- finished_at: null,
- stages: [
- {
- name: 'build',
- title: 'build: skipped',
- status: {
- icon: 'status_skipped',
- text: 'skipped',
- label: 'skipped',
- group: 'skipped',
- has_details: true,
- details_path: '/gitlab-org/gitlab/pipelines/20333396#build',
- favicon:
- 'https://assets.gitlab-static.net/assets/ci_favicons/favicon_status_skipped-a2eee568a5bffdb494050c7b62dde241de9189280836288ac8923d369f16222d.ico',
- },
- path: '/gitlab-org/gitlab/pipelines/20333396#build',
- dropdown_path: '/gitlab-org/gitlab/pipelines/20333396/stage.json?stage=build',
- },
- {
- name: 'prepare',
- title: 'prepare: passed',
- status: {
- icon: 'status_success',
- text: 'passed',
- label: 'passed',
- group: 'success',
- has_details: true,
- details_path: '/gitlab-org/gitlab/pipelines/20333396#prepare',
- favicon:
- 'https://assets.gitlab-static.net/assets/ci_favicons/favicon_status_success-26f59841becbef8c6fe414e9e74471d8bfd6a91b5855c19fe7f5923a40a7da47.ico',
- },
- path: '/gitlab-org/gitlab/pipelines/20333396#prepare',
- dropdown_path: '/gitlab-org/gitlab/pipelines/20333396/stage.json?stage=prepare',
- },
- {
- name: 'test',
- title: 'test: running',
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- has_details: true,
- details_path: '/gitlab-org/gitlab/pipelines/20333396#test',
- favicon:
- 'https://assets.gitlab-static.net/assets/ci_favicons/favicon_status_running-2eb56be2871937954b2ba6d6f4ee9fdf7e5e1c146ac45f7be98119ccaca1aca9.ico',
- },
- path: '/gitlab-org/gitlab/pipelines/20333396#test',
- dropdown_path: '/gitlab-org/gitlab/pipelines/20333396/stage.json?stage=test',
- },
- {
- name: 'post-test',
- title: 'post-test: created',
- status: {
- icon: 'status_created',
- text: 'created',
- label: 'created',
- group: 'created',
- has_details: true,
- details_path: '/gitlab-org/gitlab/pipelines/20333396#post-test',
- favicon:
- 'https://assets.gitlab-static.net/assets/ci_favicons/favicon_status_created-e997aa0b7db73165df8a9d6803932b18d7b7cc37d604d2d96e378fea2dba9c5f.ico',
- },
- path: '/gitlab-org/gitlab/pipelines/20333396#post-test',
- dropdown_path: '/gitlab-org/gitlab/pipelines/20333396/stage.json?stage=post-test',
- },
- {
- name: 'pages',
- title: 'pages: created',
- status: {
- icon: 'status_created',
- text: 'created',
- label: 'created',
- group: 'created',
- has_details: true,
- details_path: '/gitlab-org/gitlab/pipelines/20333396#pages',
- favicon:
- 'https://assets.gitlab-static.net/assets/ci_favicons/favicon_status_created-e997aa0b7db73165df8a9d6803932b18d7b7cc37d604d2d96e378fea2dba9c5f.ico',
- },
- path: '/gitlab-org/gitlab/pipelines/20333396#pages',
- dropdown_path: '/gitlab-org/gitlab/pipelines/20333396/stage.json?stage=pages',
- },
- {
- name: 'post-cleanup',
- title: 'post-cleanup: created',
- status: {
- icon: 'status_created',
- text: 'created',
- label: 'created',
- group: 'created',
- has_details: true,
- details_path: '/gitlab-org/gitlab/pipelines/20333396#post-cleanup',
- favicon:
- 'https://assets.gitlab-static.net/assets/ci_favicons/favicon_status_created-e997aa0b7db73165df8a9d6803932b18d7b7cc37d604d2d96e378fea2dba9c5f.ico',
- },
- path: '/gitlab-org/gitlab/pipelines/20333396#post-cleanup',
- dropdown_path: '/gitlab-org/gitlab/pipelines/20333396/stage.json?stage=post-cleanup',
- },
- ],
- artifacts: [
- {
- name: 'gitlab:assets:compile',
- expired: false,
- expire_at: '2018-05-12T14:22:54.730Z',
- path: '/gitlab-org/gitlab/-/jobs/62411438/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411438/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411438/artifacts/browse',
- },
- {
- name: 'rspec-mysql 12 28',
- expired: false,
- expire_at: '2018-05-12T14:22:45.136Z',
- path: '/gitlab-org/gitlab/-/jobs/62411397/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411397/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411397/artifacts/browse',
- },
- {
- name: 'rspec-mysql 6 28',
- expired: false,
- expire_at: '2018-05-12T14:22:41.523Z',
- path: '/gitlab-org/gitlab/-/jobs/62411391/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411391/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411391/artifacts/browse',
- },
- {
- name: 'rspec-pg geo 0 1',
- expired: false,
- expire_at: '2018-05-12T14:22:13.287Z',
- path: '/gitlab-org/gitlab/-/jobs/62411353/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411353/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411353/artifacts/browse',
- },
- {
- name: 'rspec-mysql 0 28',
- expired: false,
- expire_at: '2018-05-12T14:22:06.834Z',
- path: '/gitlab-org/gitlab/-/jobs/62411385/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411385/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411385/artifacts/browse',
- },
- {
- name: 'spinach-mysql 0 2',
- expired: false,
- expire_at: '2018-05-12T14:21:51.409Z',
- path: '/gitlab-org/gitlab/-/jobs/62411423/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411423/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411423/artifacts/browse',
- },
- {
- name: 'karma',
- expired: false,
- expire_at: '2018-05-12T14:21:20.934Z',
- path: '/gitlab-org/gitlab/-/jobs/62411440/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411440/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411440/artifacts/browse',
- },
- {
- name: 'spinach-pg 0 2',
- expired: false,
- expire_at: '2018-05-12T14:20:01.028Z',
- path: '/gitlab-org/gitlab/-/jobs/62411419/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411419/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411419/artifacts/browse',
- },
- {
- name: 'spinach-pg 1 2',
- expired: false,
- expire_at: '2018-05-12T14:19:04.336Z',
- path: '/gitlab-org/gitlab/-/jobs/62411421/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411421/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411421/artifacts/browse',
- },
- {
- name: 'sast',
- expired: null,
- expire_at: null,
- path: '/gitlab-org/gitlab/-/jobs/62411442/artifacts/download',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411442/artifacts/browse',
- },
- {
- name: 'code_quality',
- expired: false,
- expire_at: '2018-04-18T14:16:24.484Z',
- path: '/gitlab-org/gitlab/-/jobs/62411441/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411441/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411441/artifacts/browse',
- },
- {
- name: 'cache gems',
- expired: null,
- expire_at: null,
- path: '/gitlab-org/gitlab/-/jobs/62411447/artifacts/download',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411447/artifacts/browse',
- },
- {
- name: 'dependency_scanning',
- expired: null,
- expire_at: null,
- path: '/gitlab-org/gitlab/-/jobs/62411443/artifacts/download',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411443/artifacts/browse',
- },
- {
- name: 'compile-assets',
- expired: false,
- expire_at: '2018-04-18T14:12:07.638Z',
- path: '/gitlab-org/gitlab/-/jobs/62411334/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411334/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411334/artifacts/browse',
- },
- {
- name: 'setup-test-env',
- expired: false,
- expire_at: '2018-04-18T14:10:27.024Z',
- path: '/gitlab-org/gitlab/-/jobs/62411336/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411336/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411336/artifacts/browse',
- },
- {
- name: 'retrieve-tests-metadata',
- expired: false,
- expire_at: '2018-05-12T14:06:35.926Z',
- path: '/gitlab-org/gitlab/-/jobs/62411333/artifacts/download',
- keep_path: '/gitlab-org/gitlab/-/jobs/62411333/artifacts/keep',
- browse_path: '/gitlab-org/gitlab/-/jobs/62411333/artifacts/browse',
- },
- ],
- manual_actions: [
- {
- name: 'package-and-qa',
- path: '/gitlab-org/gitlab/-/jobs/62411330/play',
- playable: true,
- },
- {
- name: 'review-docs-deploy',
- path: '/gitlab-org/gitlab/-/jobs/62411332/play',
- playable: true,
- },
- ],
- },
- ref: {
- name: 'master',
- path: '/gitlab-org/gitlab/commits/master',
- tag: false,
- branch: true,
- },
- commit: {
- id: 'e6a2885c503825792cb8a84a8731295e361bd059',
- short_id: 'e6a2885c',
- title: "Merge branch 'ce-to-ee-2018-04-11' into 'master'",
- created_at: '2018-04-11T14:04:39.000Z',
- parent_ids: [
- '5d9b5118f6055f72cff1a82b88133609912f2c1d',
- '6fdc6ee76a8062fe41b1a33f7c503334a6ebdc02',
- ],
- message:
- "Merge branch 'ce-to-ee-2018-04-11' into 'master'\n\nCE upstream - 2018-04-11 12:26 UTC\n\nSee merge request gitlab-org/gitlab-ee!5326",
- author_name: 'Rémy Coutable',
- author_email: 'remy@rymai.me',
- authored_date: '2018-04-11T14:04:39.000Z',
- committer_name: 'Rémy Coutable',
- committer_email: 'remy@rymai.me',
- committed_date: '2018-04-11T14:04:39.000Z',
- author: {
- id: 128633,
- name: 'Rémy Coutable',
- username: 'rymai',
- state: 'active',
- avatar_url:
- 'https://secure.gravatar.com/avatar/263da227929cc0035cb0eba512bcf81a?s=80\u0026d=identicon',
- web_url: 'https://gitlab.com/rymai',
- path: '/rymai',
- },
- author_gravatar_url:
- 'https://secure.gravatar.com/avatar/263da227929cc0035cb0eba512bcf81a?s=80\u0026d=identicon',
- commit_url:
- 'https://gitlab.com/gitlab-org/gitlab/commit/e6a2885c503825792cb8a84a8731295e361bd059',
- commit_path: '/gitlab-org/gitlab/commit/e6a2885c503825792cb8a84a8731295e361bd059',
- },
- cancel_path: '/gitlab-org/gitlab/pipelines/20333396/cancel',
- triggered_by: null,
- triggered: [],
-};
-
-export const stageReply = {
- name: 'deploy',
- title: 'deploy: running',
- latest_statuses: [
- {
- id: 928,
- name: 'stop staging',
- started: false,
- build_path: '/twitter/flight/-/jobs/928',
- cancel_path: '/twitter/flight/-/jobs/928/cancel',
- playable: false,
- created_at: '2018-04-04T20:02:02.728Z',
- updated_at: '2018-04-04T20:02:02.766Z',
- status: {
- icon: 'status_pending',
- text: 'pending',
- label: 'pending',
- group: 'pending',
- tooltip: 'pending',
- has_details: true,
- details_path: '/twitter/flight/-/jobs/928',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_pending-db32e1faf94b9f89530ac519790920d1f18ea8f6af6cd2e0a26cd6840cacf101.ico',
- action: {
- icon: 'cancel',
- title: 'Cancel',
- path: '/twitter/flight/-/jobs/928/cancel',
- method: 'post',
- },
- },
- },
- {
- id: 926,
- name: 'production',
- started: false,
- build_path: '/twitter/flight/-/jobs/926',
- retry_path: '/twitter/flight/-/jobs/926/retry',
- play_path: '/twitter/flight/-/jobs/926/play',
- playable: true,
- created_at: '2018-04-04T20:00:57.202Z',
- updated_at: '2018-04-04T20:11:13.110Z',
- status: {
- icon: 'status_canceled',
- text: 'canceled',
- label: 'manual play action',
- group: 'canceled',
- tooltip: 'canceled',
- has_details: true,
- details_path: '/twitter/flight/-/jobs/926',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_canceled-5491840b9b6feafba0bc599cbd49ee9580321dc809683856cf1b0d51532b1af6.ico',
- action: {
- icon: 'play',
- title: 'Play',
- path: '/twitter/flight/-/jobs/926/play',
- method: 'post',
- },
- },
- },
- {
- id: 217,
- name: 'staging',
- started: '2018-03-07T08:41:46.234Z',
- build_path: '/twitter/flight/-/jobs/217',
- retry_path: '/twitter/flight/-/jobs/217/retry',
- playable: false,
- created_at: '2018-03-07T14:41:58.093Z',
- updated_at: '2018-03-07T14:41:58.093Z',
- status: {
- icon: 'status_success',
- text: 'passed',
- label: 'passed',
- group: 'success',
- tooltip: 'passed',
- has_details: true,
- details_path: '/twitter/flight/-/jobs/217',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico',
- action: {
- icon: 'retry',
- title: 'Retry',
- path: '/twitter/flight/-/jobs/217/retry',
- method: 'post',
- },
- },
- },
- ],
- status: {
- icon: 'status_running',
- text: 'running',
- label: 'running',
- group: 'running',
- tooltip: 'running',
- has_details: true,
- details_path: '/twitter/flight/pipelines/13#deploy',
- favicon:
- '/assets/ci_favicons/dev/favicon_status_running-c3ad2fc53ea6079c174e5b6c1351ff349e99ec3af5a5622fb77b0fe53ea279c1.ico',
- },
- path: '/twitter/flight/pipelines/13#deploy',
- dropdown_path: '/twitter/flight/pipelines/13/stage.json?stage=deploy',
-};
diff --git a/spec/javascripts/pipelines/pipelines_actions_spec.js b/spec/javascripts/pipelines/pipelines_actions_spec.js
deleted file mode 100644
index 91f7d2167cc..00000000000
--- a/spec/javascripts/pipelines/pipelines_actions_spec.js
+++ /dev/null
@@ -1,128 +0,0 @@
-import Vue from 'vue';
-import MockAdapter from 'axios-mock-adapter';
-import mountComponent from 'spec/helpers/vue_mount_component_helper';
-import { TEST_HOST } from 'spec/test_constants';
-import axios from '~/lib/utils/axios_utils';
-import PipelinesActions from '~/pipelines/components/pipelines_actions.vue';
-
-describe('Pipelines Actions dropdown', () => {
- const Component = Vue.extend(PipelinesActions);
- let vm;
- let mock;
-
- afterEach(() => {
- vm.$destroy();
- mock.restore();
- });
-
- beforeEach(() => {
- mock = new MockAdapter(axios);
- });
-
- describe('manual actions', () => {
- const actions = [
- {
- name: 'stop_review',
- path: `${TEST_HOST}/root/review-app/builds/1893/play`,
- },
- {
- name: 'foo',
- path: `${TEST_HOST}/disabled/pipeline/action`,
- playable: false,
- },
- ];
-
- beforeEach(() => {
- vm = mountComponent(Component, { actions });
- });
-
- it('renders a dropdown with the provided actions', () => {
- const dropdownItems = vm.$el.querySelectorAll('.dropdown-menu li');
-
- expect(dropdownItems.length).toEqual(actions.length);
- });
-
- it("renders a disabled action when it's not playable", () => {
- const dropdownItem = vm.$el.querySelector('.dropdown-menu li:last-child button');
-
- expect(dropdownItem).toBeDisabled();
- });
-
- describe('on click', () => {
- it('makes a request and toggles the loading state', done => {
- mock.onPost(actions.path).reply(200);
-
- vm.$el.querySelector('.dropdown-menu li button').click();
-
- expect(vm.isLoading).toEqual(true);
-
- setTimeout(() => {
- expect(vm.isLoading).toEqual(false);
-
- done();
- });
- });
- });
- });
-
- describe('scheduled jobs', () => {
- const scheduledJobAction = {
- name: 'scheduled action',
- path: `${TEST_HOST}/scheduled/job/action`,
- playable: true,
- scheduled_at: '2063-04-05T00:42:00Z',
- };
- const expiredJobAction = {
- name: 'expired action',
- path: `${TEST_HOST}/expired/job/action`,
- playable: true,
- scheduled_at: '2018-10-05T08:23:00Z',
- };
- const findDropdownItem = action => {
- const buttons = vm.$el.querySelectorAll('.dropdown-menu li button');
- return Array.prototype.find.call(buttons, element =>
- element.innerText.trim().startsWith(action.name),
- );
- };
-
- beforeEach(done => {
- spyOn(Date, 'now').and.callFake(() => new Date('2063-04-04T00:42:00Z').getTime());
- vm = mountComponent(Component, { actions: [scheduledJobAction, expiredJobAction] });
-
- Vue.nextTick()
- .then(done)
- .catch(done.fail);
- });
-
- it('makes post request after confirming', done => {
- mock.onPost(scheduledJobAction.path).reply(200);
- spyOn(window, 'confirm').and.callFake(() => true);
-
- findDropdownItem(scheduledJobAction).click();
-
- expect(window.confirm).toHaveBeenCalled();
- setTimeout(() => {
- expect(mock.history.post.length).toBe(1);
- done();
- });
- });
-
- it('does not make post request if confirmation is cancelled', () => {
- mock.onPost(scheduledJobAction.path).reply(200);
- spyOn(window, 'confirm').and.callFake(() => false);
-
- findDropdownItem(scheduledJobAction).click();
-
- expect(window.confirm).toHaveBeenCalled();
- expect(mock.history.post.length).toBe(0);
- });
-
- it('displays the remaining time in the dropdown', () => {
- expect(findDropdownItem(scheduledJobAction)).toContainText('24:00:00');
- });
-
- it('displays 00:00:00 for expired jobs in the dropdown', () => {
- expect(findDropdownItem(expiredJobAction)).toContainText('00:00:00');
- });
- });
-});
diff --git a/spec/javascripts/pipelines/stores/pipeline.json b/spec/javascripts/pipelines/stores/pipeline.json
deleted file mode 100644
index 7d5891d3d52..00000000000
--- a/spec/javascripts/pipelines/stores/pipeline.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "id": 37232567,
- "user": {
- "id": 113870,
- "name": "Phil Hughes",
- "username": "iamphill",
- "state": "active",
- "avatar_url": "https://secure.gravatar.com/avatar/533a51534470a11062df393543eab649?s=80\u0026d=identicon",
- "web_url": "https://gitlab.com/iamphill",
- "status_tooltip_html": null,
- "path": "/iamphill"
- },
- "active": false,
- "coverage": null,
- "source": "push",
- "created_at": "2018-11-20T10:22:52.617Z",
- "updated_at": "2018-11-20T10:24:09.511Z",
- "path": "/gitlab-org/gl-vue-cli/pipelines/37232567",
- "flags": {
- "latest": true,
- "stuck": false,
- "auto_devops": false,
- "yaml_errors": false,
- "retryable": false,
- "cancelable": false,
- "failure_reason": false
- },
- "details": {
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gl-vue-cli/pipelines/37232567",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "duration": 65,
- "finished_at": "2018-11-20T10:24:09.483Z",
- "stages": [
- {
- "name": "test",
- "title": "test: passed",
- "groups": [
- {
- "name": "eslint",
- "size": 1,
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gl-vue-cli/-/jobs/122845352",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/skipped-job_empty-8b877955fbf175e42ae65b6cb95346e15282c6fc5b682756c329af3a0055225e.svg",
- "size": "svg-430",
- "title": "This job does not have a trace."
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "retry",
- "title": "Retry",
- "path": "/gitlab-org/gl-vue-cli/-/jobs/122845352/retry",
- "method": "post",
- "button_title": "Retry this job"
- }
- },
- "jobs": [
- {
- "id": 122845352,
- "name": "eslint",
- "started": "2018-11-20T10:22:53.369Z",
- "archived": false,
- "build_path": "/gitlab-org/gl-vue-cli/-/jobs/122845352",
- "retry_path": "/gitlab-org/gl-vue-cli/-/jobs/122845352/retry",
- "playable": false,
- "scheduled": false,
- "created_at": "2018-11-20T10:22:52.630Z",
- "updated_at": "2018-11-20T10:23:58.948Z",
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gl-vue-cli/-/jobs/122845352",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/skipped-job_empty-8b877955fbf175e42ae65b6cb95346e15282c6fc5b682756c329af3a0055225e.svg",
- "size": "svg-430",
- "title": "This job does not have a trace."
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "retry",
- "title": "Retry",
- "path": "/gitlab-org/gl-vue-cli/-/jobs/122845352/retry",
- "method": "post",
- "button_title": "Retry this job"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gl-vue-cli/pipelines/37232567#test",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "path": "/gitlab-org/gl-vue-cli/pipelines/37232567#test",
- "dropdown_path": "/gitlab-org/gl-vue-cli/pipelines/37232567/stage.json?stage=test"
- }
- ],
- "artifacts": [],
- "manual_actions": [],
- "scheduled_actions": []
- },
- "ref": {
- "name": "master",
- "path": "/gitlab-org/gl-vue-cli/commits/master",
- "tag": false,
- "branch": true
- },
- "commit": {
- "id": "8f179601d481950bcb67032caeb33d1c24dde6bd",
- "short_id": "8f179601",
- "title": "Merge branch 'gl-cli-startt' into 'master'",
- "created_at": "2018-11-20T10:22:51.000Z",
- "parent_ids": [
- "781d78fcd3d6c17ccf208f0cf0ab47c3e5397118",
- "d227a0bb858c48eeee7393fcade1a33748f35183"
- ],
- "message": "Merge branch 'gl-cli-startt' into 'master'\n\nFirst iteration of the CLI\n\nCloses gitlab-foss#53657\n\nSee merge request gitlab-org/gl-vue-cli!2",
- "author_name": "Phil Hughes",
- "author_email": "me@iamphill.com",
- "authored_date": "2018-11-20T10:22:51.000Z",
- "committer_name": "Phil Hughes",
- "committer_email": "me@iamphill.com",
- "committed_date": "2018-11-20T10:22:51.000Z",
- "author": {
- "id": 113870,
- "name": "Phil Hughes",
- "username": "iamphill",
- "state": "active",
- "avatar_url": "https://secure.gravatar.com/avatar/533a51534470a11062df393543eab649?s=80\u0026d=identicon",
- "web_url": "https://gitlab.com/iamphill",
- "status_tooltip_html": null,
- "path": "/iamphill"
- },
- "author_gravatar_url": "https://secure.gravatar.com/avatar/533a51534470a11062df393543eab649?s=80\u0026d=identicon",
- "commit_url": "https://gitlab.com/gitlab-org/gl-vue-cli/commit/8f179601d481950bcb67032caeb33d1c24dde6bd",
- "commit_path": "/gitlab-org/gl-vue-cli/commit/8f179601d481950bcb67032caeb33d1c24dde6bd"
- },
- "triggered_by": null,
- "triggered": []
-}
diff --git a/spec/javascripts/pipelines/stores/pipeline_with_triggered.json b/spec/javascripts/pipelines/stores/pipeline_with_triggered.json
deleted file mode 100644
index 1fa15e45792..00000000000
--- a/spec/javascripts/pipelines/stores/pipeline_with_triggered.json
+++ /dev/null
@@ -1,381 +0,0 @@
-{
- "id": 23211253,
- "user": {
- "id": 3585,
- "name": "Achilleas Pipinellis",
- "username": "axil",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/3585/avatar.png",
- "web_url": "https://gitlab.com/axil",
- "status_tooltip_html": "\u003cspan class=\"user-status-emoji has-tooltip\" title=\"\" data-html=\"true\" data-placement=\"top\"\u003e\u003cgl-emoji title=\"trumpet\" data-name=\"trumpet\" data-unicode-version=\"6.0\"\u003e🎺\u003c/gl-emoji\u003e\u003c/span\u003e",
- "path": "/axil"
- },
- "active": false,
- "coverage": null,
- "source": "push",
- "created_at": "2018-06-05T11:31:30.452Z",
- "updated_at": "2018-10-31T16:35:31.305Z",
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253",
- "flags": {
- "latest": false,
- "stuck": false,
- "auto_devops": false,
- "yaml_errors": false,
- "retryable": false,
- "cancelable": false,
- "failure_reason": false
- },
- "details": {
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "duration": 53,
- "finished_at": "2018-10-31T16:35:31.299Z",
- "stages": [
- {
- "name": "prebuild",
- "title": "prebuild: passed",
- "groups": [
- {
- "name": "review-docs-deploy",
- "size": 1,
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "manual play action",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469032",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "play",
- "title": "Play",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "method": "post",
- "button_title": "Trigger this manual action"
- }
- },
- "jobs": [
- {
- "id": 72469032,
- "name": "review-docs-deploy",
- "started": "2018-10-31T16:34:58.778Z",
- "archived": false,
- "build_path": "/gitlab-org/gitlab-runner/-/jobs/72469032",
- "retry_path": "/gitlab-org/gitlab-runner/-/jobs/72469032/retry",
- "play_path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "playable": true,
- "scheduled": false,
- "created_at": "2018-06-05T11:31:30.495Z",
- "updated_at": "2018-10-31T16:35:31.251Z",
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "manual play action",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469032",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "play",
- "title": "Play",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "method": "post",
- "button_title": "Trigger this manual action"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253#prebuild",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253#prebuild",
- "dropdown_path": "/gitlab-org/gitlab-runner/pipelines/23211253/stage.json?stage=prebuild"
- },
- {
- "name": "test",
- "title": "test: passed",
- "groups": [
- {
- "name": "docs check links",
- "size": 1,
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469033",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/skipped-job_empty-8b877955fbf175e42ae65b6cb95346e15282c6fc5b682756c329af3a0055225e.svg",
- "size": "svg-430",
- "title": "This job does not have a trace."
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "retry",
- "title": "Retry",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469033/retry",
- "method": "post",
- "button_title": "Retry this job"
- }
- },
- "jobs": [
- {
- "id": 72469033,
- "name": "docs check links",
- "started": "2018-06-05T11:31:33.240Z",
- "archived": false,
- "build_path": "/gitlab-org/gitlab-runner/-/jobs/72469033",
- "retry_path": "/gitlab-org/gitlab-runner/-/jobs/72469033/retry",
- "playable": false,
- "scheduled": false,
- "created_at": "2018-06-05T11:31:30.627Z",
- "updated_at": "2018-06-05T11:31:54.363Z",
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469033",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/skipped-job_empty-8b877955fbf175e42ae65b6cb95346e15282c6fc5b682756c329af3a0055225e.svg",
- "size": "svg-430",
- "title": "This job does not have a trace."
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "retry",
- "title": "Retry",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469033/retry",
- "method": "post",
- "button_title": "Retry this job"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253#test",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253#test",
- "dropdown_path": "/gitlab-org/gitlab-runner/pipelines/23211253/stage.json?stage=test"
- },
- {
- "name": "cleanup",
- "title": "cleanup: skipped",
- "groups": [
- {
- "name": "review-docs-cleanup",
- "size": 1,
- "status": {
- "icon": "status_manual",
- "text": "manual",
- "label": "manual stop action",
- "group": "manual",
- "tooltip": "manual action",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469034",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_manual-829a0804612cef47d9efc1618dba38325483657c847dba0546c3b9f0295bb36c.png",
- "action": {
- "icon": "stop",
- "title": "Stop",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "method": "post",
- "button_title": "Stop this environment"
- }
- },
- "jobs": [
- {
- "id": 72469034,
- "name": "review-docs-cleanup",
- "started": null,
- "archived": false,
- "build_path": "/gitlab-org/gitlab-runner/-/jobs/72469034",
- "play_path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "playable": true,
- "scheduled": false,
- "created_at": "2018-06-05T11:31:30.760Z",
- "updated_at": "2018-06-05T11:31:56.037Z",
- "status": {
- "icon": "status_manual",
- "text": "manual",
- "label": "manual stop action",
- "group": "manual",
- "tooltip": "manual action",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469034",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_manual-829a0804612cef47d9efc1618dba38325483657c847dba0546c3b9f0295bb36c.png",
- "action": {
- "icon": "stop",
- "title": "Stop",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "method": "post",
- "button_title": "Stop this environment"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_skipped",
- "text": "skipped",
- "label": "skipped",
- "group": "skipped",
- "tooltip": "skipped",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253#cleanup",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_skipped-0b9c5e543588945e8c4ca57786bbf2d0c56631959c9f853300392d0315be829b.png"
- },
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253#cleanup",
- "dropdown_path": "/gitlab-org/gitlab-runner/pipelines/23211253/stage.json?stage=cleanup"
- }
- ],
- "artifacts": [],
- "manual_actions": [
- {
- "name": "review-docs-cleanup",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "playable": true,
- "scheduled": false
- },
- {
- "name": "review-docs-deploy",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "playable": true,
- "scheduled": false
- }
- ],
- "scheduled_actions": []
- },
- "ref": {
- "name": "docs/add-development-guide-to-readme",
- "path": "/gitlab-org/gitlab-runner/commits/docs/add-development-guide-to-readme",
- "tag": false,
- "branch": true
- },
- "commit": {
- "id": "8083eb0a920572214d0dccedd7981f05d535ad46",
- "short_id": "8083eb0a",
- "title": "Add link to development guide in readme",
- "created_at": "2018-06-05T11:30:48.000Z",
- "parent_ids": ["1d7cf79b5a1a2121b9474ac20d61c1b8f621289d"],
- "message": "Add link to development guide in readme\n\nCloses https://gitlab.com/gitlab-org/gitlab-runner/issues/3122\n",
- "author_name": "Achilleas Pipinellis",
- "author_email": "axil@gitlab.com",
- "authored_date": "2018-06-05T11:30:48.000Z",
- "committer_name": "Achilleas Pipinellis",
- "committer_email": "axil@gitlab.com",
- "committed_date": "2018-06-05T11:30:48.000Z",
- "author": {
- "id": 3585,
- "name": "Achilleas Pipinellis",
- "username": "axil",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/3585/avatar.png",
- "web_url": "https://gitlab.com/axil",
- "status_tooltip_html": null,
- "path": "/axil"
- },
- "author_gravatar_url": "https://secure.gravatar.com/avatar/1d37af00eec153a8333a4ce18e9aea41?s=80\u0026d=identicon",
- "commit_url": "https://gitlab.com/gitlab-org/gitlab-runner/commit/8083eb0a920572214d0dccedd7981f05d535ad46",
- "commit_path": "/gitlab-org/gitlab-runner/commit/8083eb0a920572214d0dccedd7981f05d535ad46"
- },
- "triggered_by": null,
- "triggered": [
- {
- "id": 34993051,
- "user": {
- "id": 376774,
- "name": "Alessio Caiazza",
- "username": "nolith",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/376774/avatar.png",
- "web_url": "https://gitlab.com/nolith",
- "status_tooltip_html": null,
- "path": "/nolith"
- },
- "active": false,
- "coverage": null,
- "source": "pipeline",
- "path": "/gitlab-com/gitlab-docs/pipelines/34993051",
- "details": {
- "status": {
- "icon": "status_failed",
- "text": "failed",
- "label": "failed",
- "group": "failed",
- "tooltip": "failed",
- "has_details": true,
- "details_path": "/gitlab-com/gitlab-docs/pipelines/34993051",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_failed-41304d7f7e3828808b0c26771f0309e55296819a9beea3ea9fbf6689d9857c12.png"
- }
- },
- "project": {
- "id": 1794617,
- "name": "GitLab Docs",
- "full_path": "/gitlab-com/gitlab-docs",
- "full_name": "GitLab.com / GitLab Docs"
- }
- }
- ]
-}
diff --git a/spec/javascripts/pipelines/stores/pipeline_with_triggered_by.json b/spec/javascripts/pipelines/stores/pipeline_with_triggered_by.json
deleted file mode 100644
index 7aeea6f3ebb..00000000000
--- a/spec/javascripts/pipelines/stores/pipeline_with_triggered_by.json
+++ /dev/null
@@ -1,379 +0,0 @@
-{
- "id": 23211253,
- "user": {
- "id": 3585,
- "name": "Achilleas Pipinellis",
- "username": "axil",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/3585/avatar.png",
- "web_url": "https://gitlab.com/axil",
- "status_tooltip_html": "\u003cspan class=\"user-status-emoji has-tooltip\" title=\"\" data-html=\"true\" data-placement=\"top\"\u003e\u003cgl-emoji title=\"trumpet\" data-name=\"trumpet\" data-unicode-version=\"6.0\"\u003e🎺\u003c/gl-emoji\u003e\u003c/span\u003e",
- "path": "/axil"
- },
- "active": false,
- "coverage": null,
- "source": "push",
- "created_at": "2018-06-05T11:31:30.452Z",
- "updated_at": "2018-10-31T16:35:31.305Z",
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253",
- "flags": {
- "latest": false,
- "stuck": false,
- "auto_devops": false,
- "yaml_errors": false,
- "retryable": false,
- "cancelable": false,
- "failure_reason": false
- },
- "details": {
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "duration": 53,
- "finished_at": "2018-10-31T16:35:31.299Z",
- "stages": [
- {
- "name": "prebuild",
- "title": "prebuild: passed",
- "groups": [
- {
- "name": "review-docs-deploy",
- "size": 1,
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "manual play action",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469032",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "play",
- "title": "Play",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "method": "post",
- "button_title": "Trigger this manual action"
- }
- },
- "jobs": [
- {
- "id": 72469032,
- "name": "review-docs-deploy",
- "started": "2018-10-31T16:34:58.778Z",
- "archived": false,
- "build_path": "/gitlab-org/gitlab-runner/-/jobs/72469032",
- "retry_path": "/gitlab-org/gitlab-runner/-/jobs/72469032/retry",
- "play_path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "playable": true,
- "scheduled": false,
- "created_at": "2018-06-05T11:31:30.495Z",
- "updated_at": "2018-10-31T16:35:31.251Z",
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "manual play action",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469032",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "play",
- "title": "Play",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "method": "post",
- "button_title": "Trigger this manual action"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253#prebuild",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253#prebuild",
- "dropdown_path": "/gitlab-org/gitlab-runner/pipelines/23211253/stage.json?stage=prebuild"
- },
- {
- "name": "test",
- "title": "test: passed",
- "groups": [
- {
- "name": "docs check links",
- "size": 1,
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469033",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/skipped-job_empty-8b877955fbf175e42ae65b6cb95346e15282c6fc5b682756c329af3a0055225e.svg",
- "size": "svg-430",
- "title": "This job does not have a trace."
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "retry",
- "title": "Retry",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469033/retry",
- "method": "post",
- "button_title": "Retry this job"
- }
- },
- "jobs": [
- {
- "id": 72469033,
- "name": "docs check links",
- "started": "2018-06-05T11:31:33.240Z",
- "archived": false,
- "build_path": "/gitlab-org/gitlab-runner/-/jobs/72469033",
- "retry_path": "/gitlab-org/gitlab-runner/-/jobs/72469033/retry",
- "playable": false,
- "scheduled": false,
- "created_at": "2018-06-05T11:31:30.627Z",
- "updated_at": "2018-06-05T11:31:54.363Z",
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469033",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/skipped-job_empty-8b877955fbf175e42ae65b6cb95346e15282c6fc5b682756c329af3a0055225e.svg",
- "size": "svg-430",
- "title": "This job does not have a trace."
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "retry",
- "title": "Retry",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469033/retry",
- "method": "post",
- "button_title": "Retry this job"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253#test",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253#test",
- "dropdown_path": "/gitlab-org/gitlab-runner/pipelines/23211253/stage.json?stage=test"
- },
- {
- "name": "cleanup",
- "title": "cleanup: skipped",
- "groups": [
- {
- "name": "review-docs-cleanup",
- "size": 1,
- "status": {
- "icon": "status_manual",
- "text": "manual",
- "label": "manual stop action",
- "group": "manual",
- "tooltip": "manual action",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469034",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_manual-829a0804612cef47d9efc1618dba38325483657c847dba0546c3b9f0295bb36c.png",
- "action": {
- "icon": "stop",
- "title": "Stop",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "method": "post",
- "button_title": "Stop this environment"
- }
- },
- "jobs": [
- {
- "id": 72469034,
- "name": "review-docs-cleanup",
- "started": null,
- "archived": false,
- "build_path": "/gitlab-org/gitlab-runner/-/jobs/72469034",
- "play_path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "playable": true,
- "scheduled": false,
- "created_at": "2018-06-05T11:31:30.760Z",
- "updated_at": "2018-06-05T11:31:56.037Z",
- "status": {
- "icon": "status_manual",
- "text": "manual",
- "label": "manual stop action",
- "group": "manual",
- "tooltip": "manual action",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469034",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_manual-829a0804612cef47d9efc1618dba38325483657c847dba0546c3b9f0295bb36c.png",
- "action": {
- "icon": "stop",
- "title": "Stop",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "method": "post",
- "button_title": "Stop this environment"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_skipped",
- "text": "skipped",
- "label": "skipped",
- "group": "skipped",
- "tooltip": "skipped",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253#cleanup",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_skipped-0b9c5e543588945e8c4ca57786bbf2d0c56631959c9f853300392d0315be829b.png"
- },
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253#cleanup",
- "dropdown_path": "/gitlab-org/gitlab-runner/pipelines/23211253/stage.json?stage=cleanup"
- }
- ],
- "artifacts": [],
- "manual_actions": [
- {
- "name": "review-docs-cleanup",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "playable": true,
- "scheduled": false
- },
- {
- "name": "review-docs-deploy",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "playable": true,
- "scheduled": false
- }
- ],
- "scheduled_actions": []
- },
- "ref": {
- "name": "docs/add-development-guide-to-readme",
- "path": "/gitlab-org/gitlab-runner/commits/docs/add-development-guide-to-readme",
- "tag": false,
- "branch": true
- },
- "commit": {
- "id": "8083eb0a920572214d0dccedd7981f05d535ad46",
- "short_id": "8083eb0a",
- "title": "Add link to development guide in readme",
- "created_at": "2018-06-05T11:30:48.000Z",
- "parent_ids": ["1d7cf79b5a1a2121b9474ac20d61c1b8f621289d"],
- "message": "Add link to development guide in readme\n\nCloses https://gitlab.com/gitlab-org/gitlab-runner/issues/3122\n",
- "author_name": "Achilleas Pipinellis",
- "author_email": "axil@gitlab.com",
- "authored_date": "2018-06-05T11:30:48.000Z",
- "committer_name": "Achilleas Pipinellis",
- "committer_email": "axil@gitlab.com",
- "committed_date": "2018-06-05T11:30:48.000Z",
- "author": {
- "id": 3585,
- "name": "Achilleas Pipinellis",
- "username": "axil",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/3585/avatar.png",
- "web_url": "https://gitlab.com/axil",
- "status_tooltip_html": null,
- "path": "/axil"
- },
- "author_gravatar_url": "https://secure.gravatar.com/avatar/1d37af00eec153a8333a4ce18e9aea41?s=80\u0026d=identicon",
- "commit_url": "https://gitlab.com/gitlab-org/gitlab-runner/commit/8083eb0a920572214d0dccedd7981f05d535ad46",
- "commit_path": "/gitlab-org/gitlab-runner/commit/8083eb0a920572214d0dccedd7981f05d535ad46"
- },
- "triggered_by": {
- "id": 34993051,
- "user": {
- "id": 376774,
- "name": "Alessio Caiazza",
- "username": "nolith",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/376774/avatar.png",
- "web_url": "https://gitlab.com/nolith",
- "status_tooltip_html": null,
- "path": "/nolith"
- },
- "active": false,
- "coverage": null,
- "source": "pipeline",
- "path": "/gitlab-com/gitlab-docs/pipelines/34993051",
- "details": {
- "status": {
- "icon": "status_failed",
- "text": "failed",
- "label": "failed",
- "group": "failed",
- "tooltip": "failed",
- "has_details": true,
- "details_path": "/gitlab-com/gitlab-docs/pipelines/34993051",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_failed-41304d7f7e3828808b0c26771f0309e55296819a9beea3ea9fbf6689d9857c12.png"
- }
- },
- "project": {
- "id": 1794617,
- "name": "GitLab Docs",
- "full_path": "/gitlab-com/gitlab-docs",
- "full_name": "GitLab.com / GitLab Docs"
- }
- },
- "triggered": []
-}
diff --git a/spec/javascripts/pipelines/stores/pipeline_with_triggered_triggered_by.json b/spec/javascripts/pipelines/stores/pipeline_with_triggered_triggered_by.json
deleted file mode 100644
index 2402cbae6c8..00000000000
--- a/spec/javascripts/pipelines/stores/pipeline_with_triggered_triggered_by.json
+++ /dev/null
@@ -1,452 +0,0 @@
-{
- "id": 23211253,
- "user": {
- "id": 3585,
- "name": "Achilleas Pipinellis",
- "username": "axil",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/3585/avatar.png",
- "web_url": "https://gitlab.com/axil",
- "status_tooltip_html": "\u003cspan class=\"user-status-emoji has-tooltip\" title=\"\" data-html=\"true\" data-placement=\"top\"\u003e\u003cgl-emoji title=\"trumpet\" data-name=\"trumpet\" data-unicode-version=\"6.0\"\u003e🎺\u003c/gl-emoji\u003e\u003c/span\u003e",
- "path": "/axil"
- },
- "active": false,
- "coverage": null,
- "source": "push",
- "created_at": "2018-06-05T11:31:30.452Z",
- "updated_at": "2018-10-31T16:35:31.305Z",
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253",
- "flags": {
- "latest": false,
- "stuck": false,
- "auto_devops": false,
- "yaml_errors": false,
- "retryable": false,
- "cancelable": false,
- "failure_reason": false
- },
- "details": {
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "duration": 53,
- "finished_at": "2018-10-31T16:35:31.299Z",
- "stages": [
- {
- "name": "prebuild",
- "title": "prebuild: passed",
- "groups": [
- {
- "name": "review-docs-deploy",
- "size": 1,
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "manual play action",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469032",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "play",
- "title": "Play",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "method": "post",
- "button_title": "Trigger this manual action"
- }
- },
- "jobs": [
- {
- "id": 72469032,
- "name": "review-docs-deploy",
- "started": "2018-10-31T16:34:58.778Z",
- "archived": false,
- "build_path": "/gitlab-org/gitlab-runner/-/jobs/72469032",
- "retry_path": "/gitlab-org/gitlab-runner/-/jobs/72469032/retry",
- "play_path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "playable": true,
- "scheduled": false,
- "created_at": "2018-06-05T11:31:30.495Z",
- "updated_at": "2018-10-31T16:35:31.251Z",
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "manual play action",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469032",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "play",
- "title": "Play",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "method": "post",
- "button_title": "Trigger this manual action"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253#prebuild",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253#prebuild",
- "dropdown_path": "/gitlab-org/gitlab-runner/pipelines/23211253/stage.json?stage=prebuild"
- },
- {
- "name": "test",
- "title": "test: passed",
- "groups": [
- {
- "name": "docs check links",
- "size": 1,
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469033",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/skipped-job_empty-8b877955fbf175e42ae65b6cb95346e15282c6fc5b682756c329af3a0055225e.svg",
- "size": "svg-430",
- "title": "This job does not have a trace."
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "retry",
- "title": "Retry",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469033/retry",
- "method": "post",
- "button_title": "Retry this job"
- }
- },
- "jobs": [
- {
- "id": 72469033,
- "name": "docs check links",
- "started": "2018-06-05T11:31:33.240Z",
- "archived": false,
- "build_path": "/gitlab-org/gitlab-runner/-/jobs/72469033",
- "retry_path": "/gitlab-org/gitlab-runner/-/jobs/72469033/retry",
- "playable": false,
- "scheduled": false,
- "created_at": "2018-06-05T11:31:30.627Z",
- "updated_at": "2018-06-05T11:31:54.363Z",
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469033",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/skipped-job_empty-8b877955fbf175e42ae65b6cb95346e15282c6fc5b682756c329af3a0055225e.svg",
- "size": "svg-430",
- "title": "This job does not have a trace."
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png",
- "action": {
- "icon": "retry",
- "title": "Retry",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469033/retry",
- "method": "post",
- "button_title": "Retry this job"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_success",
- "text": "passed",
- "label": "passed",
- "group": "success",
- "tooltip": "passed",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253#test",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_success-8451333011eee8ce9f2ab25dc487fe24a8758c694827a582f17f42b0a90446a2.png"
- },
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253#test",
- "dropdown_path": "/gitlab-org/gitlab-runner/pipelines/23211253/stage.json?stage=test"
- },
- {
- "name": "cleanup",
- "title": "cleanup: skipped",
- "groups": [
- {
- "name": "review-docs-cleanup",
- "size": 1,
- "status": {
- "icon": "status_manual",
- "text": "manual",
- "label": "manual stop action",
- "group": "manual",
- "tooltip": "manual action",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469034",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_manual-829a0804612cef47d9efc1618dba38325483657c847dba0546c3b9f0295bb36c.png",
- "action": {
- "icon": "stop",
- "title": "Stop",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "method": "post",
- "button_title": "Stop this environment"
- }
- },
- "jobs": [
- {
- "id": 72469034,
- "name": "review-docs-cleanup",
- "started": null,
- "archived": false,
- "build_path": "/gitlab-org/gitlab-runner/-/jobs/72469034",
- "play_path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "playable": true,
- "scheduled": false,
- "created_at": "2018-06-05T11:31:30.760Z",
- "updated_at": "2018-06-05T11:31:56.037Z",
- "status": {
- "icon": "status_manual",
- "text": "manual",
- "label": "manual stop action",
- "group": "manual",
- "tooltip": "manual action",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/-/jobs/72469034",
- "illustration": {
- "image": "https://assets.gitlab-static.net/assets/illustrations/manual_action-2b4ca0d1bcfd92aebf33d484e36cbf7a102d007f76b5a0cfea636033a629d601.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"
- },
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_manual-829a0804612cef47d9efc1618dba38325483657c847dba0546c3b9f0295bb36c.png",
- "action": {
- "icon": "stop",
- "title": "Stop",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "method": "post",
- "button_title": "Stop this environment"
- }
- }
- }
- ]
- }
- ],
- "status": {
- "icon": "status_skipped",
- "text": "skipped",
- "label": "skipped",
- "group": "skipped",
- "tooltip": "skipped",
- "has_details": true,
- "details_path": "/gitlab-org/gitlab-runner/pipelines/23211253#cleanup",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_skipped-0b9c5e543588945e8c4ca57786bbf2d0c56631959c9f853300392d0315be829b.png"
- },
- "path": "/gitlab-org/gitlab-runner/pipelines/23211253#cleanup",
- "dropdown_path": "/gitlab-org/gitlab-runner/pipelines/23211253/stage.json?stage=cleanup"
- }
- ],
- "artifacts": [],
- "manual_actions": [
- {
- "name": "review-docs-cleanup",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469034/play",
- "playable": true,
- "scheduled": false
- },
- {
- "name": "review-docs-deploy",
- "path": "/gitlab-org/gitlab-runner/-/jobs/72469032/play",
- "playable": true,
- "scheduled": false
- }
- ],
- "scheduled_actions": []
- },
- "ref": {
- "name": "docs/add-development-guide-to-readme",
- "path": "/gitlab-org/gitlab-runner/commits/docs/add-development-guide-to-readme",
- "tag": false,
- "branch": true
- },
- "commit": {
- "id": "8083eb0a920572214d0dccedd7981f05d535ad46",
- "short_id": "8083eb0a",
- "title": "Add link to development guide in readme",
- "created_at": "2018-06-05T11:30:48.000Z",
- "parent_ids": ["1d7cf79b5a1a2121b9474ac20d61c1b8f621289d"],
- "message": "Add link to development guide in readme\n\nCloses https://gitlab.com/gitlab-org/gitlab-runner/issues/3122\n",
- "author_name": "Achilleas Pipinellis",
- "author_email": "axil@gitlab.com",
- "authored_date": "2018-06-05T11:30:48.000Z",
- "committer_name": "Achilleas Pipinellis",
- "committer_email": "axil@gitlab.com",
- "committed_date": "2018-06-05T11:30:48.000Z",
- "author": {
- "id": 3585,
- "name": "Achilleas Pipinellis",
- "username": "axil",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/3585/avatar.png",
- "web_url": "https://gitlab.com/axil",
- "status_tooltip_html": null,
- "path": "/axil"
- },
- "author_gravatar_url": "https://secure.gravatar.com/avatar/1d37af00eec153a8333a4ce18e9aea41?s=80\u0026d=identicon",
- "commit_url": "https://gitlab.com/gitlab-org/gitlab-runner/commit/8083eb0a920572214d0dccedd7981f05d535ad46",
- "commit_path": "/gitlab-org/gitlab-runner/commit/8083eb0a920572214d0dccedd7981f05d535ad46"
- },
- "triggered_by": {
- "id": 34993051,
- "user": {
- "id": 376774,
- "name": "Alessio Caiazza",
- "username": "nolith",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/376774/avatar.png",
- "web_url": "https://gitlab.com/nolith",
- "status_tooltip_html": null,
- "path": "/nolith"
- },
- "active": false,
- "coverage": null,
- "source": "pipeline",
- "path": "/gitlab-com/gitlab-docs/pipelines/34993051",
- "details": {
- "status": {
- "icon": "status_failed",
- "text": "failed",
- "label": "failed",
- "group": "failed",
- "tooltip": "failed",
- "has_details": true,
- "details_path": "/gitlab-com/gitlab-docs/pipelines/34993051",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_failed-41304d7f7e3828808b0c26771f0309e55296819a9beea3ea9fbf6689d9857c12.png"
- }
- },
- "project": {
- "id": 1794617,
- "name": "GitLab Docs",
- "full_path": "/gitlab-com/gitlab-docs",
- "full_name": "GitLab.com / GitLab Docs"
- }
- },
- "triggered": [
- {
- "id": 349233051,
- "user": {
- "id": 376774,
- "name": "Alessio Caiazza",
- "username": "nolith",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/376774/avatar.png",
- "web_url": "https://gitlab.com/nolith",
- "status_tooltip_html": null,
- "path": "/nolith"
- },
- "active": false,
- "coverage": null,
- "source": "pipeline",
- "path": "/gitlab-com/gitlab-docs/pipelines/34993051",
- "details": {
- "status": {
- "icon": "status_failed",
- "text": "failed",
- "label": "failed",
- "group": "failed",
- "tooltip": "failed",
- "has_details": true,
- "details_path": "/gitlab-com/gitlab-docs/pipelines/349233051",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_failed-41304d7f7e3828808b0c26771f0309e55296819a9beea3ea9fbf6689d9857c12.png"
- }
- },
- "project": {
- "id": 1794617,
- "name": "GitLab Docs",
- "full_path": "/gitlab-com/gitlab-docs",
- "full_name": "GitLab.com / GitLab Docs"
- }
- },
- {
- "id": 34993023,
- "user": {
- "id": 376774,
- "name": "Alessio Caiazza",
- "username": "nolith",
- "state": "active",
- "avatar_url": "https://assets.gitlab-static.net/uploads/-/system/user/avatar/376774/avatar.png",
- "web_url": "https://gitlab.com/nolith",
- "status_tooltip_html": null,
- "path": "/nolith"
- },
- "active": false,
- "coverage": null,
- "source": "pipeline",
- "path": "/gitlab-com/gitlab-docs/pipelines/34993023",
- "details": {
- "status": {
- "icon": "status_failed",
- "text": "failed",
- "label": "failed",
- "group": "failed",
- "tooltip": "failed",
- "has_details": true,
- "details_path": "/gitlab-com/gitlab-docs/pipelines/34993051",
- "illustration": null,
- "favicon": "https://gitlab.com/assets/ci_favicons/favicon_status_failed-41304d7f7e3828808b0c26771f0309e55296819a9beea3ea9fbf6689d9857c12.png"
- }
- },
- "project": {
- "id": 1794617,
- "name": "GitLab Docs",
- "full_path": "/gitlab-com/gitlab-docs",
- "full_name": "GitLab.com / GitLab Docs"
- }
- }
- ]
-}
diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js
index de1d351677c..3cbaa47c832 100644
--- a/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js
+++ b/spec/javascripts/vue_mr_widget/components/mr_widget_header_spec.js
@@ -153,7 +153,7 @@ describe('MRWidgetHeader', () => {
beforeEach(() => {
vm = mountComponent(Component, {
- mr: Object.assign({}, mrDefaultOptions),
+ mr: { ...mrDefaultOptions },
});
});
@@ -176,7 +176,7 @@ describe('MRWidgetHeader', () => {
});
it('renders web ide button in disabled state with no href', () => {
- const mr = Object.assign({}, mrDefaultOptions, { canPushToSourceBranch: false });
+ const mr = { ...mrDefaultOptions, canPushToSourceBranch: false };
vm = mountComponent(Component, { mr });
const link = vm.$el.querySelector('.js-web-ide');
diff --git a/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js b/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js
index 5997c93105e..883c41085fa 100644
--- a/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js
+++ b/spec/javascripts/vue_mr_widget/components/mr_widget_pipeline_spec.js
@@ -122,6 +122,19 @@ describe('MRWidgetPipeline', () => {
);
});
+ it('should render CI error when no CI is provided and pipeline must succeed is turned on', () => {
+ vm = mountComponent(Component, {
+ pipeline: {},
+ hasCi: false,
+ pipelineMustSucceed: true,
+ troubleshootingDocsPath: 'help',
+ });
+
+ expect(vm.$el.querySelector('.media-body').textContent.trim()).toContain(
+ 'No pipeline has been run for this commit.',
+ );
+ });
+
describe('with a pipeline', () => {
beforeEach(() => {
vm = mountComponent(Component, {
diff --git a/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js b/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js
index d396f2d9271..4e4f99f09e7 100644
--- a/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js
+++ b/spec/javascripts/vue_mr_widget/components/states/mr_widget_ready_to_merge_spec.js
@@ -18,6 +18,7 @@ const createTestMr = customConfig => {
isPipelineFailed: false,
isPipelinePassing: false,
isMergeAllowed: true,
+ isApproved: true,
onlyAllowMergeIfPipelineSucceeds: false,
ffOnlyEnabled: false,
hasCI: false,
diff --git a/spec/javascripts/vue_shared/components/diff_viewer/diff_viewer_spec.js b/spec/javascripts/vue_shared/components/diff_viewer/diff_viewer_spec.js
index 6a83790093a..a8acecdd3fc 100644
--- a/spec/javascripts/vue_shared/components/diff_viewer/diff_viewer_spec.js
+++ b/spec/javascripts/vue_shared/components/diff_viewer/diff_viewer_spec.js
@@ -30,11 +30,7 @@ describe('DiffViewer', () => {
relative_url_root: '',
};
- createComponent(
- Object.assign({}, requiredProps, {
- projectPath: '',
- }),
- );
+ createComponent({ ...requiredProps, projectPath: '' });
setTimeout(() => {
expect(vm.$el.querySelector('.deleted img').getAttribute('src')).toBe(
@@ -50,13 +46,12 @@ describe('DiffViewer', () => {
});
it('renders fallback download diff display', done => {
- createComponent(
- Object.assign({}, requiredProps, {
- diffViewerMode: 'added',
- newPath: 'test.abc',
- oldPath: 'testold.abc',
- }),
- );
+ createComponent({
+ ...requiredProps,
+ diffViewerMode: 'added',
+ newPath: 'test.abc',
+ oldPath: 'testold.abc',
+ });
setTimeout(() => {
expect(vm.$el.querySelector('.deleted .file-info').textContent.trim()).toContain(
@@ -77,28 +72,26 @@ describe('DiffViewer', () => {
});
it('renders renamed component', () => {
- createComponent(
- Object.assign({}, requiredProps, {
- diffMode: 'renamed',
- diffViewerMode: 'renamed',
- newPath: 'test.abc',
- oldPath: 'testold.abc',
- }),
- );
+ createComponent({
+ ...requiredProps,
+ diffMode: 'renamed',
+ diffViewerMode: 'renamed',
+ newPath: 'test.abc',
+ oldPath: 'testold.abc',
+ });
expect(vm.$el.textContent).toContain('File moved');
});
it('renders mode changed component', () => {
- createComponent(
- Object.assign({}, requiredProps, {
- diffMode: 'mode_changed',
- newPath: 'test.abc',
- oldPath: 'testold.abc',
- aMode: '123',
- bMode: '321',
- }),
- );
+ createComponent({
+ ...requiredProps,
+ diffMode: 'mode_changed',
+ newPath: 'test.abc',
+ oldPath: 'testold.abc',
+ aMode: '123',
+ bMode: '321',
+ });
expect(vm.$el.textContent).toContain('File mode changed from 123 to 321');
});
diff --git a/spec/javascripts/vue_shared/components/markdown/toolbar_spec.js b/spec/javascripts/vue_shared/components/markdown/toolbar_spec.js
index 288eb40cc76..a87998aa72f 100644
--- a/spec/javascripts/vue_shared/components/markdown/toolbar_spec.js
+++ b/spec/javascripts/vue_shared/components/markdown/toolbar_spec.js
@@ -25,12 +25,7 @@ describe('toolbar', () => {
describe('user cannot attach file', () => {
beforeEach(() => {
- vm = mountComponent(
- Toolbar,
- Object.assign({}, props, {
- canAttachFile: false,
- }),
- );
+ vm = mountComponent(Toolbar, { ...props, canAttachFile: false });
});
it('should not render uploading-container', () => {
diff --git a/spec/javascripts/vue_shared/components/stacked_progress_bar_spec.js b/spec/javascripts/vue_shared/components/stacked_progress_bar_spec.js
index c062ee13231..3e044f47a3f 100644
--- a/spec/javascripts/vue_shared/components/stacked_progress_bar_spec.js
+++ b/spec/javascripts/vue_shared/components/stacked_progress_bar_spec.js
@@ -5,18 +5,15 @@ import stackedProgressBarComponent from '~/vue_shared/components/stacked_progres
const createComponent = config => {
const Component = Vue.extend(stackedProgressBarComponent);
- const defaultConfig = Object.assign(
- {},
- {
- successLabel: 'Synced',
- failureLabel: 'Failed',
- neutralLabel: 'Out of sync',
- successCount: 25,
- failureCount: 10,
- totalCount: 5000,
- },
- config,
- );
+ const defaultConfig = {
+ successLabel: 'Synced',
+ failureLabel: 'Failed',
+ neutralLabel: 'Out of sync',
+ successCount: 25,
+ failureCount: 10,
+ totalCount: 5000,
+ ...config,
+ };
return mountComponent(Component, defaultConfig);
};
diff --git a/spec/lib/feature_spec.rb b/spec/lib/feature_spec.rb
index 2890b8d4f3b..81fa2dc5cad 100644
--- a/spec/lib/feature_spec.rb
+++ b/spec/lib/feature_spec.rb
@@ -146,14 +146,6 @@ describe Feature do
expect(described_class.enabled?(:enabled_feature_flag)).to be_truthy
end
- context 'with USE_THREAD_MEMORY_CACHE defined' do
- before do
- stub_env('USE_THREAD_MEMORY_CACHE', '1')
- end
-
- it { expect(described_class.l1_cache_backend).to eq(Gitlab::ThreadMemoryCache.cache_backend) }
- end
-
it { expect(described_class.l1_cache_backend).to eq(Gitlab::ProcessMemoryCache.cache_backend) }
it { expect(described_class.l2_cache_backend).to eq(Rails.cache) }
diff --git a/spec/lib/gitlab/alert_management/alert_params_spec.rb b/spec/lib/gitlab/alert_management/alert_params_spec.rb
index 8c60b502417..601be961c2e 100644
--- a/spec/lib/gitlab/alert_management/alert_params_spec.rb
+++ b/spec/lib/gitlab/alert_management/alert_params_spec.rb
@@ -42,4 +42,43 @@ describe Gitlab::AlertManagement::AlertParams do
end
end
end
+
+ describe '.from_prometheus_alert' do
+ let(:payload) do
+ {
+ 'status' => 'firing',
+ 'labels' => {
+ 'alertname' => 'GitalyFileServerDown',
+ 'channel' => 'gitaly',
+ 'pager' => 'pagerduty',
+ 'severity' => 's1'
+ },
+ 'annotations' => {
+ 'description' => 'Alert description',
+ 'runbook' => 'troubleshooting/gitaly-down.md',
+ 'title' => 'Alert title'
+ },
+ 'startsAt' => '2020-04-27T10:10:22.265949279Z',
+ 'endsAt' => '0001-01-01T00:00:00Z',
+ 'generatorURL' => 'http://8d467bd4607a:9090/graph?g0.expr=vector%281%29&g0.tab=1',
+ 'fingerprint' => 'b6ac4d42057c43c1'
+ }
+ end
+ let(:parsed_alert) { Gitlab::Alerting::Alert.new(project: project, payload: payload) }
+
+ subject { described_class.from_prometheus_alert(project: project, parsed_alert: parsed_alert) }
+
+ it 'returns Alert-compatible params' do
+ is_expected.to eq(
+ project_id: project.id,
+ title: 'Alert title',
+ description: 'Alert description',
+ monitoring_tool: 'Prometheus',
+ payload: payload,
+ started_at: parsed_alert.starts_at,
+ ended_at: parsed_alert.ends_at,
+ fingerprint: parsed_alert.gitlab_fingerprint
+ )
+ end
+ end
end
diff --git a/spec/lib/gitlab/alerting/alert_spec.rb b/spec/lib/gitlab/alerting/alert_spec.rb
index 6d97f08af91..a0582515f3d 100644
--- a/spec/lib/gitlab/alerting/alert_spec.rb
+++ b/spec/lib/gitlab/alerting/alert_spec.rb
@@ -246,6 +246,30 @@ describe Gitlab::Alerting::Alert do
it_behaves_like 'parse payload', 'annotations/gitlab_incident_markdown'
end
+ describe '#gitlab_fingerprint' do
+ subject { alert.gitlab_fingerprint }
+
+ context 'when the alert is a GitLab managed alert' do
+ include_context 'gitlab alert'
+
+ it 'returns a fingerprint' do
+ plain_fingerprint = [alert.metric_id, alert.starts_at].join('/')
+
+ is_expected.to eq(Digest::SHA1.hexdigest(plain_fingerprint))
+ end
+ end
+
+ context 'when the alert is from self managed Prometheus' do
+ include_context 'full query'
+
+ it 'returns a fingerprint' do
+ plain_fingerprint = [alert.starts_at, alert.title, alert.full_query].join('/')
+
+ is_expected.to eq(Digest::SHA1.hexdigest(plain_fingerprint))
+ end
+ end
+ end
+
describe '#valid?' do
before do
payload.update(
diff --git a/spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb b/spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb
index 94ef094e72c..dcbf8d12f35 100644
--- a/spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb
+++ b/spec/lib/gitlab/background_migration/backfill_snippet_repositories_spec.rb
@@ -25,7 +25,7 @@ describe Gitlab::BackgroundMigration::BackfillSnippetRepositories, :migration, s
confirmed_at: 1.day.ago)
end
- let!(:admin) { users.create(id: 2, email: 'admin@example.com', projects_limit: 10, username: 'admin', name: 'Admin', admin: true, state: 'active') }
+ let(:migration_bot) { User.migration_bot }
let!(:snippet_with_repo) { snippets.create(id: 1, type: 'PersonalSnippet', author_id: user.id, file_name: file_name, content: content) }
let!(:snippet_with_empty_repo) { snippets.create(id: 2, type: 'PersonalSnippet', author_id: user.id, file_name: file_name, content: content) }
let!(:snippet_without_repo) { snippets.create(id: 3, type: 'PersonalSnippet', author_id: user.id, file_name: file_name, content: content) }
@@ -88,34 +88,34 @@ describe Gitlab::BackgroundMigration::BackfillSnippetRepositories, :migration, s
end
context 'when author cannot update snippet or use git' do
- shared_examples 'admin user commits files' do
+ shared_examples 'migration_bot user commits files' do
it do
subject
last_commit = raw_repository(snippet).commit
- expect(last_commit.author_name).to eq admin.name
- expect(last_commit.author_email).to eq admin.email
+ expect(last_commit.author_name).to eq migration_bot.name
+ expect(last_commit.author_email).to eq migration_bot.email
end
end
context 'when user is blocked' do
let(:user_state) { 'blocked' }
- it_behaves_like 'admin user commits files'
+ it_behaves_like 'migration_bot user commits files'
end
context 'when user is deactivated' do
let(:user_state) { 'deactivated' }
- it_behaves_like 'admin user commits files'
+ it_behaves_like 'migration_bot user commits files'
end
context 'when user is a ghost' do
let(:ghost) { true }
let(:user_type) { 'ghost' }
- it_behaves_like 'admin user commits files'
+ it_behaves_like 'migration_bot user commits files'
end
end
end
diff --git a/spec/lib/gitlab/ci/parsers/accessibility/pa11y_spec.rb b/spec/lib/gitlab/ci/parsers/accessibility/pa11y_spec.rb
index e0f1dc084d5..4d87e3b201a 100644
--- a/spec/lib/gitlab/ci/parsers/accessibility/pa11y_spec.rb
+++ b/spec/lib/gitlab/ci/parsers/accessibility/pa11y_spec.rb
@@ -88,6 +88,7 @@ describe Gitlab::Ci::Parsers::Accessibility::Pa11y do
expect(accessibility_report.passes_count).to eq(0)
expect(accessibility_report.scans_count).to eq(1)
expect(accessibility_report.urls['https://about.gitlab.com/']).to be_present
+ expect(accessibility_report.urls['https://about.gitlab.com/'].first[:code]).to be_present
end
end
end
diff --git a/spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb b/spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb
new file mode 100644
index 00000000000..31a330f46b1
--- /dev/null
+++ b/spec/lib/gitlab/ci/reports/accessibility_reports_comparer_spec.rb
@@ -0,0 +1,270 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe Gitlab::Ci::Reports::AccessibilityReportsComparer do
+ let(:comparer) { described_class.new(base_reports, head_reports) }
+ let(:base_reports) { Gitlab::Ci::Reports::AccessibilityReports.new }
+ let(:head_reports) { Gitlab::Ci::Reports::AccessibilityReports.new }
+ let(:url) { "https://gitlab.com" }
+ let(:single_error) do
+ [
+ {
+ "code" => "WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.A.NoContent",
+ "type" => "error",
+ "typeCode" => 1,
+ "message" => "Anchor element found with a valid href attribute, but no link content has been supplied.",
+ "context" => %{<a href="/" class="navbar-brand animated"><svg height="36" viewBox="0 0 1...</a>},
+ "selector" => "#main-nav > div:nth-child(1) > a",
+ "runner" => "htmlcs",
+ "runnerExtras" => {}
+ }
+ ]
+ end
+ let(:different_error) do
+ [
+ {
+ "code" => "WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail",
+ "type" => "error",
+ "typeCode" => 1,
+ "message" => "This element has insufficient contrast at this conformance level.",
+ "context" => %{<a href="/stages-devops-lifecycle/" class="main-nav-link">Product</a>},
+ "selector" => "#main-nav > div:nth-child(2) > ul > li:nth-child(1) > a",
+ "runner" => "htmlcs",
+ "runnerExtras" => {}
+ }
+ ]
+ end
+
+ describe '#status' do
+ subject { comparer.status }
+
+ context 'when head report has an error' do
+ before do
+ head_reports.add_url(url, single_error)
+ end
+
+ it 'returns status failed' do
+ expect(subject).to eq(described_class::STATUS_FAILED)
+ end
+ end
+
+ context 'when head reports does not have errors' do
+ before do
+ head_reports.add_url(url, [])
+ end
+
+ it 'returns status success' do
+ expect(subject).to eq(described_class::STATUS_SUCCESS)
+ end
+ end
+ end
+
+ describe '#errors_count' do
+ subject { comparer.errors_count }
+
+ context 'when head report has an error' do
+ before do
+ head_reports.add_url(url, single_error)
+ end
+
+ it 'returns the number of new errors' do
+ expect(subject).to eq(1)
+ end
+ end
+
+ context 'when head reports does not have an error' do
+ before do
+ head_reports.add_url(url, [])
+ end
+
+ it 'returns the number new errors' do
+ expect(subject).to eq(0)
+ end
+ end
+ end
+
+ describe '#resolved_count' do
+ subject { comparer.resolved_count }
+
+ context 'when base reports has an error and head has a different error' do
+ before do
+ base_reports.add_url(url, single_error)
+ head_reports.add_url(url, different_error)
+ end
+
+ it 'returns the resolved count' do
+ expect(subject).to eq(1)
+ end
+ end
+
+ context 'when base reports has errors head has no errors' do
+ before do
+ base_reports.add_url(url, single_error)
+ head_reports.add_url(url, [])
+ end
+
+ it 'returns the resolved count' do
+ expect(subject).to eq(1)
+ end
+ end
+
+ context 'when base reports has errors and head has the same error' do
+ before do
+ base_reports.add_url(url, single_error)
+ head_reports.add_url(url, single_error)
+ end
+
+ it 'returns zero' do
+ expect(subject).to eq(0)
+ end
+ end
+
+ context 'when base reports does not have errors and head has errors' do
+ before do
+ head_reports.add_url(url, single_error)
+ end
+
+ it 'returns the number of resolved errors' do
+ expect(subject).to eq(0)
+ end
+ end
+ end
+
+ describe '#total_count' do
+ subject { comparer.total_count }
+
+ context 'when base reports has an error' do
+ before do
+ base_reports.add_url(url, single_error)
+ end
+
+ it 'returns the error count' do
+ expect(subject).to eq(1)
+ end
+ end
+
+ context 'when head report has an error' do
+ before do
+ head_reports.add_url(url, single_error)
+ end
+
+ it 'returns the error count' do
+ expect(subject).to eq(1)
+ end
+ end
+
+ context 'when base report has errors and head report has errors' do
+ before do
+ base_reports.add_url(url, single_error)
+ head_reports.add_url(url, different_error)
+ end
+
+ it 'returns the error count' do
+ expect(subject).to eq(2)
+ end
+ end
+ end
+
+ describe '#existing_errors' do
+ subject { comparer.existing_errors }
+
+ context 'when base report has errors and head has a different error' do
+ before do
+ base_reports.add_url(url, single_error)
+ head_reports.add_url(url, different_error)
+ end
+
+ it 'returns the existing errors' do
+ expect(subject.size).to eq(1)
+ expect(subject.first["code"]).to eq("WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.A.NoContent")
+ end
+ end
+
+ context 'when base report does not have errors and head has errors' do
+ before do
+ base_reports.add_url(url, [])
+ head_reports.add_url(url, single_error)
+ end
+
+ it 'returns an empty array' do
+ expect(subject).to be_empty
+ end
+ end
+ end
+
+ describe '#new_errors' do
+ subject { comparer.new_errors }
+
+ context 'when base reports has errors and head has more errors' do
+ before do
+ base_reports.add_url(url, single_error)
+ head_reports.add_url(url, single_error + different_error)
+ end
+
+ it 'returns new errors between base and head reports' do
+ expect(subject.size).to eq(1)
+ expect(subject.first["code"]).to eq("WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail")
+ end
+ end
+
+ context 'when base reports has an error and head has no errors' do
+ before do
+ base_reports.add_url(url, single_error)
+ head_reports.add_url(url, [])
+ end
+
+ it 'returns an empty array' do
+ expect(subject).to be_empty
+ end
+ end
+
+ context 'when base reports does not have errors and head has errors' do
+ before do
+ head_reports.add_url(url, single_error)
+ end
+
+ it 'returns the new error' do
+ expect(subject.size).to eq(1)
+ expect(subject.first["code"]).to eq("WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.A.NoContent")
+ end
+ end
+ end
+
+ describe '#resolved_errors' do
+ subject { comparer.resolved_errors }
+
+ context 'when base report has errors and head has more errors' do
+ before do
+ base_reports.add_url(url, single_error)
+ head_reports.add_url(url, single_error + different_error)
+ end
+
+ it 'returns an empty array' do
+ expect(subject).to be_empty
+ end
+ end
+
+ context 'when base reports has errors and head has a different error' do
+ before do
+ base_reports.add_url(url, single_error)
+ head_reports.add_url(url, different_error)
+ end
+
+ it 'returns the resolved errors' do
+ expect(subject.size).to eq(1)
+ expect(subject.first["code"]).to eq("WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.A.NoContent")
+ end
+ end
+
+ context 'when base reports does not have errors and head has errors' do
+ before do
+ head_reports.add_url(url, single_error)
+ end
+
+ it 'returns an empty array' do
+ expect(subject).to be_empty
+ end
+ end
+ end
+end
diff --git a/spec/lib/gitlab/ci/reports/accessibility_reports_spec.rb b/spec/lib/gitlab/ci/reports/accessibility_reports_spec.rb
index e7771ed15a4..0dc13b464b1 100644
--- a/spec/lib/gitlab/ci/reports/accessibility_reports_spec.rb
+++ b/spec/lib/gitlab/ci/reports/accessibility_reports_spec.rb
@@ -12,7 +12,7 @@ describe Gitlab::Ci::Reports::AccessibilityReports do
"type": "error",
"typeCode": 1,
"message": "Anchor element found with a valid href attribute, but no link content has been supplied.",
- "context": "<a href=\"/customers/worldline\">\n<svg viewBox=\"0 0 509 89\" xmln...</a>",
+ "context": %{<a href="/customers/worldline"><svg viewBox="0 0 509 89" xmln...</a>},
"selector": "html > body > div:nth-child(9) > div:nth-child(2) > a:nth-child(17)",
"runner": "htmlcs",
"runnerExtras": {}
@@ -22,7 +22,7 @@ describe Gitlab::Ci::Reports::AccessibilityReports do
"type": "error",
"typeCode": 1,
"message": "Anchor element found with a valid href attribute, but no link content has been supplied.",
- "context": "<a href=\"/customers/equinix\">\n<svg xmlns=\"http://www.w3.org/...</a>",
+ "context": %{<a href="/customers/equinix"><svg xmlns="http://www.w3.org/...</a>},
"selector": "html > body > div:nth-child(9) > div:nth-child(2) > a:nth-child(18)",
"runner": "htmlcs",
"runnerExtras": {}
@@ -199,4 +199,34 @@ describe Gitlab::Ci::Reports::AccessibilityReports do
end
end
end
+
+ describe '#all_errors' do
+ subject { accessibility_report.all_errors }
+
+ context 'when data has errors' do
+ before do
+ accessibility_report.add_url(url, data)
+ end
+
+ it 'returns all errors' do
+ expect(subject.size).to eq(2)
+ end
+ end
+
+ context 'when data has no errors' do
+ before do
+ accessibility_report.add_url(url, [])
+ end
+
+ it 'returns an empty array' do
+ expect(subject).to eq([])
+ end
+ end
+
+ context 'when accessibility report has no data' do
+ it 'returns an empty array' do
+ expect(subject).to eq([])
+ end
+ end
+ end
end
diff --git a/spec/lib/gitlab/database/migration_helpers_spec.rb b/spec/lib/gitlab/database/migration_helpers_spec.rb
index 46181038445..73b9dcc5bf9 100644
--- a/spec/lib/gitlab/database/migration_helpers_spec.rb
+++ b/spec/lib/gitlab/database/migration_helpers_spec.rb
@@ -217,9 +217,10 @@ describe Gitlab::Database::MigrationHelpers do
it 'appends ON DELETE SET NULL statement' do
expect(model).to receive(:with_lock_retries).and_call_original
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(/VALIDATE CONSTRAINT/)
- expect(model).to receive(:execute).with(/RESET ALL/)
+ expect(model).to receive(:execute).ordered.with(/RESET ALL/)
expect(model).to receive(:execute).with(/ON DELETE SET NULL/)
@@ -233,9 +234,10 @@ describe Gitlab::Database::MigrationHelpers do
it 'appends ON DELETE CASCADE statement' do
expect(model).to receive(:with_lock_retries).and_call_original
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(/VALIDATE CONSTRAINT/)
- expect(model).to receive(:execute).with(/RESET ALL/)
+ expect(model).to receive(:execute).ordered.with(/RESET ALL/)
expect(model).to receive(:execute).with(/ON DELETE CASCADE/)
@@ -249,9 +251,10 @@ describe Gitlab::Database::MigrationHelpers do
it 'appends no ON DELETE statement' do
expect(model).to receive(:with_lock_retries).and_call_original
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(/VALIDATE CONSTRAINT/)
- expect(model).to receive(:execute).with(/RESET ALL/)
+ expect(model).to receive(:execute).ordered.with(/RESET ALL/)
expect(model).not_to receive(:execute).with(/ON DELETE/)
@@ -266,10 +269,11 @@ describe Gitlab::Database::MigrationHelpers do
it 'creates a concurrent foreign key and validates it' do
expect(model).to receive(:with_lock_retries).and_call_original
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(/NOT VALID/)
expect(model).to receive(:execute).ordered.with(/VALIDATE CONSTRAINT/)
- expect(model).to receive(:execute).with(/RESET ALL/)
+ expect(model).to receive(:execute).ordered.with(/RESET ALL/)
model.add_concurrent_foreign_key(:projects, :users, column: :user_id)
end
@@ -293,10 +297,11 @@ describe Gitlab::Database::MigrationHelpers do
it 'creates a new foreign key' do
expect(model).to receive(:with_lock_retries).and_call_original
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(/NOT VALID/)
expect(model).to receive(:execute).ordered.with(/VALIDATE CONSTRAINT.+foo/)
- expect(model).to receive(:execute).with(/RESET ALL/)
+ expect(model).to receive(:execute).ordered.with(/RESET ALL/)
model.add_concurrent_foreign_key(:projects, :users, column: :user_id, name: :foo)
end
@@ -321,10 +326,11 @@ describe Gitlab::Database::MigrationHelpers do
it 'creates a new foreign key' do
expect(model).to receive(:with_lock_retries).and_call_original
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(/NOT VALID/)
expect(model).to receive(:execute).ordered.with(/VALIDATE CONSTRAINT.+bar/)
- expect(model).to receive(:execute).with(/RESET ALL/)
+ expect(model).to receive(:execute).ordered.with(/RESET ALL/)
model.add_concurrent_foreign_key(:projects, :users, column: :user_id, name: :bar)
end
@@ -361,6 +367,7 @@ describe Gitlab::Database::MigrationHelpers do
aggregate_failures do
expect(model).not_to receive(:concurrent_foreign_key_name)
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(/ALTER TABLE projects VALIDATE CONSTRAINT/)
expect(model).to receive(:execute).ordered.with(/RESET ALL/)
@@ -377,6 +384,7 @@ describe Gitlab::Database::MigrationHelpers do
aggregate_failures do
expect(model).to receive(:concurrent_foreign_key_name)
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(/ALTER TABLE projects VALIDATE CONSTRAINT/)
expect(model).to receive(:execute).ordered.with(/RESET ALL/)
@@ -527,6 +535,26 @@ describe Gitlab::Database::MigrationHelpers do
end
end
end
+
+ # This spec runs without an enclosing transaction (:delete truncation method for db_cleaner)
+ context 'when the statement_timeout is already disabled', :delete do
+ before do
+ ActiveRecord::Base.connection.execute('SET statement_timeout TO 0')
+ end
+
+ after do
+ # Use ActiveRecord::Base.connection instead of model.execute
+ # so that this call is not counted below
+ ActiveRecord::Base.connection.execute('RESET ALL')
+ end
+
+ it 'yields control without disabling the timeout or resetting' do
+ expect(model).not_to receive(:execute).with('SET statement_timeout TO 0')
+ expect(model).not_to receive(:execute).with('RESET ALL')
+
+ expect { |block| model.disable_statement_timeout(&block) }.to yield_control
+ end
+ end
end
describe '#true_value' do
@@ -619,7 +647,7 @@ describe Gitlab::Database::MigrationHelpers do
expect(model).to receive(:update_column_in_batches)
.with(:projects, :foo, 10)
- expect(model).not_to receive(:change_column_null)
+ expect(model).not_to receive(:add_not_null_constraint)
model.add_column_with_default(:projects, :foo, :integer,
default: 10,
@@ -630,8 +658,8 @@ describe Gitlab::Database::MigrationHelpers do
expect(model).to receive(:update_column_in_batches)
.with(:projects, :foo, 10)
- expect(model).to receive(:change_column_null)
- .with(:projects, :foo, false)
+ expect(model).to receive(:add_not_null_constraint)
+ .with(:projects, :foo)
model.add_column_with_default(:projects, :foo, :integer, default: 10)
end
@@ -650,16 +678,16 @@ describe Gitlab::Database::MigrationHelpers do
end
it 'removes the added column whenever changing a column NULL constraint fails' do
- expect(model).to receive(:change_column_null)
- .with(:projects, :foo, false)
- .and_raise(RuntimeError)
+ expect(model).to receive(:add_not_null_constraint)
+ .with(:projects, :foo)
+ .and_raise(ActiveRecord::ActiveRecordError)
expect(model).to receive(:remove_column)
.with(:projects, :foo)
expect do
model.add_column_with_default(:projects, :foo, :integer, default: 10)
- end.to raise_error(RuntimeError)
+ end.to raise_error(ActiveRecord::ActiveRecordError)
end
end
@@ -671,7 +699,7 @@ describe Gitlab::Database::MigrationHelpers do
allow(model).to receive(:transaction).and_yield
allow(model).to receive(:column_for).with(:user_details, :foo).and_return(column)
allow(model).to receive(:update_column_in_batches).with(:user_details, :foo, 10, batch_column_name: :user_id)
- allow(model).to receive(:change_column_null).with(:user_details, :foo, false)
+ allow(model).to receive(:add_not_null_constraint).with(:user_details, :foo)
allow(model).to receive(:change_column_default).with(:user_details, :foo, 10)
expect(model).to receive(:add_column)
@@ -693,7 +721,7 @@ describe Gitlab::Database::MigrationHelpers do
allow(model).to receive(:transaction).and_yield
allow(model).to receive(:column_for).with(:projects, :foo).and_return(column)
allow(model).to receive(:update_column_in_batches).with(:projects, :foo, 10)
- allow(model).to receive(:change_column_null).with(:projects, :foo, false)
+ allow(model).to receive(:add_not_null_constraint).with(:projects, :foo)
allow(model).to receive(:change_column_default).with(:projects, :foo, 10)
expect(model).to receive(:add_column)
@@ -782,7 +810,7 @@ describe Gitlab::Database::MigrationHelpers do
expect(model).to receive(:update_column_in_batches)
- expect(model).to receive(:change_column_null).with(:users, :new, false)
+ expect(model).to receive(:add_not_null_constraint).with(:users, :new)
expect(model).to receive(:copy_indexes).with(:users, :old, :new)
expect(model).to receive(:copy_foreign_keys).with(:users, :old, :new)
@@ -915,7 +943,7 @@ describe Gitlab::Database::MigrationHelpers do
expect(model).to receive(:update_column_in_batches)
- expect(model).to receive(:change_column_null).with(:users, :old, false)
+ expect(model).to receive(:add_not_null_constraint).with(:users, :old)
expect(model).to receive(:copy_indexes).with(:users, :new, :old)
expect(model).to receive(:copy_foreign_keys).with(:users, :new, :old)
@@ -2225,6 +2253,7 @@ describe Gitlab::Database::MigrationHelpers do
.and_return(false).exactly(1)
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:with_lock_retries).and_call_original
expect(model).to receive(:execute).with(/ADD CONSTRAINT check_name_not_null/)
@@ -2268,6 +2297,7 @@ describe Gitlab::Database::MigrationHelpers do
.and_return(false).exactly(1)
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:with_lock_retries).and_call_original
expect(model).to receive(:execute).with(/ADD CONSTRAINT check_name_not_null/)
@@ -2309,6 +2339,7 @@ describe Gitlab::Database::MigrationHelpers do
expect(model).to receive(:check_constraint_exists?).and_return(true)
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(validate_sql)
expect(model).to receive(:execute).ordered.with(/RESET ALL/)
@@ -2448,4 +2479,135 @@ describe Gitlab::Database::MigrationHelpers do
end
end
end
+
+ describe '#add_not_null_constraint' do
+ context 'when it is called with the default options' do
+ it 'calls add_check_constraint with an infered constraint name and validate: true' do
+ constraint_name = model.check_constraint_name(:test_table,
+ :name,
+ 'not_null')
+ check = "name IS NOT NULL"
+
+ expect(model).to receive(:column_is_nullable?).and_return(true)
+ expect(model).to receive(:check_constraint_name).and_call_original
+ expect(model).to receive(:add_check_constraint)
+ .with(:test_table, check, constraint_name, validate: true)
+
+ model.add_not_null_constraint(:test_table, :name)
+ end
+ end
+
+ context 'when all parameters are provided' do
+ it 'calls add_check_constraint with the correct parameters' do
+ constraint_name = 'check_name_not_null'
+ check = "name IS NOT NULL"
+
+ expect(model).to receive(:column_is_nullable?).and_return(true)
+ expect(model).not_to receive(:check_constraint_name)
+ expect(model).to receive(:add_check_constraint)
+ .with(:test_table, check, constraint_name, validate: false)
+
+ model.add_not_null_constraint(
+ :test_table,
+ :name,
+ constraint_name: constraint_name,
+ validate: false
+ )
+ end
+ end
+
+ context 'when the column is defined as NOT NULL' do
+ it 'does not add a check constraint' do
+ expect(model).to receive(:column_is_nullable?).and_return(false)
+ expect(model).not_to receive(:check_constraint_name)
+ expect(model).not_to receive(:add_check_constraint)
+
+ model.add_not_null_constraint(:test_table, :name)
+ end
+ end
+ end
+
+ describe '#validate_not_null_constraint' do
+ context 'when constraint_name is not provided' do
+ it 'calls validate_check_constraint with an infered constraint name' do
+ constraint_name = model.check_constraint_name(:test_table,
+ :name,
+ 'not_null')
+
+ expect(model).to receive(:check_constraint_name).and_call_original
+ expect(model).to receive(:validate_check_constraint)
+ .with(:test_table, constraint_name)
+
+ model.validate_not_null_constraint(:test_table, :name)
+ end
+ end
+
+ context 'when constraint_name is provided' do
+ it 'calls validate_check_constraint with the correct parameters' do
+ constraint_name = 'check_name_not_null'
+
+ expect(model).not_to receive(:check_constraint_name)
+ expect(model).to receive(:validate_check_constraint)
+ .with(:test_table, constraint_name)
+
+ model.validate_not_null_constraint(:test_table, :name, constraint_name: constraint_name)
+ end
+ end
+ end
+
+ describe '#remove_not_null_constraint' do
+ context 'when constraint_name is not provided' do
+ it 'calls remove_check_constraint with an infered constraint name' do
+ constraint_name = model.check_constraint_name(:test_table,
+ :name,
+ 'not_null')
+
+ expect(model).to receive(:check_constraint_name).and_call_original
+ expect(model).to receive(:remove_check_constraint)
+ .with(:test_table, constraint_name)
+
+ model.remove_not_null_constraint(:test_table, :name)
+ end
+ end
+
+ context 'when constraint_name is provided' do
+ it 'calls remove_check_constraint with the correct parameters' do
+ constraint_name = 'check_name_not_null'
+
+ expect(model).not_to receive(:check_constraint_name)
+ expect(model).to receive(:remove_check_constraint)
+ .with(:test_table, constraint_name)
+
+ model.remove_not_null_constraint(:test_table, :name, constraint_name: constraint_name)
+ end
+ end
+ end
+
+ describe '#check_not_null_constraint_exists?' do
+ context 'when constraint_name is not provided' do
+ it 'calls check_constraint_exists? with an infered constraint name' do
+ constraint_name = model.check_constraint_name(:test_table,
+ :name,
+ 'not_null')
+
+ expect(model).to receive(:check_constraint_name).and_call_original
+ expect(model).to receive(:check_constraint_exists?)
+ .with(:test_table, constraint_name)
+
+ model.check_not_null_constraint_exists?(:test_table, :name)
+ end
+ end
+
+ context 'when constraint_name is provided' do
+ it 'calls check_constraint_exists? with the correct parameters' do
+ constraint_name = 'check_name_not_null'
+
+ expect(model).not_to receive(:check_constraint_name)
+ expect(model).to receive(:check_constraint_exists?)
+ .with(:test_table, constraint_name)
+
+ model.check_not_null_constraint_exists?(:test_table, :name, constraint_name: constraint_name)
+ end
+ end
+ end
end
diff --git a/spec/lib/gitlab/email/handler_spec.rb b/spec/lib/gitlab/email/handler_spec.rb
index 5014e4c22ce..6dbf069f07c 100644
--- a/spec/lib/gitlab/email/handler_spec.rb
+++ b/spec/lib/gitlab/email/handler_spec.rb
@@ -6,6 +6,18 @@ describe Gitlab::Email::Handler do
let(:email) { Mail.new { body 'email' } }
describe '.for' do
+ context 'key matches the reply_key of a notification' do
+ it 'picks note handler' do
+ expect(described_class.for(email, '1234567890abcdef1234567890abcdef')).to be_an_instance_of(Gitlab::Email::Handler::CreateNoteHandler)
+ end
+ end
+
+ context 'key matches the reply_key of a notification, along with an unsubscribe suffix' do
+ it 'picks unsubscribe handler' do
+ expect(described_class.for(email, '1234567890abcdef1234567890abcdef-unsubscribe')).to be_an_instance_of(Gitlab::Email::Handler::UnsubscribeHandler)
+ end
+ end
+
it 'picks issue handler if there is no merge request prefix' do
expect(described_class.for(email, 'project+key')).to be_an_instance_of(Gitlab::Email::Handler::CreateIssueHandler)
end
diff --git a/spec/lib/gitlab/git/tag_spec.rb b/spec/lib/gitlab/git/tag_spec.rb
index 87db3f588ad..6d3b239c38f 100644
--- a/spec/lib/gitlab/git/tag_spec.rb
+++ b/spec/lib/gitlab/git/tag_spec.rb
@@ -13,6 +13,13 @@ describe Gitlab::Git::Tag, :seed_helper do
it { expect(tag.target).to eq("f4e6814c3e4e7a0de82a9e7cd20c626cc963a2f8") }
it { expect(tag.dereferenced_target.sha).to eq("6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9") }
it { expect(tag.message).to eq("Release") }
+ it { expect(tag.has_signature?).to be_falsey }
+ it { expect(tag.signature_type).to eq(:NONE) }
+ it { expect(tag.signature).to be_nil }
+ it { expect(tag.tagger.name).to eq("Dmitriy Zaporozhets") }
+ it { expect(tag.tagger.email).to eq("dmitriy.zaporozhets@gmail.com") }
+ it { expect(tag.tagger.date).to eq(Google::Protobuf::Timestamp.new(seconds: 1393491299)) }
+ it { expect(tag.tagger.timezone).to eq("+0200") }
end
describe 'last tag' do
@@ -22,6 +29,29 @@ describe Gitlab::Git::Tag, :seed_helper do
it { expect(tag.target).to eq("2ac1f24e253e08135507d0830508febaaccf02ee") }
it { expect(tag.dereferenced_target.sha).to eq("fa1b1e6c004a68b7d8763b86455da9e6b23e36d6") }
it { expect(tag.message).to eq("Version 1.2.1") }
+ it { expect(tag.has_signature?).to be_falsey }
+ it { expect(tag.signature_type).to eq(:NONE) }
+ it { expect(tag.signature).to be_nil }
+ it { expect(tag.tagger.name).to eq("Douwe Maan") }
+ it { expect(tag.tagger.email).to eq("douwe@selenight.nl") }
+ it { expect(tag.tagger.date).to eq(Google::Protobuf::Timestamp.new(seconds: 1427789449)) }
+ it { expect(tag.tagger.timezone).to eq("+0200") }
+ end
+
+ describe 'signed tag' do
+ let(:project) { create(:project, :repository) }
+ let(:tag) { project.repository.find_tag('v1.1.1') }
+
+ it { expect(tag.target).to eq("8f03acbcd11c53d9c9468078f32a2622005a4841") }
+ it { expect(tag.dereferenced_target.sha).to eq("189a6c924013fc3fe40d6f1ec1dc20214183bc97") }
+ it { expect(tag.message).to eq("x509 signed tag" + "\n" + X509Helpers::User1.signed_tag_signature.chomp) }
+ it { expect(tag.has_signature?).to be_truthy }
+ it { expect(tag.signature_type).to eq(:X509) }
+ it { expect(tag.signature).not_to be_nil }
+ it { expect(tag.tagger.name).to eq("Roger Meier") }
+ it { expect(tag.tagger.email).to eq("r.meier@siemens.com") }
+ it { expect(tag.tagger.date).to eq(Google::Protobuf::Timestamp.new(seconds: 1574261780)) }
+ it { expect(tag.tagger.timezone).to eq("+0100") }
end
it { expect(repository.tags.size).to eq(SeedRepo::Repo::TAGS.size) }
diff --git a/spec/lib/gitlab/git_access_snippet_spec.rb b/spec/lib/gitlab/git_access_snippet_spec.rb
index 1c369d57e06..fb2a7d16665 100644
--- a/spec/lib/gitlab/git_access_snippet_spec.rb
+++ b/spec/lib/gitlab/git_access_snippet_spec.rb
@@ -11,8 +11,9 @@ describe Gitlab::GitAccessSnippet do
let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, :public) }
let_it_be(:snippet) { create(:project_snippet, :public, :repository, project: project) }
- let(:repository) { snippet.repository }
+ let_it_be(:migration_bot) { User.migration_bot }
+ let(:repository) { snippet.repository }
let(:actor) { user }
let(:protocol) { 'ssh' }
let(:changes) { Gitlab::GitAccess::ANY }
@@ -27,10 +28,22 @@ describe Gitlab::GitAccessSnippet do
let(:actor) { build(:deploy_key) }
it 'does not allow push and pull access' do
+ expect { push_access_check }.to raise_forbidden(described_class::ERROR_MESSAGES[:authentication_mechanism])
expect { pull_access_check }.to raise_forbidden(described_class::ERROR_MESSAGES[:authentication_mechanism])
end
end
+ shared_examples 'actor is migration bot' do
+ context 'when user is the migration bot' do
+ let(:user) { migration_bot }
+
+ it 'can perform git operations' do
+ expect { push_access_check }.not_to raise_error
+ expect { pull_access_check }.not_to raise_error
+ end
+ end
+ end
+
describe '#check_snippet_accessibility!' do
context 'when the snippet exists' do
it 'allows access' do
@@ -77,6 +90,12 @@ describe Gitlab::GitAccessSnippet do
expect { push_access_check }.not_to raise_error
expect { pull_access_check }.not_to raise_error
end
+
+ it_behaves_like 'actor is migration bot' do
+ before do
+ expect(migration_bot.required_terms_not_accepted?).to be_truthy
+ end
+ end
end
context 'project snippet accessibility', :aggregate_failures do
@@ -107,6 +126,7 @@ describe Gitlab::GitAccessSnippet do
context 'when project is public' do
it_behaves_like 'checks accessibility'
+ it_behaves_like 'actor is migration bot'
end
context 'when project is public but snippet feature is private' do
@@ -117,6 +137,7 @@ describe Gitlab::GitAccessSnippet do
end
it_behaves_like 'checks accessibility'
+ it_behaves_like 'actor is migration bot'
end
context 'when project is not accessible' do
@@ -127,11 +148,58 @@ describe Gitlab::GitAccessSnippet do
let(:membership) { membership }
it 'respects accessibility' do
- expect { push_access_check }.to raise_error(described_class::NotFoundError)
- expect { pull_access_check }.to raise_error(described_class::NotFoundError)
+ expect { push_access_check }.to raise_snippet_not_found
+ expect { pull_access_check }.to raise_snippet_not_found
+ end
+ end
+ end
+
+ it_behaves_like 'actor is migration bot'
+ end
+
+ context 'when project is archived' do
+ let(:project) { create(:project, :public, :archived) }
+
+ [:anonymous, :non_member].each do |membership|
+ context membership.to_s do
+ let(:membership) { membership }
+
+ it 'cannot perform git operations' do
+ expect { push_access_check }.to raise_error(described_class::ForbiddenError)
+ expect { pull_access_check }.to raise_error(described_class::ForbiddenError)
+ end
+ end
+ end
+
+ [:guest, :reporter, :maintainer, :author, :admin].each do |membership|
+ context membership.to_s do
+ let(:membership) { membership }
+
+ it 'cannot perform git pushes' do
+ expect { push_access_check }.to raise_error(described_class::ForbiddenError)
+ expect { pull_access_check }.not_to raise_error
+ end
+ end
+ end
+
+ it_behaves_like 'actor is migration bot'
+ end
+
+ context 'when snippet feature is disabled' do
+ let(:project) { create(:project, :public, :snippets_disabled) }
+
+ [:anonymous, :non_member, :author, :admin].each do |membership|
+ context membership.to_s do
+ let(:membership) { membership }
+
+ it 'cannot perform git operations' do
+ expect { push_access_check }.to raise_error(described_class::ForbiddenError)
+ expect { pull_access_check }.to raise_error(described_class::ForbiddenError)
end
end
end
+
+ it_behaves_like 'actor is migration bot'
end
end
@@ -159,6 +227,8 @@ describe Gitlab::GitAccessSnippet do
expect { pull_access_check }.to raise_error(error_class)
end
end
+
+ it_behaves_like 'actor is migration bot'
end
end
@@ -166,36 +236,56 @@ describe Gitlab::GitAccessSnippet do
let(:user) { snippet.author }
let!(:primary_node) { FactoryBot.create(:geo_node, :primary) }
- # Without override, push access would return Gitlab::GitAccessResult::CustomAction
- it 'skips geo for snippet' do
+ before do
allow(::Gitlab::Database).to receive(:read_only?).and_return(true)
allow(::Gitlab::Geo).to receive(:secondary_with_primary?).and_return(true)
+ end
+ # Without override, push access would return Gitlab::GitAccessResult::CustomAction
+ it 'skips geo for snippet' do
expect { push_access_check }.to raise_forbidden(/You can't push code to a read-only GitLab instance/)
end
+
+ context 'when user is migration bot' do
+ let(:user) { migration_bot }
+
+ it 'skips geo for snippet' do
+ expect { push_access_check }.to raise_forbidden(/You can't push code to a read-only GitLab instance/)
+ end
+ end
end
context 'when changes are specific' do
let(:changes) { "2d1db523e11e777e49377cfb22d368deec3f0793 ddd0f15ae83993f5cb66a927a28673882e99100b master" }
let(:user) { snippet.author }
- it 'does not raise error if SnippetCheck does not raise error' do
- expect_next_instance_of(Gitlab::Checks::SnippetCheck) do |check|
- expect(check).to receive(:validate!).and_call_original
- end
- expect_next_instance_of(Gitlab::Checks::PushFileCountCheck) do |check|
- expect(check).to receive(:validate!)
+ shared_examples 'snippet checks' do
+ it 'does not raise error if SnippetCheck does not raise error' do
+ expect_next_instance_of(Gitlab::Checks::SnippetCheck) do |check|
+ expect(check).to receive(:validate!).and_call_original
+ end
+ expect_next_instance_of(Gitlab::Checks::PushFileCountCheck) do |check|
+ expect(check).to receive(:validate!)
+ end
+
+ expect { push_access_check }.not_to raise_error
end
- expect { push_access_check }.not_to raise_error
- end
+ it 'raises error if SnippetCheck raises error' do
+ expect_next_instance_of(Gitlab::Checks::SnippetCheck) do |check|
+ allow(check).to receive(:validate!).and_raise(Gitlab::GitAccess::ForbiddenError, 'foo')
+ end
- it 'raises error if SnippetCheck raises error' do
- expect_next_instance_of(Gitlab::Checks::SnippetCheck) do |check|
- allow(check).to receive(:validate!).and_raise(Gitlab::GitAccess::ForbiddenError, 'foo')
+ expect { push_access_check }.to raise_forbidden('foo')
end
+ end
- expect { push_access_check }.to raise_forbidden('foo')
+ it_behaves_like 'snippet checks'
+
+ context 'when user is migration bot' do
+ let(:user) { migration_bot }
+
+ it_behaves_like 'snippet checks'
end
end
@@ -260,6 +350,14 @@ describe Gitlab::GitAccessSnippet do
it_behaves_like 'a push to repository already over the limit'
it_behaves_like 'a push to repository below the limit'
it_behaves_like 'a push to repository to make it over the limit'
+
+ context 'when user is migration bot' do
+ let(:actor) { migration_bot }
+
+ it_behaves_like 'a push to repository already over the limit'
+ it_behaves_like 'a push to repository below the limit'
+ it_behaves_like 'a push to repository to make it over the limit'
+ end
end
context 'when GIT_OBJECT_DIRECTORY_RELATIVE env var is not set' do
@@ -274,6 +372,14 @@ describe Gitlab::GitAccessSnippet do
it_behaves_like 'a push to repository already over the limit'
it_behaves_like 'a push to repository below the limit'
it_behaves_like 'a push to repository to make it over the limit'
+
+ context 'when user is migration bot' do
+ let(:actor) { migration_bot }
+
+ it_behaves_like 'a push to repository already over the limit'
+ it_behaves_like 'a push to repository below the limit'
+ it_behaves_like 'a push to repository to make it over the limit'
+ end
end
end
diff --git a/spec/lib/gitlab/import_export/all_models.yml b/spec/lib/gitlab/import_export/all_models.yml
index 03930c6c1a7..ead71631e33 100644
--- a/spec/lib/gitlab/import_export/all_models.yml
+++ b/spec/lib/gitlab/import_export/all_models.yml
@@ -490,6 +490,7 @@ project:
- metrics_users_starred_dashboards
- alert_management_alerts
- repository_storage_moves
+- freeze_periods
award_emoji:
- awardable
- user
diff --git a/spec/lib/gitlab/import_export/importer_spec.rb b/spec/lib/gitlab/import_export/importer_spec.rb
index e03c95525df..14e643f86c0 100644
--- a/spec/lib/gitlab/import_export/importer_spec.rb
+++ b/spec/lib/gitlab/import_export/importer_spec.rb
@@ -89,36 +89,74 @@ describe Gitlab::ImportExport::Importer do
end
context 'when project successfully restored' do
- let!(:existing_project) { create(:project, namespace: user.namespace) }
- let(:project) { create(:project, namespace: user.namespace, name: 'whatever', path: 'whatever') }
+ context "with a project in a user's namespace" do
+ let!(:existing_project) { create(:project, namespace: user.namespace) }
+ let(:project) { create(:project, namespace: user.namespace, name: 'whatever', path: 'whatever') }
- before do
- restorers = double(:restorers, all?: true)
+ before do
+ restorers = double(:restorers, all?: true)
- allow(subject).to receive(:import_file).and_return(true)
- allow(subject).to receive(:check_version!).and_return(true)
- allow(subject).to receive(:restorers).and_return(restorers)
- allow(project).to receive(:import_data).and_return(double(data: { 'original_path' => existing_project.path }))
+ allow(subject).to receive(:import_file).and_return(true)
+ allow(subject).to receive(:check_version!).and_return(true)
+ allow(subject).to receive(:restorers).and_return(restorers)
+ allow(project).to receive(:import_data).and_return(double(data: { 'original_path' => existing_project.path }))
+ end
+
+ context 'when import_data' do
+ context 'has original_path' do
+ it 'overwrites existing project' do
+ expect_next_instance_of(::Projects::OverwriteProjectService) do |service|
+ expect(service).to receive(:execute).with(existing_project)
+ end
+
+ subject.execute
+ end
+ end
+
+ context 'has not original_path' do
+ before do
+ allow(project).to receive(:import_data).and_return(double(data: {}))
+ end
+
+ it 'does not call the overwrite service' do
+ expect(::Projects::OverwriteProjectService).not_to receive(:new)
+
+ subject.execute
+ end
+ end
+ end
end
- context 'when import_data' do
+ context "with a project in a group namespace" do
+ let(:group) { create(:group) }
+ let!(:existing_project) { create(:project, group: group) }
+ let(:project) { create(:project, creator: user, group: group, name: 'whatever', path: 'whatever') }
+
+ before do
+ restorers = double(:restorers, all?: true)
+
+ allow(subject).to receive(:import_file).and_return(true)
+ allow(subject).to receive(:check_version!).and_return(true)
+ allow(subject).to receive(:restorers).and_return(restorers)
+ allow(project).to receive(:import_data).and_return(double(data: { 'original_path' => existing_project.path }))
+ end
+
context 'has original_path' do
it 'overwrites existing project' do
- expect_any_instance_of(::Projects::OverwriteProjectService).to receive(:execute).with(existing_project)
+ group.add_owner(user)
- subject.execute
- end
- end
+ expect_next_instance_of(::Projects::OverwriteProjectService) do |service|
+ expect(service).to receive(:execute).with(existing_project)
+ end
- context 'has not original_path' do
- before do
- allow(project).to receive(:import_data).and_return(double(data: {}))
+ subject.execute
end
- it 'does not call the overwrite service' do
- expect_any_instance_of(::Projects::OverwriteProjectService).not_to receive(:execute).with(existing_project)
+ it 'does not allow user to overwrite existing project' do
+ expect(::Projects::OverwriteProjectService).not_to receive(:new)
- subject.execute
+ expect { subject.execute }.to raise_error(Projects::ImportService::Error,
+ "User #{user.username} (#{user.id}) cannot overwrite a project in #{group.path}")
end
end
end
diff --git a/spec/lib/gitlab/import_export/project/export_task_spec.rb b/spec/lib/gitlab/import_export/project/export_task_spec.rb
index 7c091c43637..dc8eb54dc14 100644
--- a/spec/lib/gitlab/import_export/project/export_task_spec.rb
+++ b/spec/lib/gitlab/import_export/project/export_task_spec.rb
@@ -10,6 +10,7 @@ describe Gitlab::ImportExport::Project::ExportTask do
let(:file_path) { 'spec/fixtures/gitlab/import_export/test_project_export.tar.gz' }
let(:project) { create(:project, creator: user, namespace: user.namespace) }
let(:project_name) { project.name }
+ let(:rake_task) { described_class.new(task_params) }
let(:task_params) do
{
@@ -21,7 +22,7 @@ describe Gitlab::ImportExport::Project::ExportTask do
}
end
- subject { described_class.new(task_params).export }
+ subject { rake_task.export }
context 'when project is found' do
let(:project) { create(:project, creator: user, namespace: user.namespace) }
@@ -29,9 +30,13 @@ describe Gitlab::ImportExport::Project::ExportTask do
around do |example|
example.run
ensure
- File.delete(file_path)
+ File.delete(file_path) if File.exist?(file_path)
end
+ include_context 'rake task object storage shared context'
+
+ it_behaves_like 'rake task with disabled object_storage', ::Projects::ImportExport::ExportService, :success
+
it 'performs project export successfully' do
expect { subject }.to output(/Done!/).to_stdout
@@ -39,8 +44,6 @@ describe Gitlab::ImportExport::Project::ExportTask do
expect(File).to exist(file_path)
end
-
- it_behaves_like 'measurable'
end
context 'when project is not found' do
@@ -66,4 +69,32 @@ describe Gitlab::ImportExport::Project::ExportTask do
expect(subject).to eq(false)
end
end
+
+ context 'when after export strategy fails' do
+ before do
+ allow_next_instance_of(Gitlab::ImportExport::AfterExportStrategies::MoveFileStrategy) do |after_export_strategy|
+ allow(after_export_strategy).to receive(:strategy_execute).and_raise(Gitlab::ImportExport::AfterExportStrategies::BaseAfterExportStrategy::StrategyError)
+ end
+ end
+
+ it 'error is logged' do
+ expect(rake_task).to receive(:error).and_call_original
+
+ expect(subject).to eq(false)
+ end
+ end
+
+ context 'when saving services fail' do
+ before do
+ allow_next_instance_of(::Projects::ImportExport::ExportService) do |service|
+ allow(service).to receive(:execute).and_raise(Gitlab::ImportExport::Error)
+ end
+ end
+
+ it 'error is logged' do
+ expect(rake_task).to receive(:error).and_call_original
+
+ expect(subject).to eq(false)
+ end
+ end
end
diff --git a/spec/lib/gitlab/import_export/project/import_task_spec.rb b/spec/lib/gitlab/import_export/project/import_task_spec.rb
index 4f4fcd3ad8a..d83cc173388 100644
--- a/spec/lib/gitlab/import_export/project/import_task_spec.rb
+++ b/spec/lib/gitlab/import_export/project/import_task_spec.rb
@@ -8,7 +8,7 @@ describe Gitlab::ImportExport::Project::ImportTask, :request_store do
let!(:user) { create(:user, username: username) }
let(:measurement_enabled) { false }
let(:project) { Project.find_by_full_path("#{namespace_path}/#{project_name}") }
- let(:import_task) { described_class.new(task_params) }
+ let(:rake_task) { described_class.new(task_params) }
let(:task_params) do
{
username: username,
@@ -19,29 +19,16 @@ describe Gitlab::ImportExport::Project::ImportTask, :request_store do
}
end
- before do
- allow(Settings.uploads.object_store).to receive(:[]=).and_call_original
- end
-
- around do |example|
- old_direct_upload_setting = Settings.uploads.object_store['direct_upload']
- old_background_upload_setting = Settings.uploads.object_store['background_upload']
-
- Settings.uploads.object_store['direct_upload'] = true
- Settings.uploads.object_store['background_upload'] = true
-
- example.run
-
- Settings.uploads.object_store['direct_upload'] = old_direct_upload_setting
- Settings.uploads.object_store['background_upload'] = old_background_upload_setting
- end
-
- subject { import_task.import }
+ subject { rake_task.import }
context 'when project import is valid' do
let(:project_name) { 'import_rake_test_project' }
let(:file_path) { 'spec/fixtures/gitlab/import_export/lightweight_project_export.tar.gz' }
+ include_context 'rake task object storage shared context'
+
+ it_behaves_like 'rake task with disabled object_storage', ::Projects::GitlabProjectsImportService, :execute_sidekiq_job
+
it 'performs project import successfully' do
expect { subject }.to output(/Done!/).to_stdout
expect { subject }.not_to raise_error
@@ -53,28 +40,6 @@ describe Gitlab::ImportExport::Project::ImportTask, :request_store do
expect(project.import_state.status).to eq('finished')
end
- it 'disables direct & background upload only during project creation' do
- expect_next_instance_of(Projects::GitlabProjectsImportService) do |service|
- expect(service).to receive(:execute).and_wrap_original do |m|
- expect(Settings.uploads.object_store['background_upload']).to eq(false)
- expect(Settings.uploads.object_store['direct_upload']).to eq(false)
-
- m.call
- end
- end
-
- expect(import_task).to receive(:execute_sidekiq_job).and_wrap_original do |m|
- expect(Settings.uploads.object_store['background_upload']).to eq(true)
- expect(Settings.uploads.object_store['direct_upload']).to eq(true)
- expect(Settings.uploads.object_store).not_to receive(:[]=).with('backgroud_upload', false)
- expect(Settings.uploads.object_store).not_to receive(:[]=).with('direct_upload', false)
-
- m.call
- end
-
- subject
- end
-
it_behaves_like 'measurable'
end
diff --git a/spec/lib/gitlab/jira_import/issue_serializer_spec.rb b/spec/lib/gitlab/jira_import/issue_serializer_spec.rb
index 592974bf344..ce38a1234cf 100644
--- a/spec/lib/gitlab/jira_import/issue_serializer_spec.rb
+++ b/spec/lib/gitlab/jira_import/issue_serializer_spec.rb
@@ -17,8 +17,8 @@ describe Gitlab::JiraImport::IssueSerializer do
let(:description) { 'basic description' }
let(:created_at) { '2020-01-01 20:00:00' }
let(:updated_at) { '2020-01-10 20:00:00' }
- let(:assignee) { double(displayName: 'Solver', emailAddress: 'assignee@example.com') }
- let(:reporter) { double(displayName: 'Reporter', emailAddress: 'reporter@example.com') }
+ let(:assignee) { double(attrs: { 'displayName' => 'Solver', 'emailAddress' => 'assignee@example.com' }) }
+ let(:reporter) { double(attrs: { 'displayName' => 'Reporter', 'emailAddress' => 'reporter@example.com' }) }
let(:jira_status) { 'new' }
let(:parent_field) do
@@ -109,7 +109,7 @@ describe Gitlab::JiraImport::IssueSerializer do
end
context 'author' do
- context 'when reporter maps to a GitLab user who is a project member' do
+ context 'when reporter maps to a valid GitLab user' do
let!(:user) { create(:user, email: 'reporter@example.com') }
it 'sets the issue author to the mapped user' do
@@ -119,15 +119,7 @@ describe Gitlab::JiraImport::IssueSerializer do
end
end
- context 'when reporter maps to a GitLab user who is not a project member' do
- let!(:user) { create(:user, email: 'reporter@example.com') }
-
- it 'defaults the issue author to project creator' do
- expect(subject[:author_id]).to eq(current_user.id)
- end
- end
-
- context 'when reporter does not map to a GitLab user' do
+ context 'when reporter does not map to a valid Gitlab user' do
it 'defaults the issue author to project creator' do
expect(subject[:author_id]).to eq(current_user.id)
end
@@ -142,7 +134,7 @@ describe Gitlab::JiraImport::IssueSerializer do
end
context 'when reporter field is missing email address' do
- let(:reporter) { double(name: 'Reporter', emailAddress: nil) }
+ let(:reporter) { double(attrs: { 'displayName' => 'Reporter' }) }
it 'defaults the issue author to project creator' do
expect(subject[:author_id]).to eq(current_user.id)
@@ -151,7 +143,7 @@ describe Gitlab::JiraImport::IssueSerializer do
end
context 'assignee' do
- context 'when assignee maps to a GitLab user who is a project member' do
+ context 'when assignee maps to a valid GitLab user' do
let!(:user) { create(:user, email: 'assignee@example.com') }
it 'sets the issue assignees to the mapped user' do
@@ -161,15 +153,7 @@ describe Gitlab::JiraImport::IssueSerializer do
end
end
- context 'when assignee maps to a GitLab user who is not a project member' do
- let!(:user) { create(:user, email: 'assignee@example.com') }
-
- it 'leaves the assignee empty' do
- expect(subject[:assignee_ids]).to be_nil
- end
- end
-
- context 'when assignee does not map to a GitLab user' do
+ context 'when assignee does not map to a valid GitLab user' do
it 'leaves the assignee empty' do
expect(subject[:assignee_ids]).to be_nil
end
@@ -184,7 +168,7 @@ describe Gitlab::JiraImport::IssueSerializer do
end
context 'when assginee field is missing email address' do
- let(:assignee) { double(name: 'Assignee', emailAddress: nil) }
+ let(:assignee) { double(attrs: { 'displayName' => 'Reporter' }) }
it 'leaves the assignee empty' do
expect(subject[:assignee_ids]).to be_nil
diff --git a/spec/lib/gitlab/jira_import/user_mapper_spec.rb b/spec/lib/gitlab/jira_import/user_mapper_spec.rb
new file mode 100644
index 00000000000..c8c8bd3c5b0
--- /dev/null
+++ b/spec/lib/gitlab/jira_import/user_mapper_spec.rb
@@ -0,0 +1,80 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe Gitlab::JiraImport::UserMapper do
+ let_it_be(:group) { create(:group) }
+ let_it_be(:project) { create(:project, group: group) }
+ let_it_be(:user) { create(:user, email: 'user@example.com') }
+ let_it_be(:email) { create(:email, user: user, email: 'second_email@example.com', confirmed_at: nil) }
+
+ let(:jira_user) { { 'acountId' => '1a2b', 'emailAddress' => 'user@example.com' } }
+
+ describe '#execute' do
+ subject { described_class.new(project, jira_user).execute }
+
+ context 'when jira_user is nil' do
+ let(:jira_user) { nil }
+
+ it 'returns nil' do
+ expect(subject).to be_nil
+ end
+ end
+
+ context 'when Gitlab user is not found by email' do
+ let(:jira_user) { { 'acountId' => '1a2b', 'emailAddress' => 'other@example.com' } }
+
+ it 'returns nil' do
+ expect(subject).to be_nil
+ end
+ end
+
+ context 'when jira_user emailAddress is nil' do
+ let(:jira_user) { { 'acountId' => '1a2b', 'emailAddress' => nil } }
+
+ it 'returns nil' do
+ expect(subject).to be_nil
+ end
+ end
+
+ context 'when jira_user emailAddress key is missing' do
+ let(:jira_user) { { 'acountId' => '1a2b' } }
+
+ it 'returns nil' do
+ expect(subject).to be_nil
+ end
+ end
+
+ context 'when found user is not a project member' do
+ it 'returns nil' do
+ expect(subject).to be_nil
+ end
+ end
+
+ context 'when found user is a project member' do
+ it 'returns the found user' do
+ project.add_developer(user)
+
+ expect(subject).to eq(user)
+ end
+ end
+
+ context 'when user found by unconfirmd secondary address is a project member' do
+ let(:jira_user) { { 'acountId' => '1a2b', 'emailAddress' => 'second_email@example.com' } }
+
+ it 'returns the found user' do
+ project.add_developer(user)
+
+ expect(subject).to eq(user)
+ end
+ end
+
+ context 'when user is a group member' do
+ it 'returns the found user' do
+ group.add_developer(user)
+
+ expect(subject).to eq(user)
+ end
+ end
+ end
+end
diff --git a/spec/lib/gitlab/json_spec.rb b/spec/lib/gitlab/json_spec.rb
index 5186ab041da..e500b433cef 100644
--- a/spec/lib/gitlab/json_spec.rb
+++ b/spec/lib/gitlab/json_spec.rb
@@ -3,47 +3,103 @@
require "spec_helper"
RSpec.describe Gitlab::Json do
+ before do
+ stub_feature_flags(json_wrapper_legacy_mode: true)
+ end
+
describe ".parse" do
- it "parses an object" do
- expect(subject.parse('{ "foo": "bar" }')).to eq({ "foo" => "bar" })
- end
+ context "legacy_mode is disabled by default" do
+ it "parses an object" do
+ expect(subject.parse('{ "foo": "bar" }')).to eq({ "foo" => "bar" })
+ end
- it "parses an array" do
- expect(subject.parse('[{ "foo": "bar" }]')).to eq([{ "foo" => "bar" }])
- end
+ it "parses an array" do
+ expect(subject.parse('[{ "foo": "bar" }]')).to eq([{ "foo" => "bar" }])
+ end
- it "raises an error on a string" do
- expect { subject.parse('"foo"') }.to raise_error(JSON::ParserError)
- end
+ # These tests will change expectations when the gem is upgraded
- it "raises an error on a true bool" do
- expect { subject.parse("true") }.to raise_error(JSON::ParserError)
+ it "raises an error on a string" do
+ expect { subject.parse('"foo"') }.to raise_error(JSON::ParserError)
+ end
+
+ it "raises an error on a true bool" do
+ expect { subject.parse("true") }.to raise_error(JSON::ParserError)
+ end
+
+ it "raises an error on a false bool" do
+ expect { subject.parse("false") }.to raise_error(JSON::ParserError)
+ end
end
- it "raises an error on a false bool" do
- expect { subject.parse("false") }.to raise_error(JSON::ParserError)
+ context "legacy_mode is enabled" do
+ it "parses an object" do
+ expect(subject.parse('{ "foo": "bar" }', legacy_mode: true)).to eq({ "foo" => "bar" })
+ end
+
+ it "parses an array" do
+ expect(subject.parse('[{ "foo": "bar" }]', legacy_mode: true)).to eq([{ "foo" => "bar" }])
+ end
+
+ it "raises an error on a string" do
+ expect { subject.parse('"foo"', legacy_mode: true) }.to raise_error(JSON::ParserError)
+ end
+
+ it "raises an error on a true bool" do
+ expect { subject.parse("true", legacy_mode: true) }.to raise_error(JSON::ParserError)
+ end
+
+ it "raises an error on a false bool" do
+ expect { subject.parse("false", legacy_mode: true) }.to raise_error(JSON::ParserError)
+ end
end
end
describe ".parse!" do
- it "parses an object" do
- expect(subject.parse!('{ "foo": "bar" }')).to eq({ "foo" => "bar" })
- end
+ context "legacy_mode is disabled by default" do
+ it "parses an object" do
+ expect(subject.parse!('{ "foo": "bar" }')).to eq({ "foo" => "bar" })
+ end
- it "parses an array" do
- expect(subject.parse!('[{ "foo": "bar" }]')).to eq([{ "foo" => "bar" }])
- end
+ it "parses an array" do
+ expect(subject.parse!('[{ "foo": "bar" }]')).to eq([{ "foo" => "bar" }])
+ end
- it "raises an error on a string" do
- expect { subject.parse!('"foo"') }.to raise_error(JSON::ParserError)
- end
+ # These tests will change expectations when the gem is upgraded
+
+ it "raises an error on a string" do
+ expect { subject.parse!('"foo"') }.to raise_error(JSON::ParserError)
+ end
- it "raises an error on a true bool" do
- expect { subject.parse!("true") }.to raise_error(JSON::ParserError)
+ it "raises an error on a true bool" do
+ expect { subject.parse!("true") }.to raise_error(JSON::ParserError)
+ end
+
+ it "raises an error on a false bool" do
+ expect { subject.parse!("false") }.to raise_error(JSON::ParserError)
+ end
end
- it "raises an error on a false bool" do
- expect { subject.parse!("false") }.to raise_error(JSON::ParserError)
+ context "legacy_mode is enabled" do
+ it "parses an object" do
+ expect(subject.parse!('{ "foo": "bar" }', legacy_mode: true)).to eq({ "foo" => "bar" })
+ end
+
+ it "parses an array" do
+ expect(subject.parse!('[{ "foo": "bar" }]', legacy_mode: true)).to eq([{ "foo" => "bar" }])
+ end
+
+ it "raises an error on a string" do
+ expect { subject.parse!('"foo"', legacy_mode: true) }.to raise_error(JSON::ParserError)
+ end
+
+ it "raises an error on a true bool" do
+ expect { subject.parse!("true", legacy_mode: true) }.to raise_error(JSON::ParserError)
+ end
+
+ it "raises an error on a false bool" do
+ expect { subject.parse!("false", legacy_mode: true) }.to raise_error(JSON::ParserError)
+ end
end
end
diff --git a/spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb b/spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb
index 9d8ec2d9b21..7603a5ccfc0 100644
--- a/spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb
+++ b/spec/lib/gitlab/metrics/samplers/ruby_sampler_spec.rb
@@ -8,6 +8,7 @@ describe Gitlab::Metrics::Samplers::RubySampler do
before do
allow(Gitlab::Metrics::NullMetric).to receive(:instance).and_return(null_metric)
+ stub_env('enable_memory_uss_pss', "1")
end
describe '#initialize' do
diff --git a/spec/lib/gitlab/performance_bar_spec.rb b/spec/lib/gitlab/performance_bar_spec.rb
index 816db49d94a..f720b3293e0 100644
--- a/spec/lib/gitlab/performance_bar_spec.rb
+++ b/spec/lib/gitlab/performance_bar_spec.rb
@@ -38,7 +38,7 @@ describe Gitlab::PerformanceBar do
end
end
- it { expect(described_class.l1_cache_backend).to eq(Gitlab::ThreadMemoryCache.cache_backend) }
+ it { expect(described_class.l1_cache_backend).to eq(Gitlab::ProcessMemoryCache.cache_backend) }
it { expect(described_class.l2_cache_backend).to eq(Rails.cache) }
describe '.enabled_for_user?' do
diff --git a/spec/lib/gitlab/project_search_results_spec.rb b/spec/lib/gitlab/project_search_results_spec.rb
index d206d31eb96..64f80b5d736 100644
--- a/spec/lib/gitlab/project_search_results_spec.rb
+++ b/spec/lib/gitlab/project_search_results_spec.rb
@@ -45,22 +45,36 @@ describe Gitlab::ProjectSearchResults do
expect(results.formatted_count(scope)).to eq(expected)
end
end
+
+ context 'blobs' do
+ it "limits the search to #{described_class::COUNT_LIMIT} items" do
+ expect(results).to receive(:blobs).with(limit: described_class::COUNT_LIMIT).and_call_original
+ expect(results.formatted_count('blobs')).to eq('0')
+ end
+ end
+
+ context 'wiki_blobs' do
+ it "limits the search to #{described_class::COUNT_LIMIT} items" do
+ expect(results).to receive(:wiki_blobs).with(limit: described_class::COUNT_LIMIT).and_call_original
+ expect(results.formatted_count('wiki_blobs')).to eq('0')
+ end
+ end
end
- shared_examples 'general blob search' do |entity_type, blob_kind|
+ shared_examples 'general blob search' do |entity_type, blob_type|
let(:query) { 'files' }
subject(:results) { described_class.new(user, project, query).objects(blob_type) }
context "when #{entity_type} is disabled" do
let(:project) { disabled_project }
- it "hides #{blob_kind} from members" do
+ it "hides #{blob_type} from members" do
project.add_reporter(user)
is_expected.to be_empty
end
- it "hides #{blob_kind} from non-members" do
+ it "hides #{blob_type} from non-members" do
is_expected.to be_empty
end
end
@@ -68,13 +82,13 @@ describe Gitlab::ProjectSearchResults do
context "when #{entity_type} is internal" do
let(:project) { private_project }
- it "finds #{blob_kind} for members" do
+ it "finds #{blob_type} for members" do
project.add_reporter(user)
is_expected.not_to be_empty
end
- it "hides #{blob_kind} from non-members" do
+ it "hides #{blob_type} from non-members" do
is_expected.to be_empty
end
end
@@ -96,7 +110,7 @@ describe Gitlab::ProjectSearchResults do
end
end
- shared_examples 'blob search repository ref' do |entity_type|
+ shared_examples 'blob search repository ref' do |entity_type, blob_type|
let(:query) { 'files' }
let(:file_finder) { double }
let(:project_branch) { 'project_branch' }
@@ -139,9 +153,41 @@ describe Gitlab::ProjectSearchResults do
end
end
+ shared_examples 'blob search pagination' do |blob_type|
+ let(:per_page) { 20 }
+ let(:count_limit) { described_class::COUNT_LIMIT }
+ let(:file_finder) { instance_double('Gitlab::FileFinder') }
+ let(:results) { described_class.new(user, project, query) }
+ let(:repository_ref) { 'master' }
+
+ before do
+ allow(file_finder).to receive(:find).and_return([])
+ expect(Gitlab::FileFinder).to receive(:new).with(project, repository_ref).and_return(file_finder)
+ end
+
+ it 'limits search results based on the first page' do
+ expect(file_finder).to receive(:find).with(query, content_match_cutoff: count_limit)
+ results.objects(blob_type, page: 1, per_page: per_page)
+ end
+
+ it 'limits search results based on the second page' do
+ expect(file_finder).to receive(:find).with(query, content_match_cutoff: count_limit + per_page)
+ results.objects(blob_type, page: 2, per_page: per_page)
+ end
+
+ it 'limits search results based on the third page' do
+ expect(file_finder).to receive(:find).with(query, content_match_cutoff: count_limit + per_page * 2)
+ results.objects(blob_type, page: 3, per_page: per_page)
+ end
+
+ it 'uses the per_page value when passed' do
+ expect(file_finder).to receive(:find).with(query, content_match_cutoff: count_limit + 10 * 2)
+ results.objects(blob_type, page: 3, per_page: 10)
+ end
+ end
+
describe 'blob search' do
let(:project) { create(:project, :public, :repository) }
- let(:blob_type) { 'blobs' }
it_behaves_like 'general blob search', 'repository', 'blobs' do
let(:disabled_project) { create(:project, :public, :repository, :repository_disabled) }
@@ -150,37 +196,11 @@ describe Gitlab::ProjectSearchResults do
let(:expected_file_by_content) { 'CHANGELOG' }
end
- it_behaves_like 'blob search repository ref', 'project' do
+ it_behaves_like 'blob search repository ref', 'project', 'blobs' do
let(:entity) { project }
end
- context 'pagination' do
- let(:per_page) { 20 }
- let(:count_limit) { described_class::COUNT_LIMIT }
- let(:file_finder) { instance_double('Gitlab::FileFinder') }
- let(:results) { described_class.new(user, project, query, per_page: per_page) }
- let(:repository_ref) { 'master' }
-
- before do
- allow(file_finder).to receive(:find).and_return([])
- expect(Gitlab::FileFinder).to receive(:new).with(project, repository_ref).and_return(file_finder)
- end
-
- it 'limits search results based on the first page' do
- expect(file_finder).to receive(:find).with(query, content_match_cutoff: count_limit)
- results.objects(blob_type, 1)
- end
-
- it 'limits search results based on the second page' do
- expect(file_finder).to receive(:find).with(query, content_match_cutoff: count_limit + per_page)
- results.objects(blob_type, 2)
- end
-
- it 'limits search results based on the third page' do
- expect(file_finder).to receive(:find).with(query, content_match_cutoff: count_limit + per_page * 2)
- results.objects(blob_type, 3)
- end
- end
+ it_behaves_like 'blob search pagination', 'blobs'
end
describe 'wiki search' do
@@ -192,7 +212,7 @@ describe Gitlab::ProjectSearchResults do
wiki.create_page('CHANGELOG', 'Files example')
end
- it_behaves_like 'general blob search', 'wiki', 'wiki blobs' do
+ it_behaves_like 'general blob search', 'wiki', 'wiki_blobs' do
let(:blob_type) { 'wiki_blobs' }
let(:disabled_project) { create(:project, :public, :wiki_repo, :wiki_disabled) }
let(:private_project) { create(:project, :public, :wiki_repo, :wiki_private) }
@@ -200,10 +220,27 @@ describe Gitlab::ProjectSearchResults do
let(:expected_file_by_content) { 'CHANGELOG.md' }
end
- it_behaves_like 'blob search repository ref', 'wiki' do
- let(:blob_type) { 'wiki_blobs' }
+ it_behaves_like 'blob search repository ref', 'wiki', 'wiki_blobs' do
let(:entity) { project.wiki }
end
+
+ it_behaves_like 'blob search pagination', 'wiki_blobs'
+
+ context 'return type' do
+ let(:blobs) { [Gitlab::Search::FoundBlob.new(project: project)] }
+ let(:results) { described_class.new(user, project, "Files", per_page: 20) }
+
+ before do
+ allow(results).to receive(:wiki_blobs).and_return(blobs)
+ end
+
+ it 'returns list of FoundWikiPage type object' do
+ objects = results.objects('wiki_blobs')
+
+ expect(objects).to be_present
+ expect(objects).to all(be_a(Gitlab::Search::FoundWikiPage))
+ end
+ end
end
it 'does not list issues on private projects' do
diff --git a/spec/lib/gitlab/regex_spec.rb b/spec/lib/gitlab/regex_spec.rb
index 5a2cf2eda8b..9e596400904 100644
--- a/spec/lib/gitlab/regex_spec.rb
+++ b/spec/lib/gitlab/regex_spec.rb
@@ -130,4 +130,37 @@ describe Gitlab::Regex do
it { is_expected.not_to match('aa-1234-cc') }
it { is_expected.not_to match('9/9/2018') }
end
+
+ describe '.kubernetes_namespace_regex' do
+ subject { described_class.kubernetes_namespace_regex }
+
+ it { is_expected.to match('foo') }
+ it { is_expected.to match('foo-bar') }
+ it { is_expected.to match('1foo-bar') }
+ it { is_expected.to match('foo-bar2') }
+ it { is_expected.to match('foo-1bar') }
+ it { is_expected.not_to match('foo.bar') }
+ it { is_expected.not_to match('Foo') }
+ it { is_expected.not_to match('FoO') }
+ it { is_expected.not_to match('FoO-') }
+ it { is_expected.not_to match('-foo-') }
+ it { is_expected.not_to match('foo/bar') }
+ end
+
+ describe '.kubernetes_dns_subdomain_regex' do
+ subject { described_class.kubernetes_dns_subdomain_regex }
+
+ it { is_expected.to match('foo') }
+ it { is_expected.to match('foo-bar') }
+ it { is_expected.to match('foo.bar') }
+ it { is_expected.to match('foo1.bar') }
+ it { is_expected.to match('foo1.2bar') }
+ it { is_expected.to match('foo.bar1') }
+ it { is_expected.to match('1foo.bar1') }
+ it { is_expected.not_to match('Foo') }
+ it { is_expected.not_to match('FoO') }
+ it { is_expected.not_to match('FoO-') }
+ it { is_expected.not_to match('-foo-') }
+ it { is_expected.not_to match('foo/bar') }
+ end
end
diff --git a/spec/lib/gitlab/search_results_spec.rb b/spec/lib/gitlab/search_results_spec.rb
index 86dde15cc8a..ab14602a468 100644
--- a/spec/lib/gitlab/search_results_spec.rb
+++ b/spec/lib/gitlab/search_results_spec.rb
@@ -28,7 +28,15 @@ describe Gitlab::SearchResults do
end
it 'returns with counts collection when requested' do
- expect(results.objects('projects', 1, false)).not_to be_kind_of(Kaminari::PaginatableWithoutCount)
+ expect(results.objects('projects', page: 1, per_page: 1, without_count: false)).not_to be_kind_of(Kaminari::PaginatableWithoutCount)
+ end
+
+ it 'uses page and per_page to paginate results' do
+ project2 = create(:project, name: 'foo')
+
+ expect(results.objects('projects', page: 1, per_page: 1).to_a).to eq([project])
+ expect(results.objects('projects', page: 2, per_page: 1).to_a).to eq([project2])
+ expect(results.objects('projects', page: 1, per_page: 2).count).to eq(2)
end
end
diff --git a/spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb b/spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb
index 8c55cc21f2c..283140d7fdf 100644
--- a/spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb
+++ b/spec/lib/gitlab/sidekiq_logging/json_formatter_spec.rb
@@ -34,7 +34,8 @@ describe Gitlab::SidekiqLogging::JSONFormatter do
'started_at' => timestamp_iso8601,
'retried_at' => timestamp_iso8601,
'failed_at' => timestamp_iso8601,
- 'completed_at' => timestamp_iso8601
+ 'completed_at' => timestamp_iso8601,
+ 'retry' => 0
}
)
@@ -57,6 +58,26 @@ describe Gitlab::SidekiqLogging::JSONFormatter do
expect(subject['args']).to eq(["1", "test", "2", %({"test"=>1})])
end
+
+ context 'when the job has a non-integer value for retry' do
+ using RSpec::Parameterized::TableSyntax
+
+ where(:retry_in_job, :retry_in_logs) do
+ 3 | 3
+ true | 25
+ false | 0
+ nil | 0
+ 'string' | -1
+ end
+
+ with_them do
+ it 'logs as the correct integer' do
+ hash_input['retry'] = retry_in_job
+
+ expect(subject['retry']).to eq(retry_in_logs)
+ end
+ end
+ end
end
describe 'with a String' do
diff --git a/spec/lib/gitlab/snippet_search_results_spec.rb b/spec/lib/gitlab/snippet_search_results_spec.rb
index 483283fd093..a41be0eaa95 100644
--- a/spec/lib/gitlab/snippet_search_results_spec.rb
+++ b/spec/lib/gitlab/snippet_search_results_spec.rb
@@ -20,4 +20,14 @@ describe Gitlab::SnippetSearchResults do
expect(results.formatted_count('snippet_titles')).to eq(max_limited_count)
end
end
+
+ describe '#objects' do
+ it 'uses page and per_page to paginate results' do
+ snippet2 = create(:snippet, :public, content: 'foo', file_name: 'foo')
+
+ expect(results.objects('snippet_titles', page: 1, per_page: 1).to_a).to eq([snippet2])
+ expect(results.objects('snippet_titles', page: 2, per_page: 1).to_a).to eq([snippet])
+ expect(results.objects('snippet_titles', page: 1, per_page: 2).count).to eq(2)
+ end
+ end
end
diff --git a/spec/lib/gitlab/throttle_spec.rb b/spec/lib/gitlab/throttle_spec.rb
index 674646a5f06..e3679a1a721 100644
--- a/spec/lib/gitlab/throttle_spec.rb
+++ b/spec/lib/gitlab/throttle_spec.rb
@@ -6,82 +6,10 @@ describe Gitlab::Throttle do
describe '.protected_paths_enabled?' do
subject { described_class.protected_paths_enabled? }
- context 'when omnibus protected paths throttle should be used' do
- before do
- expect(described_class).to receive(:should_use_omnibus_protected_paths?).and_return(true)
- end
+ it 'returns Application Settings throttle_protected_paths_enabled?' do
+ expect(Gitlab::CurrentSettings.current_application_settings).to receive(:throttle_protected_paths_enabled?)
- it { is_expected.to be_falsey }
- end
-
- context 'when omnibus protected paths throttle should not be used' do
- before do
- expect(described_class).to receive(:should_use_omnibus_protected_paths?).and_return(false)
- end
-
- it 'returns Application Settings throttle_protected_paths_enabled?' do
- expect(Gitlab::CurrentSettings.current_application_settings).to receive(:throttle_protected_paths_enabled?)
-
- subject
- end
- end
- end
-
- describe '.should_use_omnibus_protected_paths?' do
- subject { described_class.should_use_omnibus_protected_paths? }
-
- context 'when rack_attack.admin_area_protected_paths_enabled config is unspecified' do
- context 'when the omnibus protected paths throttle has been recently used (it has data)' do
- before do
- expect(described_class).to receive(:omnibus_protected_paths_present?).and_return(true)
- end
-
- it { is_expected.to be_truthy }
- end
-
- context 'when the omnibus protected paths throttle has not been recently used' do
- before do
- expect(described_class).to receive(:omnibus_protected_paths_present?).and_return(false)
- end
-
- it { is_expected.to be_falsey }
- end
- end
-
- context 'when rack_attack.admin_area_protected_paths_enabled config is false' do
- before do
- stub_config(rack_attack: {
- admin_area_protected_paths_enabled: false
- })
- end
-
- context 'when the omnibus protected paths throttle has been recently used (it has data)' do
- before do
- expect(described_class).to receive(:omnibus_protected_paths_present?).and_return(true)
- end
-
- it { is_expected.to be_truthy }
- end
-
- context 'when the omnibus protected paths throttle has not been recently used' do
- before do
- expect(described_class).to receive(:omnibus_protected_paths_present?).and_return(false)
- end
-
- it { is_expected.to be_falsey }
- end
- end
-
- context 'when rack_attack.admin_area_protected_paths_enabled config is true' do
- before do
- stub_config(rack_attack: {
- admin_area_protected_paths_enabled: true
- })
-
- expect(described_class).not_to receive(:omnibus_protected_paths_present?)
- end
-
- it { is_expected.to be_falsey }
+ subject
end
end
end
diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb
index ea7ff5d61b3..bc9a2bed6cd 100644
--- a/spec/lib/gitlab/usage_data_spec.rb
+++ b/spec/lib/gitlab/usage_data_spec.rb
@@ -151,6 +151,14 @@ describe Gitlab::UsageData, :aggregate_failures do
end
end
+ describe '.recording_ce_finished_at' do
+ subject { described_class.recording_ce_finish_data }
+
+ it 'gathers time ce recording finishes at' do
+ expect(subject[:recording_ce_finished_at]).to be_a(Time)
+ end
+ end
+
context 'when not relying on database records' do
describe '#features_usage_data_ce' do
subject { described_class.features_usage_data_ce }
@@ -531,9 +539,10 @@ describe Gitlab::UsageData, :aggregate_failures do
end
it 'returns the fallback value when counting fails' do
+ stub_const("Gitlab::UsageData::FALLBACK", 15)
allow(relation).to receive(:count).and_raise(ActiveRecord::StatementInvalid.new(''))
- expect(described_class.count(relation, fallback: 15, batch: false)).to eq(15)
+ expect(described_class.count(relation, batch: false)).to eq(15)
end
end
@@ -547,9 +556,10 @@ describe Gitlab::UsageData, :aggregate_failures do
end
it 'returns the fallback value when counting fails' do
+ stub_const("Gitlab::UsageData::FALLBACK", 15)
allow(relation).to receive(:distinct_count_by).and_raise(ActiveRecord::StatementInvalid.new(''))
- expect(described_class.distinct_count(relation, fallback: 15, batch: false)).to eq(15)
+ expect(described_class.distinct_count(relation, batch: false)).to eq(15)
end
end
end
diff --git a/spec/lib/gitlab/user_access_snippet_spec.rb b/spec/lib/gitlab/user_access_snippet_spec.rb
index 57e52e2e93d..2e8a0a49a76 100644
--- a/spec/lib/gitlab/user_access_snippet_spec.rb
+++ b/spec/lib/gitlab/user_access_snippet_spec.rb
@@ -7,6 +7,8 @@ describe Gitlab::UserAccessSnippet do
let_it_be(:project) { create(:project, :private) }
let_it_be(:snippet) { create(:project_snippet, :private, project: project) }
+ let_it_be(:migration_bot) { User.migration_bot }
+
let(:user) { create(:user) }
describe '#can_do_action?' do
@@ -36,6 +38,14 @@ describe Gitlab::UserAccessSnippet do
expect(access.can_do_action?(:ability)).to eq(false)
end
end
+
+ context 'when user is migration bot' do
+ let(:user) { migration_bot }
+
+ it 'allows access' do
+ expect(access.can_do_action?(:ability)).to eq(true)
+ end
+ end
end
describe '#can_push_to_branch?' do
@@ -65,6 +75,16 @@ describe Gitlab::UserAccessSnippet do
end
end
+ context 'when user is migration bot' do
+ let(:user) { migration_bot }
+
+ it 'allows access' do
+ allow(Ability).to receive(:allowed?).and_return(false)
+
+ expect(access.can_push_to_branch?('random_branch')).to eq(true)
+ end
+ end
+
context 'when snippet is nil' do
let(:user) { create_user_from_membership(project, :admin) }
let(:snippet) { nil }
@@ -72,6 +92,14 @@ describe Gitlab::UserAccessSnippet do
it 'disallows access' do
expect(access.can_push_to_branch?('random_branch')).to eq(false)
end
+
+ context 'when user is migration bot' do
+ let(:user) { migration_bot }
+
+ it 'disallows access' do
+ expect(access.can_push_to_branch?('random_branch')).to eq(false)
+ end
+ end
end
end
@@ -79,17 +107,41 @@ describe Gitlab::UserAccessSnippet do
it 'returns false' do
expect(access.can_create_tag?('random_tag')).to be_falsey
end
+
+ context 'when user is migration bot' do
+ let(:user) { migration_bot }
+
+ it 'returns false' do
+ expect(access.can_create_tag?('random_tag')).to be_falsey
+ end
+ end
end
describe '#can_delete_branch?' do
it 'returns false' do
expect(access.can_delete_branch?('random_branch')).to be_falsey
end
+
+ context 'when user is migration bot' do
+ let(:user) { migration_bot }
+
+ it 'returns false' do
+ expect(access.can_delete_branch?('random_branch')).to be_falsey
+ end
+ end
end
describe '#can_merge_to_branch?' do
it 'returns false' do
expect(access.can_merge_to_branch?('random_branch')).to be_falsey
end
+
+ context 'when user is migration bot' do
+ let(:user) { migration_bot }
+
+ it 'returns false' do
+ expect(access.can_merge_to_branch?('random_branch')).to be_falsey
+ end
+ end
end
end
diff --git a/spec/lib/gitlab/x509/signature_spec.rb b/spec/lib/gitlab/x509/signature_spec.rb
index 6c585acd5cd..cff2fd7748b 100644
--- a/spec/lib/gitlab/x509/signature_spec.rb
+++ b/spec/lib/gitlab/x509/signature_spec.rb
@@ -229,4 +229,164 @@ describe Gitlab::X509::Signature do
end
end
end
+
+ describe '#user' do
+ signature = described_class.new(
+ X509Helpers::User1.signed_tag_signature,
+ X509Helpers::User1.signed_tag_base_data,
+ X509Helpers::User1.certificate_email,
+ X509Helpers::User1.signed_commit_time
+ )
+
+ context 'if email is assigned to a user' do
+ let!(:user) { create(:user, email: X509Helpers::User1.certificate_email) }
+
+ it 'returns user' do
+ expect(signature.user).to eq(user)
+ end
+ end
+
+ it 'if email is not assigned to a user, return nil' do
+ expect(signature.user).to be_nil
+ end
+ end
+
+ context 'tag signature' do
+ let(:certificate_attributes) do
+ {
+ subject_key_identifier: X509Helpers::User1.tag_certificate_subject_key_identifier,
+ subject: X509Helpers::User1.certificate_subject,
+ email: X509Helpers::User1.certificate_email,
+ serial_number: X509Helpers::User1.tag_certificate_serial
+ }
+ end
+
+ let(:issuer_attributes) do
+ {
+ subject_key_identifier: X509Helpers::User1.tag_issuer_subject_key_identifier,
+ subject: X509Helpers::User1.tag_certificate_issuer,
+ crl_url: X509Helpers::User1.tag_certificate_crl
+ }
+ end
+
+ context 'verified signature' do
+ context 'with trusted certificate store' do
+ before do
+ store = OpenSSL::X509::Store.new
+ certificate = OpenSSL::X509::Certificate.new X509Helpers::User1.trust_cert
+ store.add_cert(certificate)
+ allow(OpenSSL::X509::Store).to receive(:new).and_return(store)
+ end
+
+ it 'returns a verified signature if email does match' do
+ signature = described_class.new(
+ X509Helpers::User1.signed_tag_signature,
+ X509Helpers::User1.signed_tag_base_data,
+ X509Helpers::User1.certificate_email,
+ X509Helpers::User1.signed_commit_time
+ )
+
+ expect(signature.x509_certificate).to have_attributes(certificate_attributes)
+ expect(signature.x509_certificate.x509_issuer).to have_attributes(issuer_attributes)
+ expect(signature.verified_signature).to be_truthy
+ expect(signature.verification_status).to eq(:verified)
+ end
+
+ it 'returns an unverified signature if email does not match' do
+ signature = described_class.new(
+ X509Helpers::User1.signed_tag_signature,
+ X509Helpers::User1.signed_tag_base_data,
+ "gitlab@example.com",
+ X509Helpers::User1.signed_commit_time
+ )
+
+ expect(signature.x509_certificate).to have_attributes(certificate_attributes)
+ expect(signature.x509_certificate.x509_issuer).to have_attributes(issuer_attributes)
+ expect(signature.verified_signature).to be_truthy
+ expect(signature.verification_status).to eq(:unverified)
+ end
+
+ it 'returns an unverified signature if email does match and time is wrong' do
+ signature = described_class.new(
+ X509Helpers::User1.signed_tag_signature,
+ X509Helpers::User1.signed_tag_base_data,
+ X509Helpers::User1.certificate_email,
+ Time.new(2020, 2, 22)
+ )
+
+ expect(signature.x509_certificate).to have_attributes(certificate_attributes)
+ expect(signature.x509_certificate.x509_issuer).to have_attributes(issuer_attributes)
+ expect(signature.verified_signature).to be_falsey
+ expect(signature.verification_status).to eq(:unverified)
+ end
+
+ it 'returns an unverified signature if certificate is revoked' do
+ signature = described_class.new(
+ X509Helpers::User1.signed_tag_signature,
+ X509Helpers::User1.signed_tag_base_data,
+ X509Helpers::User1.certificate_email,
+ X509Helpers::User1.signed_commit_time
+ )
+
+ expect(signature.verification_status).to eq(:verified)
+
+ signature.x509_certificate.revoked!
+
+ expect(signature.verification_status).to eq(:unverified)
+ end
+ end
+
+ context 'without trusted certificate within store' do
+ before do
+ store = OpenSSL::X509::Store.new
+ allow(OpenSSL::X509::Store).to receive(:new)
+ .and_return(
+ store
+ )
+ end
+
+ it 'returns an unverified signature' do
+ signature = described_class.new(
+ X509Helpers::User1.signed_tag_signature,
+ X509Helpers::User1.signed_tag_base_data,
+ X509Helpers::User1.certificate_email,
+ X509Helpers::User1.signed_commit_time
+ )
+
+ expect(signature.x509_certificate).to have_attributes(certificate_attributes)
+ expect(signature.x509_certificate.x509_issuer).to have_attributes(issuer_attributes)
+ expect(signature.verified_signature).to be_falsey
+ expect(signature.verification_status).to eq(:unverified)
+ end
+ end
+ end
+
+ context 'invalid signature' do
+ it 'returns nil' do
+ signature = described_class.new(
+ X509Helpers::User1.signed_tag_signature.tr('A', 'B'),
+ X509Helpers::User1.signed_tag_base_data,
+ X509Helpers::User1.certificate_email,
+ X509Helpers::User1.signed_commit_time
+ )
+ expect(signature.x509_certificate).to be_nil
+ expect(signature.verified_signature).to be_falsey
+ expect(signature.verification_status).to eq(:unverified)
+ end
+ end
+
+ context 'invalid message' do
+ it 'returns nil' do
+ signature = described_class.new(
+ X509Helpers::User1.signed_tag_signature,
+ 'x',
+ X509Helpers::User1.certificate_email,
+ X509Helpers::User1.signed_commit_time
+ )
+ expect(signature.x509_certificate).to be_nil
+ expect(signature.verified_signature).to be_falsey
+ expect(signature.verification_status).to eq(:unverified)
+ end
+ end
+ end
end
diff --git a/spec/lib/gitlab/x509/tag_spec.rb b/spec/lib/gitlab/x509/tag_spec.rb
new file mode 100644
index 00000000000..4bc9723bd0d
--- /dev/null
+++ b/spec/lib/gitlab/x509/tag_spec.rb
@@ -0,0 +1,42 @@
+# frozen_string_literal: true
+require 'spec_helper'
+
+describe Gitlab::X509::Tag do
+ subject(:signature) { described_class.new(tag).signature }
+
+ describe '#signature' do
+ let(:repository) { Gitlab::Git::Repository.new('default', TEST_REPO_PATH, '', 'group/project') }
+ let(:project) { create(:project, :repository) }
+
+ describe 'signed tag' do
+ let(:tag) { project.repository.find_tag('v1.1.1') }
+ let(:certificate_attributes) do
+ {
+ subject_key_identifier: X509Helpers::User1.tag_certificate_subject_key_identifier,
+ subject: X509Helpers::User1.certificate_subject,
+ email: X509Helpers::User1.certificate_email,
+ serial_number: X509Helpers::User1.tag_certificate_serial
+ }
+ end
+
+ let(:issuer_attributes) do
+ {
+ subject_key_identifier: X509Helpers::User1.tag_issuer_subject_key_identifier,
+ subject: X509Helpers::User1.tag_certificate_issuer,
+ crl_url: X509Helpers::User1.tag_certificate_crl
+ }
+ end
+
+ it { expect(signature).not_to be_nil }
+ it { expect(signature.verification_status).to eq(:unverified) }
+ it { expect(signature.x509_certificate).to have_attributes(certificate_attributes) }
+ it { expect(signature.x509_certificate.x509_issuer).to have_attributes(issuer_attributes) }
+ end
+
+ context 'unsigned tag' do
+ let(:tag) { project.repository.find_tag('v1.0.0') }
+
+ it { expect(signature).to be_nil }
+ end
+ end
+end
diff --git a/spec/models/alert_management/alert_spec.rb b/spec/models/alert_management/alert_spec.rb
index b40b18aeb4c..8c0f1016cac 100644
--- a/spec/models/alert_management/alert_spec.rb
+++ b/spec/models/alert_management/alert_spec.rb
@@ -20,6 +20,62 @@ describe AlertManagement::Alert do
it { is_expected.to validate_length_of(:service).is_at_most(100) }
it { is_expected.to validate_length_of(:monitoring_tool).is_at_most(100) }
+ context 'when status is triggered' do
+ context 'when ended_at is blank' do
+ subject { build(:alert_management_alert) }
+
+ it { is_expected.to be_valid }
+ end
+
+ context 'when ended_at is present' do
+ subject { build(:alert_management_alert, ended_at: Time.current) }
+
+ it { is_expected.to be_invalid }
+ end
+ end
+
+ context 'when status is acknowledged' do
+ context 'when ended_at is blank' do
+ subject { build(:alert_management_alert, :acknowledged) }
+
+ it { is_expected.to be_valid }
+ end
+
+ context 'when ended_at is present' do
+ subject { build(:alert_management_alert, :acknowledged, ended_at: Time.current) }
+
+ it { is_expected.to be_invalid }
+ end
+ end
+
+ context 'when status is resolved' do
+ context 'when ended_at is blank' do
+ subject { build(:alert_management_alert, :resolved, ended_at: nil) }
+
+ it { is_expected.to be_invalid }
+ end
+
+ context 'when ended_at is present' do
+ subject { build(:alert_management_alert, :resolved, ended_at: Time.current) }
+
+ it { is_expected.to be_valid }
+ end
+ end
+
+ context 'when status is ignored' do
+ context 'when ended_at is blank' do
+ subject { build(:alert_management_alert, :ignored) }
+
+ it { is_expected.to be_valid }
+ end
+
+ context 'when ended_at is present' do
+ subject { build(:alert_management_alert, :ignored, ended_at: Time.current) }
+
+ it { is_expected.to be_invalid }
+ end
+ end
+
describe 'fingerprint' do
let_it_be(:fingerprint) { 'fingerprint' }
let_it_be(:existing_alert) { create(:alert_management_alert, fingerprint: fingerprint) }
@@ -64,57 +120,7 @@ describe AlertManagement::Alert do
{ critical: 0, high: 1, medium: 2, low: 3, info: 4, unknown: 5 }
end
- let(:status_values) do
- { triggered: 0, acknowledged: 1, resolved: 2, ignored: 3 }
- end
-
it { is_expected.to define_enum_for(:severity).with_values(severity_values) }
- it { is_expected.to define_enum_for(:status).with_values(status_values) }
- end
-
- describe 'fingerprint setter' do
- let(:alert) { build(:alert_management_alert) }
-
- subject(:set_fingerprint) { alert.fingerprint = fingerprint }
-
- let(:fingerprint) { 'test' }
-
- it 'sets to the SHA1 of the value' do
- expect { set_fingerprint }
- .to change { alert.fingerprint }
- .from(nil)
- .to(Digest::SHA1.hexdigest(fingerprint))
- end
-
- describe 'testing length of 40' do
- where(:input) do
- [
- 'test',
- 'another test',
- 'a' * 1000,
- 12345
- ]
- end
-
- with_them do
- let(:fingerprint) { input }
-
- it 'sets the fingerprint to 40 chars' do
- set_fingerprint
- expect(alert.fingerprint.size).to eq(40)
- end
- end
- end
-
- context 'blank value given' do
- let(:fingerprint) { '' }
-
- it 'does not set the fingerprint' do
- expect { set_fingerprint }
- .not_to change { alert.fingerprint }
- .from(nil)
- end
- end
end
describe '.for_iid' do
@@ -127,6 +133,18 @@ describe AlertManagement::Alert do
it { is_expected.to match_array(alert_1) }
end
+ describe '.for_fingerprint' do
+ let_it_be(:fingerprint) { SecureRandom.hex }
+ let_it_be(:project) { create(:project) }
+ let_it_be(:alert_1) { create(:alert_management_alert, project: project, fingerprint: fingerprint) }
+ let_it_be(:alert_2) { create(:alert_management_alert, project: project) }
+ let_it_be(:alert_3) { create(:alert_management_alert, fingerprint: fingerprint) }
+
+ subject { described_class.for_fingerprint(project, fingerprint) }
+
+ it { is_expected.to contain_exactly(alert_1) }
+ end
+
describe '.details' do
let(:payload) do
{
@@ -152,4 +170,81 @@ describe AlertManagement::Alert do
)
end
end
+
+ describe '#trigger' do
+ subject { alert.trigger }
+
+ context 'when alert is in triggered state' do
+ let(:alert) { create(:alert_management_alert) }
+
+ it 'does not change the alert status' do
+ expect { subject }.not_to change { alert.reload.status }
+ end
+ end
+
+ context 'when alert not in triggered state' do
+ let(:alert) { create(:alert_management_alert, :resolved) }
+
+ it 'changes the alert status to triggered' do
+ expect { subject }.to change { alert.triggered? }.to(true)
+ end
+
+ it 'resets ended at' do
+ expect { subject }.to change { alert.reload.ended_at }.to nil
+ end
+ end
+ end
+
+ describe '#acknowledge' do
+ subject { alert.acknowledge }
+
+ let(:alert) { create(:alert_management_alert, :resolved) }
+
+ it 'changes the alert status to acknowledged' do
+ expect { subject }.to change { alert.acknowledged? }.to(true)
+ end
+
+ it 'resets ended at' do
+ expect { subject }.to change { alert.reload.ended_at }.to nil
+ end
+ end
+
+ describe '#resolve' do
+ let!(:ended_at) { Time.current }
+
+ subject do
+ alert.ended_at = ended_at
+ alert.resolve
+ end
+
+ context 'when alert already resolved' do
+ let(:alert) { create(:alert_management_alert, :resolved) }
+
+ it 'does not change the alert status' do
+ expect { subject }.not_to change { alert.reload.status }
+ end
+ end
+
+ context 'when alert is not resolved' do
+ let(:alert) { create(:alert_management_alert) }
+
+ it 'changes alert status to "resolved"' do
+ expect { subject }.to change { alert.resolved? }.to(true)
+ end
+ end
+ end
+
+ describe '#ignore' do
+ subject { alert.ignore }
+
+ let(:alert) { create(:alert_management_alert, :resolved) }
+
+ it 'changes the alert status to ignored' do
+ expect { subject }.to change { alert.ignored? }.to(true)
+ end
+
+ it 'resets ended at' do
+ expect { subject }.to change { alert.reload.ended_at }.to nil
+ end
+ end
end
diff --git a/spec/models/ci/freeze_period_spec.rb b/spec/models/ci/freeze_period_spec.rb
new file mode 100644
index 00000000000..126ff425707
--- /dev/null
+++ b/spec/models/ci/freeze_period_spec.rb
@@ -0,0 +1,42 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Ci::FreezePeriod, type: :model do
+ subject { build(:ci_freeze_period) }
+
+ it { is_expected.to belong_to(:project) }
+
+ it { is_expected.to respond_to(:freeze_start) }
+ it { is_expected.to respond_to(:freeze_end) }
+ it { is_expected.to respond_to(:cron_timezone) }
+
+ describe 'cron validations' do
+ it 'allows valid cron patterns' do
+ freeze_period = build(:ci_freeze_period, freeze_start: '0 23 * * 5')
+
+ expect(freeze_period).to be_valid
+ end
+
+ it 'does not allow invalid cron patterns' do
+ freeze_period = build(:ci_freeze_period, freeze_start: '0 0 0 * *')
+
+ expect(freeze_period).not_to be_valid
+ end
+
+ it 'does not allow non-cron strings' do
+ freeze_period = build(:ci_freeze_period, cron_timezone: 'invalid')
+
+ expect(freeze_period).not_to be_valid
+ end
+
+ context 'when cron contains trailing whitespaces' do
+ it 'strips the attribute' do
+ freeze_period = build(:ci_freeze_period, freeze_start: ' 0 0 * * * ')
+
+ expect(freeze_period).to be_valid
+ expect(freeze_period.freeze_start).to eq('0 0 * * *')
+ end
+ end
+ end
+end
diff --git a/spec/models/ci/pipeline_schedule_spec.rb b/spec/models/ci/pipeline_schedule_spec.rb
index 60615a7458b..9a10c7629b2 100644
--- a/spec/models/ci/pipeline_schedule_spec.rb
+++ b/spec/models/ci/pipeline_schedule_spec.rb
@@ -22,13 +22,13 @@ describe Ci::PipelineSchedule do
end
describe 'validations' do
- it 'does not allow invalid cron patters' do
+ it 'does not allow invalid cron patterns' do
pipeline_schedule = build(:ci_pipeline_schedule, cron: '0 0 0 * *')
expect(pipeline_schedule).not_to be_valid
end
- it 'does not allow invalid cron patters' do
+ it 'does not allow invalid cron patterns' do
pipeline_schedule = build(:ci_pipeline_schedule, cron_timezone: 'invalid')
expect(pipeline_schedule).not_to be_valid
diff --git a/spec/models/ci/pipeline_spec.rb b/spec/models/ci/pipeline_spec.rb
index b8e10f43ef4..458dce027a8 100644
--- a/spec/models/ci/pipeline_spec.rb
+++ b/spec/models/ci/pipeline_spec.rb
@@ -53,6 +53,29 @@ describe Ci::Pipeline, :mailer do
end
end
+ describe '#set_status' do
+ where(:from_status, :to_status) do
+ from_status_names = described_class.state_machines[:status].states.map(&:name)
+ to_status_names = from_status_names - [:created] # we never want to transition into created
+
+ from_status_names.product(to_status_names)
+ end
+
+ with_them do
+ it do
+ pipeline.status = from_status.to_s
+
+ if from_status != to_status
+ expect(pipeline.set_status(to_status.to_s))
+ .to eq(true)
+ else
+ expect(pipeline.set_status(to_status.to_s))
+ .to eq(false), "loopback transitions are not allowed"
+ end
+ end
+ end
+ end
+
describe '.processables' do
before do
create(:ci_build, name: 'build', pipeline: pipeline)
@@ -364,6 +387,16 @@ describe Ci::Pipeline, :mailer do
end
end
+ context 'when pipeline has an accessibility report' do
+ subject { described_class.with_reports(Ci::JobArtifact.accessibility_reports) }
+
+ let(:pipeline_with_report) { create(:ci_pipeline, :with_accessibility_reports) }
+
+ it 'selects the pipeline' do
+ is_expected.to eq([pipeline_with_report])
+ end
+ end
+
context 'when pipeline has a terraform report' do
it 'selects the pipeline' do
pipeline_with_report = create(:ci_pipeline, :with_terraform_reports)
@@ -709,6 +742,28 @@ describe Ci::Pipeline, :mailer do
)
end
end
+
+ describe 'variable CI_KUBERNETES_ACTIVE' do
+ context 'when pipeline.has_kubernetes_active? is true' do
+ before do
+ allow(pipeline).to receive(:has_kubernetes_active?).and_return(true)
+ end
+
+ it "is incldued with value 'true'" do
+ expect(subject.to_hash).to include('CI_KUBERNETES_ACTIVE' => 'true')
+ end
+ end
+
+ context 'when pipeline.has_kubernetes_active? is false' do
+ before do
+ allow(pipeline).to receive(:has_kubernetes_active?).and_return(false)
+ end
+
+ it 'is not included' do
+ expect(subject.to_hash).not_to have_key('CI_KUBERNETES_ACTIVE')
+ end
+ end
+ end
end
describe '#protected_ref?' do
@@ -2799,6 +2854,42 @@ describe Ci::Pipeline, :mailer do
end
end
+ describe '#accessibility_reports' do
+ subject { pipeline.accessibility_reports }
+
+ context 'when pipeline has multiple builds with accessibility reports' do
+ let(:build_rspec) { create(:ci_build, :success, name: 'rspec', pipeline: pipeline, project: project) }
+ let(:build_golang) { create(:ci_build, :success, name: 'golang', pipeline: pipeline, project: project) }
+
+ before do
+ create(:ci_job_artifact, :accessibility, job: build_rspec, project: project)
+ create(:ci_job_artifact, :accessibility_without_errors, job: build_golang, project: project)
+ end
+
+ it 'returns accessibility report with collected data' do
+ expect(subject.urls.keys).to match_array([
+ "https://pa11y.org/",
+ "https://about.gitlab.com/"
+ ])
+ end
+
+ context 'when builds are retried' do
+ let(:build_rspec) { create(:ci_build, :retried, :success, name: 'rspec', pipeline: pipeline, project: project) }
+ let(:build_golang) { create(:ci_build, :retried, :success, name: 'golang', pipeline: pipeline, project: project) }
+
+ it 'returns empty urls for accessibility reports' do
+ expect(subject.urls).to be_empty
+ end
+ end
+ end
+
+ context 'when pipeline does not have any builds with accessibility reports' do
+ it 'returns empty urls for accessibility reports' do
+ expect(subject.urls).to be_empty
+ end
+ end
+ end
+
describe '#coverage_reports' do
subject { pipeline.coverage_reports }
diff --git a/spec/models/ci/stage_spec.rb b/spec/models/ci/stage_spec.rb
index 3aeaa27abce..a1549532559 100644
--- a/spec/models/ci/stage_spec.rb
+++ b/spec/models/ci/stage_spec.rb
@@ -3,7 +3,8 @@
require 'spec_helper'
describe Ci::Stage, :models do
- let(:stage) { create(:ci_stage_entity) }
+ let_it_be(:pipeline) { create(:ci_empty_pipeline) }
+ let(:stage) { create(:ci_stage_entity, pipeline: pipeline, project: pipeline.project) }
it_behaves_like 'having unique enum values'
@@ -55,6 +56,29 @@ describe Ci::Stage, :models do
end
end
+ describe '#set_status' do
+ where(:from_status, :to_status) do
+ from_status_names = described_class.state_machines[:status].states.map(&:name)
+ to_status_names = from_status_names - [:created] # we never want to transition into created
+
+ from_status_names.product(to_status_names)
+ end
+
+ with_them do
+ it do
+ stage.status = from_status.to_s
+
+ if from_status != to_status
+ expect(stage.set_status(to_status.to_s))
+ .to eq(true)
+ else
+ expect(stage.set_status(to_status.to_s))
+ .to eq(false), "loopback transitions are not allowed"
+ end
+ end
+ end
+ end
+
describe '#update_status' do
context 'when stage objects needs to be updated' do
before do
diff --git a/spec/models/concerns/cacheable_attributes_spec.rb b/spec/models/concerns/cacheable_attributes_spec.rb
index d8f940a808e..56e0d044247 100644
--- a/spec/models/concerns/cacheable_attributes_spec.rb
+++ b/spec/models/concerns/cacheable_attributes_spec.rb
@@ -205,11 +205,11 @@ describe CacheableAttributes do
end
end
- it 'uses RequestStore in addition to Thread memory cache', :request_store do
+ it 'uses RequestStore in addition to process memory cache', :request_store do
# Warm up the cache
create(:application_setting).cache!
- expect(ApplicationSetting.cache_backend).to eq(Gitlab::ThreadMemoryCache.cache_backend)
+ expect(ApplicationSetting.cache_backend).to eq(Gitlab::ProcessMemoryCache.cache_backend)
expect(ApplicationSetting.cache_backend).to receive(:read).with(ApplicationSetting.cache_key).once.and_call_original
2.times { ApplicationSetting.current }
diff --git a/spec/models/concerns/noteable_spec.rb b/spec/models/concerns/noteable_spec.rb
index 097bc24d90f..5c8c5425ca7 100644
--- a/spec/models/concerns/noteable_spec.rb
+++ b/spec/models/concerns/noteable_spec.rb
@@ -241,7 +241,7 @@ describe Noteable do
describe '.resolvable_types' do
it 'exposes the replyable types' do
- expect(described_class.resolvable_types).to include('MergeRequest')
+ expect(described_class.resolvable_types).to include('MergeRequest', 'DesignManagement::Design')
end
end
diff --git a/spec/models/event_spec.rb b/spec/models/event_spec.rb
index 638a5b06d35..844cd1626ab 100644
--- a/spec/models/event_spec.rb
+++ b/spec/models/event_spec.rb
@@ -195,11 +195,13 @@ describe Event do
let(:confidential_issue) { create(:issue, :confidential, project: project, author: author, assignees: [assignee]) }
let(:project_snippet) { create(:project_snippet, :public, project: project, author: author) }
let(:personal_snippet) { create(:personal_snippet, :public, author: author) }
+ let(:design) { create(:design, issue: issue, project: project) }
let(:note_on_commit) { create(:note_on_commit, project: project) }
let(:note_on_issue) { create(:note_on_issue, noteable: issue, project: project) }
let(:note_on_confidential_issue) { create(:note_on_issue, noteable: confidential_issue, project: project) }
let(:note_on_project_snippet) { create(:note_on_project_snippet, author: author, noteable: project_snippet, project: project) }
let(:note_on_personal_snippet) { create(:note_on_personal_snippet, author: author, noteable: personal_snippet, project: nil) }
+ let(:note_on_design) { create(:note_on_design, author: author, noteable: design, project: project) }
let(:milestone_on_project) { create(:milestone, project: project) }
let(:event) do
described_class.new(project: project,
@@ -452,6 +454,32 @@ describe Event do
include_examples 'visible to author', true
end
end
+
+ context 'design event' do
+ include DesignManagementTestHelpers
+
+ let(:target) { note_on_design }
+
+ before do
+ enable_design_management
+ end
+
+ include_examples 'visibility examples' do
+ let(:visibility) { visible_to_all }
+ end
+
+ include_examples 'visible to assignee and author', true
+
+ context 'the event refers to a design on a confidential issue' do
+ let(:design) { create(:design, issue: confidential_issue, project: project) }
+
+ include_examples 'visibility examples' do
+ let(:visibility) { visible_to_none_except(:member, :admin) }
+ end
+
+ include_examples 'visible to assignee and author', true
+ end
+ end
end
describe 'wiki_page predicate scopes' do
diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb
index 6e2cc10ab0c..5ac79807c78 100644
--- a/spec/models/group_spec.rb
+++ b/spec/models/group_spec.rb
@@ -555,114 +555,72 @@ describe Group do
group_access: GroupMember::DEVELOPER })
end
- context 'when feature flag share_group_with_group is enabled' do
- before do
- stub_feature_flags(share_group_with_group: true)
- end
-
- context 'with user in the group' do
- let(:user) { group_user }
+ context 'with user in the group' do
+ let(:user) { group_user }
- it 'returns correct access level' do
- expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::DEVELOPER)
- expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::DEVELOPER)
- end
-
- context 'with lower group access level than max access level for share' do
- let(:user) { create(:user) }
-
- it 'returns correct access level' do
- group.add_reporter(user)
-
- expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::REPORTER)
- expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::REPORTER)
- end
- end
+ it 'returns correct access level' do
+ expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::DEVELOPER)
+ expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::DEVELOPER)
end
- context 'with user in the parent group' do
- let(:user) { parent_group_user }
+ context 'with lower group access level than max access level for share' do
+ let(:user) { create(:user) }
it 'returns correct access level' do
- expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- end
- end
+ group.add_reporter(user)
- context 'with user in the child group' do
- let(:user) { child_group_user }
-
- it 'returns correct access level' do
expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::REPORTER)
+ expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::REPORTER)
end
end
+ end
- context 'unrelated project owner' do
- let(:common_id) { [Project.maximum(:id).to_i, Namespace.maximum(:id).to_i].max + 999 }
- let!(:group) { create(:group, id: common_id) }
- let!(:unrelated_project) { create(:project, id: common_id) }
- let(:user) { unrelated_project.owner }
+ context 'with user in the parent group' do
+ let(:user) { parent_group_user }
- it 'returns correct access level' do
- expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- end
+ it 'returns correct access level' do
+ expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
end
+ end
- context 'user without accepted access request' do
- let!(:user) { create(:user) }
-
- before do
- create(:group_member, :developer, :access_request, user: user, group: group)
- end
+ context 'with user in the child group' do
+ let(:user) { child_group_user }
- it 'returns correct access level' do
- expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- end
+ it 'returns correct access level' do
+ expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
end
end
- context 'when feature flag share_group_with_group is disabled' do
- before do
- stub_feature_flags(share_group_with_group: false)
- end
-
- context 'with user in the group' do
- let(:user) { group_user }
+ context 'unrelated project owner' do
+ let(:common_id) { [Project.maximum(:id).to_i, Namespace.maximum(:id).to_i].max + 999 }
+ let!(:group) { create(:group, id: common_id) }
+ let!(:unrelated_project) { create(:project, id: common_id) }
+ let(:user) { unrelated_project.owner }
- it 'returns correct access level' do
- expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- end
+ it 'returns correct access level' do
+ expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
end
+ end
- context 'with user in the parent group' do
- let(:user) { parent_group_user }
+ context 'user without accepted access request' do
+ let!(:user) { create(:user) }
- it 'returns correct access level' do
- expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- end
+ before do
+ create(:group_member, :developer, :access_request, user: user, group: group)
end
- context 'with user in the child group' do
- let(:user) { child_group_user }
-
- it 'returns correct access level' do
- expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
- end
+ it 'returns correct access level' do
+ expect(shared_group_parent.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
+ expect(shared_group_child.max_member_access_for_user(user)).to eq(Gitlab::Access::NO_ACCESS)
end
end
end
@@ -674,8 +632,6 @@ describe Group do
let(:shared_group) { create(:group, :private, parent: shared_group_parent) }
before do
- stub_feature_flags(share_group_with_group: true)
-
group.add_owner(user)
create(:group_group_link, { shared_with_group: group,
diff --git a/spec/models/merge_request_diff_spec.rb b/spec/models/merge_request_diff_spec.rb
index 016af4f269b..0839dde696a 100644
--- a/spec/models/merge_request_diff_spec.rb
+++ b/spec/models/merge_request_diff_spec.rb
@@ -3,6 +3,8 @@
require 'spec_helper'
describe MergeRequestDiff do
+ using RSpec::Parameterized::TableSyntax
+
include RepoHelpers
let(:diff_with_commits) { create(:merge_request).merge_request_diff }
@@ -125,18 +127,71 @@ describe MergeRequestDiff do
end
end
+ describe '#update_external_diff_store' do
+ let_it_be(:merge_request) { create(:merge_request) }
+
+ let(:diff) { merge_request.merge_request_diff }
+ let(:store) { diff.external_diff.object_store }
+
+ where(:change_stored_externally, :change_external_diff) do
+ false | false
+ false | true
+ true | false
+ true | true
+ end
+
+ with_them do
+ it do
+ diff.stored_externally = true if change_stored_externally
+ diff.external_diff = "new-filename" if change_external_diff
+
+ update_store = receive(:update_column).with(:external_diff_store, store)
+
+ if change_stored_externally || change_external_diff
+ expect(diff).to update_store
+ else
+ expect(diff).not_to update_store
+ end
+
+ diff.save!
+ end
+ end
+ end
+
describe '#migrate_files_to_external_storage!' do
+ let(:uploader) { ExternalDiffUploader }
+ let(:file_store) { uploader::Store::LOCAL }
+ let(:remote_store) { uploader::Store::REMOTE }
let(:diff) { create(:merge_request).merge_request_diff }
- it 'converts from in-database to external storage' do
+ it 'converts from in-database to external file storage' do
expect(diff).not_to be_stored_externally
stub_external_diffs_setting(enabled: true)
- expect(diff).to receive(:save!)
+
+ expect(diff).to receive(:save!).and_call_original
+
+ diff.migrate_files_to_external_storage!
+
+ expect(diff).to be_stored_externally
+ expect(diff.external_diff_store).to eq(file_store)
+ end
+
+ it 'converts from in-database to external object storage' do
+ expect(diff).not_to be_stored_externally
+
+ stub_external_diffs_setting(enabled: true)
+
+ # Without direct_upload: true, the files would be saved to disk, and a
+ # background job would be enqueued to move the file to object storage
+ stub_external_diffs_object_storage(uploader, direct_upload: true)
+
+ expect(diff).to receive(:save!).and_call_original
diff.migrate_files_to_external_storage!
expect(diff).to be_stored_externally
+ expect(diff.external_diff_store).to eq(remote_store)
end
it 'does nothing with an external diff' do
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index 1a168e564dd..0642d96efa5 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -1612,6 +1612,32 @@ describe MergeRequest do
end
end
+ describe '#has_accessibility_reports?' do
+ subject { merge_request.has_accessibility_reports? }
+
+ let(:project) { create(:project, :repository) }
+
+ context 'when head pipeline has an accessibility reports' do
+ let(:merge_request) { create(:merge_request, :with_accessibility_reports, source_project: project) }
+
+ it { is_expected.to be_truthy }
+
+ context 'when feature flag is disabled' do
+ before do
+ stub_feature_flags(accessibility_report_view: false)
+ end
+
+ it { is_expected.to be_falsey }
+ end
+ end
+
+ context 'when head pipeline does not have accessibility reports' do
+ let(:merge_request) { create(:merge_request, source_project: project) }
+
+ it { is_expected.to be_falsey }
+ end
+ end
+
describe '#has_coverage_reports?' do
subject { merge_request.has_coverage_reports? }
diff --git a/spec/models/project_repository_storage_move_spec.rb b/spec/models/project_repository_storage_move_spec.rb
index b25f4dfd634..146fc13bee0 100644
--- a/spec/models/project_repository_storage_move_spec.rb
+++ b/spec/models/project_repository_storage_move_spec.rb
@@ -46,7 +46,7 @@ RSpec.describe ProjectRepositoryStorageMove, type: :model do
context 'and transits to scheduled' do
it 'triggers ProjectUpdateRepositoryStorageWorker' do
- expect(ProjectUpdateRepositoryStorageWorker).to receive(:perform_async).with(project.id, 'test_second_storage', repository_storage_move_id: storage_move.id)
+ expect(ProjectUpdateRepositoryStorageWorker).to receive(:perform_async).with(project.id, 'test_second_storage', storage_move.id)
storage_move.schedule!
end
diff --git a/spec/models/project_services/jira_service_spec.rb b/spec/models/project_services/jira_service_spec.rb
index cffd5232a7e..a0d36f0a238 100644
--- a/spec/models/project_services/jira_service_spec.rb
+++ b/spec/models/project_services/jira_service_spec.rb
@@ -582,6 +582,79 @@ describe JiraService do
end
end
+ describe '#create_cross_reference_note' do
+ let_it_be(:user) { build_stubbed(:user) }
+ let_it_be(:project) { create(:project, :repository) }
+ let(:jira_service) do
+ described_class.new(
+ project: project,
+ url: url,
+ username: username,
+ password: password
+ )
+ end
+ let(:jira_issue) { ExternalIssue.new('JIRA-123', project) }
+
+ subject { jira_service.create_cross_reference_note(jira_issue, resource, user) }
+
+ shared_examples 'creates a comment on Jira' do
+ let(:issue_url) { "#{url}/rest/api/2/issue/JIRA-123" }
+ let(:comment_url) { "#{issue_url}/comment" }
+ let(:remote_link_url) { "#{issue_url}/remotelink" }
+
+ before do
+ allow(JIRA::Resource::Remotelink).to receive(:all).and_return([])
+ stub_request(:get, issue_url).with(basic_auth: [username, password])
+ stub_request(:post, comment_url).with(basic_auth: [username, password])
+ stub_request(:post, remote_link_url).with(basic_auth: [username, password])
+ end
+
+ it 'creates a comment on Jira' do
+ subject
+
+ expect(WebMock).to have_requested(:post, comment_url).with(
+ body: /mentioned this issue in/
+ ).once
+ end
+ end
+
+ context 'when resource is a commit' do
+ let(:resource) { project.commit('master') }
+
+ context 'when disabled' do
+ before do
+ allow_next_instance_of(JiraService) do |instance|
+ allow(instance).to receive(:commit_events) { false }
+ end
+ end
+
+ it { is_expected.to eq('Events for commits are disabled.') }
+ end
+
+ context 'when enabled' do
+ it_behaves_like 'creates a comment on Jira'
+ end
+ end
+
+ context 'when resource is a merge request' do
+ let(:resource) { build_stubbed(:merge_request, source_project: project) }
+
+ context 'when disabled' do
+ before do
+ allow_next_instance_of(JiraService) do |instance|
+ allow(instance).to receive(:merge_requests_events) { false }
+ end
+ end
+
+ it { is_expected.to eq('Events for merge requests are disabled.') }
+ end
+
+ context 'when enabled' do
+ it_behaves_like 'creates a comment on Jira'
+ end
+ end
+ end
+
describe '#test' do
let(:jira_service) do
described_class.new(
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index b8c814a8ae1..2402bd8f94a 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -1780,6 +1780,7 @@ describe Project do
let(:project) { create(:project, :repository) }
let(:repo) { double(:repo, exists?: true) }
let(:wiki) { double(:wiki, exists?: true) }
+ let(:design) { double(:design, exists?: true) }
it 'expires the caches of the repository and wiki' do
# In EE, there are design repositories as well
@@ -1793,8 +1794,13 @@ describe Project do
.with('foo.wiki', project, shard: project.repository_storage, repo_type: Gitlab::GlRepository::WIKI)
.and_return(wiki)
+ allow(Repository).to receive(:new)
+ .with('foo.design', project, shard: project.repository_storage, repo_type: Gitlab::GlRepository::DESIGN)
+ .and_return(design)
+
expect(repo).to receive(:before_delete)
expect(wiki).to receive(:before_delete)
+ expect(design).to receive(:before_delete)
project.expire_caches_before_rename('foo')
end
@@ -2838,7 +2844,7 @@ describe Project do
end
it 'schedules the transfer of the repository to the new storage and locks the project' do
- expect(ProjectUpdateRepositoryStorageWorker).to receive(:perform_async).with(project.id, 'test_second_storage', repository_storage_move_id: anything)
+ expect(ProjectUpdateRepositoryStorageWorker).to receive(:perform_async).with(project.id, 'test_second_storage', anything)
project.change_repository_storage('test_second_storage')
project.save!
diff --git a/spec/models/resource_label_event_spec.rb b/spec/models/resource_label_event_spec.rb
index ca887b485a2..a1a2150f461 100644
--- a/spec/models/resource_label_event_spec.rb
+++ b/spec/models/resource_label_event_spec.rb
@@ -15,9 +15,6 @@ RSpec.describe ResourceLabelEvent, type: :model do
it_behaves_like 'a resource event for merge requests'
describe 'associations' do
- it { is_expected.to belong_to(:user) }
- it { is_expected.to belong_to(:issue) }
- it { is_expected.to belong_to(:merge_request) }
it { is_expected.to belong_to(:label) }
end
diff --git a/spec/models/snippet_repository_spec.rb b/spec/models/snippet_repository_spec.rb
index dc9f9a95d24..fec1b5418e4 100644
--- a/spec/models/snippet_repository_spec.rb
+++ b/spec/models/snippet_repository_spec.rb
@@ -202,6 +202,22 @@ describe SnippetRepository do
it_behaves_like 'snippet repository with file names', 'snippetfile10.txt', 'snippetfile11.txt'
end
+
+ shared_examples 'snippet repository with git errors' do |path, error|
+ let(:new_file) { { file_path: path, content: 'bar' } }
+
+ it 'raises a path specific error' do
+ expect do
+ snippet_repository.multi_files_action(user, data, commit_opts)
+ end.to raise_error(error)
+ end
+ end
+
+ context 'with git errors' do
+ it_behaves_like 'snippet repository with git errors', 'invalid://path/here', described_class::InvalidPathError
+ it_behaves_like 'snippet repository with git errors', '../../path/traversal/here', described_class::InvalidPathError
+ it_behaves_like 'snippet repository with git errors', 'README', described_class::CommitError
+ end
end
def blob_at(snippet, path)
diff --git a/spec/models/todo_spec.rb b/spec/models/todo_spec.rb
index cd76e175d79..e125f58399e 100644
--- a/spec/models/todo_spec.rb
+++ b/spec/models/todo_spec.rb
@@ -61,11 +61,13 @@ describe Todo do
describe '#done' do
it 'changes state to done' do
todo = create(:todo, state: :pending)
+
expect { todo.done }.to change(todo, :state).from('pending').to('done')
end
it 'does not raise error when is already done' do
todo = create(:todo, state: :done)
+
expect { todo.done }.not_to raise_error
end
end
@@ -73,15 +75,31 @@ describe Todo do
describe '#for_commit?' do
it 'returns true when target is a commit' do
subject.target_type = 'Commit'
+
expect(subject.for_commit?).to eq true
end
it 'returns false when target is an issuable' do
subject.target_type = 'Issue'
+
expect(subject.for_commit?).to eq false
end
end
+ describe '#for_design?' do
+ it 'returns true when target is a Design' do
+ subject.target_type = 'DesignManagement::Design'
+
+ expect(subject.for_design?).to eq(true)
+ end
+
+ it 'returns false when target is not a Design' do
+ subject.target_type = 'Issue'
+
+ expect(subject.for_design?).to eq(false)
+ end
+ end
+
describe '#target' do
context 'for commits' do
let(:project) { create(:project, :repository) }
@@ -108,6 +126,7 @@ describe Todo do
it 'returns the issuable for issuables' do
subject.target_id = issue.id
subject.target_type = issue.class.name
+
expect(subject.target).to eq issue
end
end
@@ -126,6 +145,7 @@ describe Todo do
it 'returns full reference for issuables' do
subject.target = issue
+
expect(subject.target_reference).to eq issue.to_reference(full: false)
end
end
diff --git a/spec/models/x509_commit_signature_spec.rb b/spec/models/x509_commit_signature_spec.rb
index a2f72228a86..2efb77c96ad 100644
--- a/spec/models/x509_commit_signature_spec.rb
+++ b/spec/models/x509_commit_signature_spec.rb
@@ -9,6 +9,15 @@ RSpec.describe X509CommitSignature do
let(:x509_certificate) { create(:x509_certificate) }
let(:x509_signature) { create(:x509_commit_signature, commit_sha: commit_sha) }
+ let(:attributes) do
+ {
+ commit_sha: commit_sha,
+ project: project,
+ x509_certificate_id: x509_certificate.id,
+ verification_status: "verified"
+ }
+ end
+
it_behaves_like 'having unique enum values'
describe 'validation' do
@@ -23,15 +32,6 @@ RSpec.describe X509CommitSignature do
end
describe '.safe_create!' do
- let(:attributes) do
- {
- commit_sha: commit_sha,
- project: project,
- x509_certificate_id: x509_certificate.id,
- verification_status: "verified"
- }
- end
-
it 'finds a signature by commit sha if it existed' do
x509_signature
@@ -50,4 +50,18 @@ RSpec.describe X509CommitSignature do
expect(signature.x509_certificate_id).to eq(x509_certificate.id)
end
end
+
+ describe '#user' do
+ context 'if email is assigned to a user' do
+ let!(:user) { create(:user, email: X509Helpers::User1.certificate_email) }
+
+ it 'returns user' do
+ expect(described_class.safe_create!(attributes).user).to eq(user)
+ end
+ end
+
+ it 'if email is not assigned to a user, return nil' do
+ expect(described_class.safe_create!(attributes).user).to be_nil
+ end
+ end
end
diff --git a/spec/policies/alert_management/alert_policy_spec.rb b/spec/policies/alert_management/alert_policy_spec.rb
index 523464d8ff1..0d7624a0142 100644
--- a/spec/policies/alert_management/alert_policy_spec.rb
+++ b/spec/policies/alert_management/alert_policy_spec.rb
@@ -10,16 +10,16 @@ describe AlertManagement::AlertPolicy, :models do
subject(:policy) { described_class.new(user, alert) }
describe 'rules' do
- it { is_expected.to be_disallowed :read_alert_management_alerts }
- it { is_expected.to be_disallowed :update_alert_management_alerts }
+ it { is_expected.to be_disallowed :read_alert_management_alert }
+ it { is_expected.to be_disallowed :update_alert_management_alert }
context 'when developer' do
before do
project.add_developer(user)
end
- it { is_expected.to be_allowed :read_alert_management_alerts }
- it { is_expected.to be_allowed :update_alert_management_alerts }
+ it { is_expected.to be_allowed :read_alert_management_alert }
+ it { is_expected.to be_allowed :update_alert_management_alert }
end
end
end
diff --git a/spec/presenters/projects/prometheus/alert_presenter_spec.rb b/spec/presenters/projects/prometheus/alert_presenter_spec.rb
index 85c73aa3533..967a0fb2c09 100644
--- a/spec/presenters/projects/prometheus/alert_presenter_spec.rb
+++ b/spec/presenters/projects/prometheus/alert_presenter_spec.rb
@@ -152,6 +152,148 @@ describe Projects::Prometheus::AlertPresenter do
end
end
end
+
+ context 'with embedded metrics' do
+ let(:starts_at) { '2018-03-12T09:06:00Z' }
+
+ shared_examples_for 'markdown with metrics embed' do
+ let(:expected_markdown) do
+ <<~MARKDOWN.chomp
+ #### Summary
+
+ **Start time:** #{presenter.starts_at}#{markdown_line_break}
+ **full_query:** `avg(metric) > 1.0`
+
+ [](#{url})
+ MARKDOWN
+ end
+
+ context 'without a starting time available' do
+ around do |example|
+ Timecop.freeze(starts_at) { example.run }
+ end
+
+ it { is_expected.to eq(expected_markdown) }
+ end
+
+ context 'with a starting time available' do
+ before do
+ payload['startsAt'] = starts_at
+ end
+
+ it { is_expected.to eq(expected_markdown) }
+ end
+ end
+
+ context 'for gitlab-managed prometheus alerts' do
+ let(:gitlab_alert) { create(:prometheus_alert, project: project) }
+ let(:metric_id) { gitlab_alert.prometheus_metric_id }
+ let(:env_id) { gitlab_alert.environment_id }
+
+ before do
+ payload['labels'] = { 'gitlab_alert_id' => metric_id }
+ end
+
+ let(:url) { "http://localhost/#{project.full_path}/prometheus/alerts/#{metric_id}/metrics_dashboard?end=2018-03-12T09%3A36%3A00Z&environment_id=#{env_id}&start=2018-03-12T08%3A36%3A00Z" }
+
+ it_behaves_like 'markdown with metrics embed'
+ end
+
+ context 'for alerts from a self-managed prometheus' do
+ let!(:environment) { create(:environment, project: project, name: 'production') }
+ let(:url) { "http://localhost/#{project.full_path}/-/environments/#{environment.id}/metrics_dashboard?embed_json=#{CGI.escape(embed_content.to_json)}&end=2018-03-12T09%3A36%3A00Z&start=2018-03-12T08%3A36%3A00Z" }
+
+ let(:title) { 'title' }
+ let(:y_label) { 'y_label' }
+ let(:query) { 'avg(metric) > 1.0' }
+ let(:embed_content) do
+ {
+ panel_groups: [{
+ panels: [{
+ type: 'line-graph',
+ title: title,
+ y_label: y_label,
+ metrics: [{ query_range: query }]
+ }]
+ }]
+ }
+ end
+
+ before do
+ # Setup embed time range
+ payload['startsAt'] = starts_at
+
+ # Setup query
+ payload['generatorURL'] = "http://host?g0.expr=#{CGI.escape(query)}"
+
+ # Setup environment
+ payload['labels'] ||= {}
+ payload['labels']['gitlab_environment_name'] = 'production'
+
+ # Setup chart title & axis labels
+ payload['annotations'] ||= {}
+ payload['annotations']['title'] = 'title'
+ payload['annotations']['gitlab_y_label'] = 'y_label'
+ end
+
+ it_behaves_like 'markdown with metrics embed'
+
+ context 'without y_label' do
+ let(:y_label) { title }
+
+ before do
+ payload['annotations'].delete('gitlab_y_label')
+ end
+
+ it_behaves_like 'markdown with metrics embed'
+ end
+
+ context 'when not enough information is present for an embed' do
+ let(:expected_markdown) do
+ <<~MARKDOWN.chomp
+ #### Summary
+
+ **Start time:** #{presenter.starts_at}#{markdown_line_break}
+ **full_query:** `avg(metric) > 1.0`
+
+ MARKDOWN
+ end
+
+ context 'without title' do
+ before do
+ payload['annotations'].delete('title')
+ end
+
+ it { is_expected.to eq(expected_markdown) }
+ end
+
+ context 'without environment' do
+ before do
+ payload['labels'].delete('gitlab_environment_name')
+ end
+
+ it { is_expected.to eq(expected_markdown) }
+ end
+
+ context 'without full_query' do
+ let(:expected_markdown) do
+ <<~MARKDOWN.chomp
+ #### Summary
+
+ **Start time:** #{presenter.starts_at}
+
+ MARKDOWN
+ end
+
+ before do
+ payload.delete('generatorURL')
+ end
+
+ it { is_expected.to eq(expected_markdown) }
+ end
+ end
+ end
+ end
end
describe '#show_performance_dashboard_link?' do
diff --git a/spec/requests/api/graphql/mutations/award_emojis/add_spec.rb b/spec/requests/api/graphql/mutations/award_emojis/add_spec.rb
index 3fdeccc84f9..83dec7dd3e2 100644
--- a/spec/requests/api/graphql/mutations/award_emojis/add_spec.rb
+++ b/spec/requests/api/graphql/mutations/award_emojis/add_spec.rb
@@ -23,7 +23,7 @@ describe 'Adding an AwardEmoji' do
end
shared_examples 'a mutation that does not create an AwardEmoji' do
- it do
+ specify do
expect do
post_graphql_mutation(mutation, current_user: current_user)
end.not_to change { AwardEmoji.count }
diff --git a/spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb b/spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb
index c78f0c7ca27..a2997db6cae 100644
--- a/spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb
+++ b/spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb
@@ -24,7 +24,7 @@ describe 'Removing an AwardEmoji' do
end
shared_examples 'a mutation that does not destroy an AwardEmoji' do
- it do
+ specify do
expect do
post_graphql_mutation(mutation, current_user: current_user)
end.not_to change { AwardEmoji.count }
diff --git a/spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb b/spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb
index bc796b34db4..e1180c85c6b 100644
--- a/spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb
+++ b/spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb
@@ -23,7 +23,7 @@ describe 'Toggling an AwardEmoji' do
end
shared_examples 'a mutation that does not create or destroy an AwardEmoji' do
- it do
+ specify do
expect do
post_graphql_mutation(mutation, current_user: current_user)
end.not_to change { AwardEmoji.count }
diff --git a/spec/requests/api/graphql/mutations/snippets/mark_as_spam_spec.rb b/spec/requests/api/graphql/mutations/snippets/mark_as_spam_spec.rb
index dbcf177ee09..6d4dce3f6f1 100644
--- a/spec/requests/api/graphql/mutations/snippets/mark_as_spam_spec.rb
+++ b/spec/requests/api/graphql/mutations/snippets/mark_as_spam_spec.rb
@@ -25,7 +25,7 @@ describe 'Mark snippet as spam', :do_not_mock_admin_mode do
end
shared_examples 'does not mark the snippet as spam' do
- it do
+ specify do
expect do
post_graphql_mutation(mutation, current_user: current_user)
end.not_to change { snippet.reload.user_agent_detail.submitted }
diff --git a/spec/requests/api/graphql/project/alert_management/alerts_spec.rb b/spec/requests/api/graphql/project/alert_management/alerts_spec.rb
index 5d60f054bf2..6baa9d4b2f9 100644
--- a/spec/requests/api/graphql/project/alert_management/alerts_spec.rb
+++ b/spec/requests/api/graphql/project/alert_management/alerts_spec.rb
@@ -7,8 +7,9 @@ describe 'getting Alert Management Alerts' do
let_it_be(:payload) { { 'custom' => { 'alert' => 'payload' } } }
let_it_be(:project) { create(:project, :repository) }
let_it_be(:current_user) { create(:user) }
- let_it_be(:alert_1) { create(:alert_management_alert, :all_fields, project: project) }
- let_it_be(:alert_2) { create(:alert_management_alert, :all_fields, project: project, payload: payload) }
+ let_it_be(:alert_1) { create(:alert_management_alert, :all_fields, :resolved, project: project, severity: :low) }
+ let_it_be(:alert_2) { create(:alert_management_alert, :all_fields, project: project, severity: :critical, payload: payload) }
+ let_it_be(:other_project_alert) { create(:alert_management_alert, :all_fields) }
let(:fields) do
<<~QUERY
@@ -48,27 +49,34 @@ describe 'getting Alert Management Alerts' do
end
let(:first_alert) { alerts.first }
+ let(:second_alert) { alerts.second }
it_behaves_like 'a working graphql query'
it { expect(alerts.size).to eq(2) }
- it 'returns the correct properties of the alert' do
+
+ it 'returns the correct properties of the alerts' do
expect(first_alert).to include(
'iid' => alert_2.iid.to_s,
'title' => alert_2.title,
'description' => alert_2.description,
'severity' => alert_2.severity.upcase,
- 'status' => alert_2.status.upcase,
+ 'status' => 'TRIGGERED',
'monitoringTool' => alert_2.monitoring_tool,
'service' => alert_2.service,
'hosts' => alert_2.hosts,
'eventCount' => alert_2.events,
'startedAt' => alert_2.started_at.strftime('%Y-%m-%dT%H:%M:%SZ'),
- 'endedAt' => alert_2.ended_at.strftime('%Y-%m-%dT%H:%M:%SZ'),
+ 'endedAt' => nil,
'details' => { 'custom.alert' => 'payload' },
'createdAt' => alert_2.created_at.strftime('%Y-%m-%dT%H:%M:%SZ'),
'updatedAt' => alert_2.updated_at.strftime('%Y-%m-%dT%H:%M:%SZ')
)
+
+ expect(second_alert).to include(
+ 'status' => 'RESOLVED',
+ 'endedAt' => alert_1.ended_at.strftime('%Y-%m-%dT%H:%M:%SZ')
+ )
end
context 'with iid given' do
@@ -85,6 +93,33 @@ describe 'getting Alert Management Alerts' do
it { expect(alerts.size).to eq(1) }
it { expect(first_alert['iid']).to eq(alert_1.iid.to_s) }
end
+
+ context 'sorting data given' do
+ let(:query) do
+ graphql_query_for(
+ 'project',
+ { 'fullPath' => project.full_path },
+ query_graphql_field('alertManagementAlerts', params, fields)
+ )
+ end
+
+ let(:params) { 'sort: SEVERITY_DESC' }
+ let(:iids) { alerts.map { |a| a['iid'] } }
+
+ it_behaves_like 'a working graphql query'
+
+ it 'sorts in the correct order' do
+ expect(iids).to eq [alert_1.iid.to_s, alert_2.iid.to_s]
+ end
+
+ context 'ascending order' do
+ let(:params) { 'sort: SEVERITY_ASC' }
+
+ it 'sorts in the correct order' do
+ expect(iids).to eq [alert_2.iid.to_s, alert_1.iid.to_s]
+ end
+ end
+ end
end
end
end
diff --git a/spec/requests/api/graphql/project/grafana_integration_spec.rb b/spec/requests/api/graphql/project/grafana_integration_spec.rb
index e7155934b3a..c9bc6c1a68e 100644
--- a/spec/requests/api/graphql/project/grafana_integration_spec.rb
+++ b/spec/requests/api/graphql/project/grafana_integration_spec.rb
@@ -35,7 +35,7 @@ describe 'Getting Grafana Integration' do
it_behaves_like 'a working graphql query'
- it { expect(integration_data).to be nil }
+ specify { expect(integration_data).to be nil }
end
context 'with project admin permissions' do
@@ -45,16 +45,16 @@ describe 'Getting Grafana Integration' do
it_behaves_like 'a working graphql query'
- it { expect(integration_data['token']).to eql grafana_integration.masked_token }
- it { expect(integration_data['grafanaUrl']).to eql grafana_integration.grafana_url }
+ specify { expect(integration_data['token']).to eql grafana_integration.masked_token }
+ specify { expect(integration_data['grafanaUrl']).to eql grafana_integration.grafana_url }
- it do
+ specify do
expect(
integration_data['createdAt']
).to eql grafana_integration.created_at.strftime('%Y-%m-%dT%H:%M:%SZ')
end
- it do
+ specify do
expect(
integration_data['updatedAt']
).to eql grafana_integration.updated_at.strftime('%Y-%m-%dT%H:%M:%SZ')
diff --git a/spec/requests/api/search_spec.rb b/spec/requests/api/search_spec.rb
index 0bdb9ea6bf9..90060c3f55a 100644
--- a/spec/requests/api/search_spec.rb
+++ b/spec/requests/api/search_spec.rb
@@ -15,10 +15,36 @@ describe API::Search do
it { expect(json_response.size).to eq(size) }
end
- describe 'GET /search' do
+ shared_examples 'pagination' do |scope:, search: ''|
+ it 'returns a different result for each page' do
+ get api(endpoint, user), params: { scope: scope, search: search, page: 1, per_page: 1 }
+ first = json_response.first
+
+ get api(endpoint, user), params: { scope: scope, search: search, page: 2, per_page: 1 }
+ second = Gitlab::Json.parse(response.body).first
+
+ expect(first).not_to eq(second)
+ end
+
+ it 'returns 1 result when per_page is 1' do
+ get api(endpoint, user), params: { scope: scope, search: search, per_page: 1 }
+
+ expect(json_response.count).to eq(1)
+ end
+
+ it 'returns 2 results when per_page is 2' do
+ get api(endpoint, user), params: { scope: scope, search: search, per_page: 2 }
+
+ expect(Gitlab::Json.parse(response.body).count).to eq(2)
+ end
+ end
+
+ describe 'GET /search' do
+ let(:endpoint) { '/search' }
+
context 'when user is not authenticated' do
it 'returns 401 error' do
- get api('/search'), params: { scope: 'projects', search: 'awesome' }
+ get api(endpoint), params: { scope: 'projects', search: 'awesome' }
expect(response).to have_gitlab_http_status(:unauthorized)
end
@@ -26,7 +52,7 @@ describe API::Search do
context 'when scope is not supported' do
it 'returns 400 error' do
- get api('/search', user), params: { scope: 'unsupported', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'unsupported', search: 'awesome' }
expect(response).to have_gitlab_http_status(:bad_request)
end
@@ -34,7 +60,7 @@ describe API::Search do
context 'when scope is missing' do
it 'returns 400 error' do
- get api('/search', user), params: { search: 'awesome' }
+ get api(endpoint, user), params: { search: 'awesome' }
expect(response).to have_gitlab_http_status(:bad_request)
end
@@ -43,30 +69,48 @@ describe API::Search do
context 'with correct params' do
context 'for projects scope' do
before do
- get api('/search', user), params: { scope: 'projects', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'projects', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/projects'
+
+ it_behaves_like 'pagination', scope: :projects
end
context 'for issues scope' do
before do
create(:issue, project: project, title: 'awesome issue')
- get api('/search', user), params: { scope: 'issues', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'issues', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/issues'
+
+ describe 'pagination' do
+ before do
+ create(:issue, project: project, title: 'another issue')
+ end
+
+ include_examples 'pagination', scope: :issues
+ end
end
context 'for merge_requests scope' do
before do
create(:merge_request, source_project: repo_project, title: 'awesome mr')
- get api('/search', user), params: { scope: 'merge_requests', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'merge_requests', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/merge_requests'
+
+ describe 'pagination' do
+ before do
+ create(:merge_request, source_project: repo_project, title: 'another mr', target_branch: 'another_branch')
+ end
+
+ include_examples 'pagination', scope: :merge_requests
+ end
end
context 'for milestones scope' do
@@ -76,10 +120,18 @@ describe API::Search do
context 'when user can read project milestones' do
before do
- get api('/search', user), params: { scope: 'milestones', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'milestones', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/milestones'
+
+ describe 'pagination' do
+ before do
+ create(:milestone, project: project, title: 'another milestone')
+ end
+
+ include_examples 'pagination', scope: :milestones
+ end
end
context 'when user cannot read project milestones' do
@@ -89,7 +141,7 @@ describe API::Search do
end
it 'returns empty array' do
- get api('/search', user), params: { scope: 'milestones', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'milestones', search: 'awesome' }
milestones = json_response
@@ -102,16 +154,18 @@ describe API::Search do
before do
create(:user, name: 'billy')
- get api('/search', user), params: { scope: 'users', search: 'billy' }
+ get api(endpoint, user), params: { scope: 'users', search: 'billy' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/user/basics'
+ it_behaves_like 'pagination', scope: :users
+
context 'when users search feature is disabled' do
before do
allow(Feature).to receive(:disabled?).with(:users_search, default_enabled: true).and_return(true)
- get api('/search', user), params: { scope: 'users', search: 'billy' }
+ get api(endpoint, user), params: { scope: 'users', search: 'billy' }
end
it 'returns 400 error' do
@@ -124,18 +178,28 @@ describe API::Search do
before do
create(:snippet, :public, title: 'awesome snippet', content: 'snippet content')
- get api('/search', user), params: { scope: 'snippet_titles', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'snippet_titles', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/snippets'
+
+ describe 'pagination' do
+ before do
+ create(:snippet, :public, title: 'another snippet', content: 'snippet content')
+ end
+
+ include_examples 'pagination', scope: :snippet_titles
+ end
end
end
end
describe "GET /groups/:id/search" do
+ let(:endpoint) { "/groups/#{group.id}/-/search" }
+
context 'when user is not authenticated' do
it 'returns 401 error' do
- get api("/groups/#{group.id}/search"), params: { scope: 'projects', search: 'awesome' }
+ get api(endpoint), params: { scope: 'projects', search: 'awesome' }
expect(response).to have_gitlab_http_status(:unauthorized)
end
@@ -143,7 +207,7 @@ describe API::Search do
context 'when scope is not supported' do
it 'returns 400 error' do
- get api("/groups/#{group.id}/search", user), params: { scope: 'unsupported', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'unsupported', search: 'awesome' }
expect(response).to have_gitlab_http_status(:bad_request)
end
@@ -151,7 +215,7 @@ describe API::Search do
context 'when scope is missing' do
it 'returns 400 error' do
- get api("/groups/#{group.id}/search", user), params: { search: 'awesome' }
+ get api(endpoint, user), params: { search: 'awesome' }
expect(response).to have_gitlab_http_status(:bad_request)
end
@@ -178,40 +242,66 @@ describe API::Search do
context 'with correct params' do
context 'for projects scope' do
before do
- get api("/groups/#{group.id}/search", user), params: { scope: 'projects', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'projects', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/projects'
+
+ it_behaves_like 'pagination', scope: :projects
end
context 'for issues scope' do
before do
create(:issue, project: project, title: 'awesome issue')
- get api("/groups/#{group.id}/search", user), params: { scope: 'issues', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'issues', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/issues'
+
+ describe 'pagination' do
+ before do
+ create(:issue, project: project, title: 'another issue')
+ end
+
+ include_examples 'pagination', scope: :issues
+ end
end
context 'for merge_requests scope' do
before do
create(:merge_request, source_project: repo_project, title: 'awesome mr')
- get api("/groups/#{group.id}/search", user), params: { scope: 'merge_requests', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'merge_requests', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/merge_requests'
+
+ describe 'pagination' do
+ before do
+ create(:merge_request, source_project: repo_project, title: 'another mr', target_branch: 'another_branch')
+ end
+
+ include_examples 'pagination', scope: :merge_requests
+ end
end
context 'for milestones scope' do
before do
create(:milestone, project: project, title: 'awesome milestone')
- get api("/groups/#{group.id}/search", user), params: { scope: 'milestones', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'milestones', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/milestones'
+
+ describe 'pagination' do
+ before do
+ create(:milestone, project: project, title: 'another milestone')
+ end
+
+ include_examples 'pagination', scope: :milestones
+ end
end
context 'for milestones scope with group path as id' do
@@ -231,16 +321,24 @@ describe API::Search do
user = create(:user, name: 'billy')
create(:group_member, :developer, user: user, group: group)
- get api("/groups/#{group.id}/search", user), params: { scope: 'users', search: 'billy' }
+ get api(endpoint, user), params: { scope: 'users', search: 'billy' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/user/basics'
+ describe 'pagination' do
+ before do
+ create(:group_member, :developer, group: group)
+ end
+
+ include_examples 'pagination', scope: :users
+ end
+
context 'when users search feature is disabled' do
before do
allow(Feature).to receive(:disabled?).with(:users_search, default_enabled: true).and_return(true)
- get api("/groups/#{group.id}/search", user), params: { scope: 'users', search: 'billy' }
+ get api(endpoint, user), params: { scope: 'users', search: 'billy' }
end
it 'returns 400 error' do
@@ -263,9 +361,11 @@ describe API::Search do
end
describe "GET /projects/:id/search" do
+ let(:endpoint) { "/projects/#{project.id}/search" }
+
context 'when user is not authenticated' do
it 'returns 401 error' do
- get api("/projects/#{project.id}/search"), params: { scope: 'issues', search: 'awesome' }
+ get api(endpoint), params: { scope: 'issues', search: 'awesome' }
expect(response).to have_gitlab_http_status(:unauthorized)
end
@@ -273,7 +373,7 @@ describe API::Search do
context 'when scope is not supported' do
it 'returns 400 error' do
- get api("/projects/#{project.id}/search", user), params: { scope: 'unsupported', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'unsupported', search: 'awesome' }
expect(response).to have_gitlab_http_status(:bad_request)
end
@@ -281,7 +381,7 @@ describe API::Search do
context 'when scope is missing' do
it 'returns 400 error' do
- get api("/projects/#{project.id}/search", user), params: { search: 'awesome' }
+ get api(endpoint, user), params: { search: 'awesome' }
expect(response).to have_gitlab_http_status(:bad_request)
end
@@ -299,7 +399,7 @@ describe API::Search do
it 'returns 404 error' do
project.update!(visibility_level: Gitlab::VisibilityLevel::PRIVATE)
- get api("/projects/#{project.id}/search", user), params: { scope: 'issues', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'issues', search: 'awesome' }
expect(response).to have_gitlab_http_status(:not_found)
end
@@ -310,20 +410,38 @@ describe API::Search do
before do
create(:issue, project: project, title: 'awesome issue')
- get api("/projects/#{project.id}/search", user), params: { scope: 'issues', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'issues', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/issues'
+
+ describe 'pagination' do
+ before do
+ create(:issue, project: project, title: 'another issue')
+ end
+
+ include_examples 'pagination', scope: :issues
+ end
end
context 'for merge_requests scope' do
+ let(:endpoint) { "/projects/#{repo_project.id}/search" }
+
before do
create(:merge_request, source_project: repo_project, title: 'awesome mr')
- get api("/projects/#{repo_project.id}/search", user), params: { scope: 'merge_requests', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'merge_requests', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/merge_requests'
+
+ describe 'pagination' do
+ before do
+ create(:merge_request, source_project: repo_project, title: 'another mr', target_branch: 'another_branch')
+ end
+
+ include_examples 'pagination', scope: :merge_requests
+ end
end
context 'for milestones scope' do
@@ -333,10 +451,18 @@ describe API::Search do
context 'when user can read milestones' do
before do
- get api("/projects/#{project.id}/search", user), params: { scope: 'milestones', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'milestones', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/milestones'
+
+ describe 'pagination' do
+ before do
+ create(:milestone, project: project, title: 'another milestone')
+ end
+
+ include_examples 'pagination', scope: :milestones
+ end
end
context 'when user cannot read project milestones' do
@@ -346,7 +472,7 @@ describe API::Search do
end
it 'returns empty array' do
- get api("/projects/#{project.id}/search", user), params: { scope: 'milestones', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'milestones', search: 'awesome' }
milestones = json_response
@@ -360,16 +486,24 @@ describe API::Search do
user1 = create(:user, name: 'billy')
create(:project_member, :developer, user: user1, project: project)
- get api("/projects/#{project.id}/search", user), params: { scope: 'users', search: 'billy' }
+ get api(endpoint, user), params: { scope: 'users', search: 'billy' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/user/basics'
+ describe 'pagination' do
+ before do
+ create(:project_member, :developer, project: project)
+ end
+
+ include_examples 'pagination', scope: :users
+ end
+
context 'when users search feature is disabled' do
before do
allow(Feature).to receive(:disabled?).with(:users_search, default_enabled: true).and_return(true)
- get api("/projects/#{project.id}/search", user), params: { scope: 'users', search: 'billy' }
+ get api(endpoint, user), params: { scope: 'users', search: 'billy' }
end
it 'returns 400 error' do
@@ -382,29 +516,51 @@ describe API::Search do
before do
create(:note_on_merge_request, project: project, note: 'awesome note')
- get api("/projects/#{project.id}/search", user), params: { scope: 'notes', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'notes', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/notes'
+
+ describe 'pagination' do
+ before do
+ mr = create(:merge_request, source_project: project, target_branch: 'another_branch')
+ create(:note, project: project, noteable: mr, note: 'another note')
+ end
+
+ include_examples 'pagination', scope: :notes
+ end
end
context 'for wiki_blobs scope' do
+ let(:wiki) { create(:project_wiki, project: project) }
+
before do
- wiki = create(:project_wiki, project: project)
create(:wiki_page, wiki: wiki, title: 'home', content: "Awesome page")
- get api("/projects/#{project.id}/search", user), params: { scope: 'wiki_blobs', search: 'awesome' }
+ get api(endpoint, user), params: { scope: 'wiki_blobs', search: 'awesome' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/blobs'
+
+ describe 'pagination' do
+ before do
+ create(:wiki_page, wiki: wiki, title: 'home 2', content: 'Another page')
+ end
+
+ include_examples 'pagination', scope: :wiki_blobs, search: 'page'
+ end
end
context 'for commits scope' do
+ let(:endpoint) { "/projects/#{repo_project.id}/search" }
+
before do
- get api("/projects/#{repo_project.id}/search", user), params: { scope: 'commits', search: '498214de67004b1da3d820901307bed2a68a8ef6' }
+ get api(endpoint, user), params: { scope: 'commits', search: '498214de67004b1da3d820901307bed2a68a8ef6' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/commits_details'
+
+ it_behaves_like 'pagination', scope: :commits, search: 'merge'
end
context 'for commits scope with project path as id' do
@@ -416,15 +572,19 @@ describe API::Search do
end
context 'for blobs scope' do
+ let(:endpoint) { "/projects/#{repo_project.id}/search" }
+
before do
- get api("/projects/#{repo_project.id}/search", user), params: { scope: 'blobs', search: 'monitors' }
+ get api(endpoint, user), params: { scope: 'blobs', search: 'monitors' }
end
it_behaves_like 'response is correct', schema: 'public_api/v4/blobs', size: 2
+ it_behaves_like 'pagination', scope: :blobs, search: 'monitors'
+
context 'filters' do
it 'by filename' do
- get api("/projects/#{repo_project.id}/search", user), params: { scope: 'blobs', search: 'mon filename:PROCESS.md' }
+ get api(endpoint, user), params: { scope: 'blobs', search: 'mon filename:PROCESS.md' }
expect(response).to have_gitlab_http_status(:ok)
expect(json_response.size).to eq(2)
@@ -433,21 +593,21 @@ describe API::Search do
end
it 'by path' do
- get api("/projects/#{repo_project.id}/search", user), params: { scope: 'blobs', search: 'mon path:markdown' }
+ get api(endpoint, user), params: { scope: 'blobs', search: 'mon path:markdown' }
expect(response).to have_gitlab_http_status(:ok)
expect(json_response.size).to eq(8)
end
it 'by extension' do
- get api("/projects/#{repo_project.id}/search", user), params: { scope: 'blobs', search: 'mon extension:md' }
+ get api(endpoint, user), params: { scope: 'blobs', search: 'mon extension:md' }
expect(response).to have_gitlab_http_status(:ok)
expect(json_response.size).to eq(11)
end
it 'by ref' do
- get api("/projects/#{repo_project.id}/search", user), params: { scope: 'blobs', search: 'This file is used in tests for ci_environments_status', ref: 'pages-deploy' }
+ get api(endpoint, user), params: { scope: 'blobs', search: 'This file is used in tests for ci_environments_status', ref: 'pages-deploy' }
expect(response).to have_gitlab_http_status(:ok)
expect(json_response.size).to eq(1)
diff --git a/spec/requests/rack_attack_global_spec.rb b/spec/requests/rack_attack_global_spec.rb
index da0ca4c197a..175c5dd0088 100644
--- a/spec/requests/rack_attack_global_spec.rb
+++ b/spec/requests/rack_attack_global_spec.rb
@@ -262,20 +262,6 @@ describe 'Rack Attack global throttles' do
expect_rejection { post protected_path_that_does_not_require_authentication, params: post_params }
end
-
- context 'when Omnibus throttle should be used' do
- before do
- allow(Gitlab::Throttle)
- .to receive(:should_use_omnibus_protected_paths?).and_return(true)
- end
-
- it 'allows requests over the rate limit' do
- (1 + requests_per_period).times do
- post protected_path_that_does_not_require_authentication, params: post_params
- expect(response).to have_gitlab_http_status(:ok)
- end
- end
- end
end
end
@@ -311,28 +297,6 @@ describe 'Rack Attack global throttles' do
it_behaves_like 'rate-limited token-authenticated requests'
end
-
- context 'when Omnibus throttle should be used' do
- let(:request_args) { [api(api_partial_url, personal_access_token: token)] }
- let(:other_user_request_args) { [api(api_partial_url, personal_access_token: other_user_token)] }
-
- before do
- settings_to_set[:"#{throttle_setting_prefix}_requests_per_period"] = requests_per_period
- settings_to_set[:"#{throttle_setting_prefix}_period_in_seconds"] = period_in_seconds
- settings_to_set[:"#{throttle_setting_prefix}_enabled"] = true
- stub_application_setting(settings_to_set)
-
- allow(Gitlab::Throttle)
- .to receive(:should_use_omnibus_protected_paths?).and_return(true)
- end
-
- it 'allows requests over the rate limit' do
- (1 + requests_per_period).times do
- post(*request_args)
- expect(response).not_to have_gitlab_http_status(:too_many_requests)
- end
- end
- end
end
describe 'web requests authenticated with regular login' do
@@ -352,27 +316,6 @@ describe 'Rack Attack global throttles' do
end
it_behaves_like 'rate-limited web authenticated requests'
-
- context 'when Omnibus throttle should be used' do
- before do
- settings_to_set[:"#{throttle_setting_prefix}_requests_per_period"] = requests_per_period
- settings_to_set[:"#{throttle_setting_prefix}_period_in_seconds"] = period_in_seconds
- settings_to_set[:"#{throttle_setting_prefix}_enabled"] = true
- stub_application_setting(settings_to_set)
-
- allow(Gitlab::Throttle)
- .to receive(:should_use_omnibus_protected_paths?).and_return(true)
-
- login_as(user)
- end
-
- it 'allows requests over the rate limit' do
- (1 + requests_per_period).times do
- post url_that_requires_authentication
- expect(response).not_to have_gitlab_http_status(:too_many_requests)
- end
- end
- end
end
end
end
diff --git a/spec/serializers/accessibility_error_entity_spec.rb b/spec/serializers/accessibility_error_entity_spec.rb
new file mode 100644
index 00000000000..e9bfabb7aa8
--- /dev/null
+++ b/spec/serializers/accessibility_error_entity_spec.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe AccessibilityErrorEntity do
+ let(:entity) { described_class.new(accessibility_error) }
+
+ describe '#as_json' do
+ subject { entity.as_json }
+
+ context 'when accessibility contains an error' do
+ let(:accessibility_error) do
+ {
+ code: "WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.A.NoContent",
+ type: "error",
+ typeCode: 1,
+ message: "Anchor element found with a valid href attribute, but no link content has been supplied.",
+ context: "<a href=\"/\" class=\"navbar-brand animated\"><svg height=\"36\" viewBox=\"0 0 1...</a>",
+ selector: "#main-nav > div:nth-child(1) > a",
+ runner: "htmlcs",
+ runnerExtras: {}
+ }
+ end
+
+ it 'contains correct accessibility error details', :aggregate_failures do
+ expect(subject[:code]).to eq("WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.A.NoContent")
+ expect(subject[:type]).to eq("error")
+ expect(subject[:type_code]).to eq(1)
+ expect(subject[:message]).to eq("Anchor element found with a valid href attribute, but no link content has been supplied.")
+ expect(subject[:context]).to eq("<a href=\"/\" class=\"navbar-brand animated\"><svg height=\"36\" viewBox=\"0 0 1...</a>")
+ expect(subject[:selector]).to eq("#main-nav > div:nth-child(1) > a")
+ expect(subject[:runner]).to eq("htmlcs")
+ expect(subject[:runner_extras]).to be_empty
+ end
+ end
+ end
+end
diff --git a/spec/serializers/accessibility_reports_comparer_entity_spec.rb b/spec/serializers/accessibility_reports_comparer_entity_spec.rb
new file mode 100644
index 00000000000..ed2c17de640
--- /dev/null
+++ b/spec/serializers/accessibility_reports_comparer_entity_spec.rb
@@ -0,0 +1,87 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe AccessibilityReportsComparerEntity do
+ let(:entity) { described_class.new(comparer) }
+ let(:comparer) { Gitlab::Ci::Reports::AccessibilityReportsComparer.new(base_report, head_report) }
+ let(:base_report) { Gitlab::Ci::Reports::AccessibilityReports.new }
+ let(:head_report) { Gitlab::Ci::Reports::AccessibilityReports.new }
+ let(:url) { "https://gitlab.com" }
+ let(:single_error) do
+ [
+ {
+ code: "WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.A.NoContent",
+ type: "error",
+ typeCode: 1,
+ message: "Anchor element found with a valid href attribute, but no link content has been supplied.",
+ context: "<a href=\"/\" class=\"navbar-brand animated\"><svg height=\"36\" viewBox=\"0 0 1...</a>",
+ selector: "#main-nav > div:nth-child(1) > a",
+ runner: "htmlcs",
+ runnerExtras: {}
+ }
+ ]
+ end
+ let(:different_error) do
+ [
+ {
+ code: "WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail",
+ type: "error",
+ typeCode: 1,
+ message: "This element has insufficient contrast at this conformance level.",
+ context: "<a href=\"/stages-devops-lifecycle/\" class=\"main-nav-link\">Product</a>",
+ selector: "#main-nav > div:nth-child(2) > ul > li:nth-child(1) > a",
+ runner: "htmlcs",
+ runnerExtras: {}
+ }
+ ]
+ end
+
+ describe '#as_json' do
+ subject { entity.as_json }
+
+ context 'when base report has error and head has a different error' do
+ before do
+ base_report.add_url(url, single_error)
+ head_report.add_url(url, different_error)
+ end
+
+ it 'contains correct compared accessibility report details', :aggregate_failures do
+ expect(subject[:status]).to eq(Gitlab::Ci::Reports::AccessibilityReportsComparer::STATUS_FAILED)
+ expect(subject[:resolved_errors].first).to include(:code, :type, :type_code, :message, :context, :selector, :runner, :runner_extras)
+ expect(subject[:new_errors].first).to include(:code, :type, :type_code, :message, :context, :selector, :runner, :runner_extras)
+ expect(subject[:existing_errors].first).to include(:code, :type, :type_code, :message, :context, :selector, :runner, :runner_extras)
+ expect(subject[:summary]).to include(total: 2, resolved: 1, errored: 1)
+ end
+ end
+
+ context 'when base report has error and head has the same error' do
+ before do
+ base_report.add_url(url, single_error)
+ head_report.add_url(url, single_error)
+ end
+
+ it 'contains correct compared accessibility report details', :aggregate_failures do
+ expect(subject[:status]).to eq(Gitlab::Ci::Reports::AccessibilityReportsComparer::STATUS_FAILED)
+ expect(subject[:new_errors]).to be_empty
+ expect(subject[:resolved_errors]).to be_empty
+ expect(subject[:existing_errors].first).to include(:code, :type, :type_code, :message, :context, :selector, :runner, :runner_extras)
+ expect(subject[:summary]).to include(total: 1, resolved: 0, errored: 1)
+ end
+ end
+
+ context 'when base report has no error and head has errors' do
+ before do
+ head_report.add_url(url, single_error)
+ end
+
+ it 'contains correct compared accessibility report details', :aggregate_failures do
+ expect(subject[:status]).to eq(Gitlab::Ci::Reports::AccessibilityReportsComparer::STATUS_FAILED)
+ expect(subject[:resolved_errors]).to be_empty
+ expect(subject[:existing_errors]).to be_empty
+ expect(subject[:new_errors].first).to include(:code, :type, :type_code, :message, :context, :selector, :runner, :runner_extras)
+ expect(subject[:summary]).to include(total: 1, resolved: 0, errored: 1)
+ end
+ end
+ end
+end
diff --git a/spec/serializers/accessibility_reports_comparer_serializer_spec.rb b/spec/serializers/accessibility_reports_comparer_serializer_spec.rb
new file mode 100644
index 00000000000..37dc760fdec
--- /dev/null
+++ b/spec/serializers/accessibility_reports_comparer_serializer_spec.rb
@@ -0,0 +1,65 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe AccessibilityReportsComparerSerializer do
+ let(:project) { double(:project) }
+ let(:serializer) { described_class.new(project: project).represent(comparer) }
+ let(:comparer) { Gitlab::Ci::Reports::AccessibilityReportsComparer.new(base_report, head_report) }
+ let(:base_report) { Gitlab::Ci::Reports::AccessibilityReports.new }
+ let(:head_report) { Gitlab::Ci::Reports::AccessibilityReports.new }
+ let(:url) { "https://gitlab.com" }
+ let(:single_error) do
+ [
+ {
+ code: "WCAG2AA.Principle4.Guideline4_1.4_1_2.H91.A.NoContent",
+ type: "error",
+ typeCode: 1,
+ message: "Anchor element found with a valid href attribute, but no link content has been supplied.",
+ context: "<a href=\"/\" class=\"navbar-brand animated\"><svg height=\"36\" viewBox=\"0 0 1...</a>",
+ selector: "#main-nav > divnth-child(1) > a",
+ runner: "htmlcs",
+ runnerExtras: {}
+ }
+ ]
+ end
+ let(:different_error) do
+ [
+ {
+ code: "WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail",
+ type: "error",
+ typeCode: 1,
+ message: "This element has insufficient contrast at this conformance level.",
+ context: "<a href=\"/stages-devops-lifecycle/\" class=\"main-nav-link\">Product</a>",
+ selector: "#main-nav > divnth-child(2) > ul > linth-child(1) > a",
+ runner: "htmlcs",
+ runnerExtras: {}
+ }
+ ]
+ end
+
+ describe '#to_json' do
+ subject { serializer.as_json }
+
+ context 'when base report has error and head has a different error' do
+ before do
+ base_report.add_url(url, single_error)
+ head_report.add_url(url, different_error)
+ end
+
+ it 'matches the schema' do
+ expect(subject).to match_schema('entities/accessibility_reports_comparer')
+ end
+ end
+
+ context 'when base report has no error and head has errors' do
+ before do
+ head_report.add_url(url, single_error)
+ end
+
+ it 'matches the schema' do
+ expect(subject).to match_schema('entities/accessibility_reports_comparer')
+ end
+ end
+ end
+end
diff --git a/spec/services/alert_management/process_prometheus_alert_service_spec.rb b/spec/services/alert_management/process_prometheus_alert_service_spec.rb
new file mode 100644
index 00000000000..73f9f103902
--- /dev/null
+++ b/spec/services/alert_management/process_prometheus_alert_service_spec.rb
@@ -0,0 +1,136 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe AlertManagement::ProcessPrometheusAlertService do
+ let_it_be(:project) { create(:project) }
+
+ describe '#execute' do
+ subject { described_class.new(project, nil, payload).execute }
+
+ context 'when alert payload is valid' do
+ let(:parsed_alert) { Gitlab::Alerting::Alert.new(project: project, payload: payload) }
+ let(:payload) do
+ {
+ 'status' => status,
+ 'labels' => {
+ 'alertname' => 'GitalyFileServerDown',
+ 'channel' => 'gitaly',
+ 'pager' => 'pagerduty',
+ 'severity' => 's1'
+ },
+ 'annotations' => {
+ 'description' => 'Alert description',
+ 'runbook' => 'troubleshooting/gitaly-down.md',
+ 'title' => 'Alert title'
+ },
+ 'startsAt' => '2020-04-27T10:10:22.265949279Z',
+ 'endsAt' => '2020-04-27T10:20:22.265949279Z',
+ 'generatorURL' => 'http://8d467bd4607a:9090/graph?g0.expr=vector%281%29&g0.tab=1',
+ 'fingerprint' => 'b6ac4d42057c43c1'
+ }
+ end
+
+ context 'when Prometheus alert status is firing' do
+ let(:status) { 'firing' }
+
+ context 'when alert with the same fingerprint already exists' do
+ let!(:alert) { create(:alert_management_alert, :resolved, project: project, fingerprint: parsed_alert.gitlab_fingerprint) }
+
+ context 'when status can be changed' do
+ it 'changes status to triggered' do
+ expect { subject }.to change { alert.reload.triggered? }.to(true)
+ end
+ end
+
+ context 'when status change did not succeed' do
+ before do
+ allow(AlertManagement::Alert).to receive(:for_fingerprint).and_return([alert])
+ allow(alert).to receive(:trigger).and_return(false)
+ end
+
+ it 'writes a warning to the log' do
+ expect(Gitlab::AppLogger).to receive(:warn).with(
+ message: 'Unable to update AlertManagement::Alert status to triggered',
+ project_id: project.id,
+ alert_id: alert.id
+ )
+
+ subject
+ end
+ end
+
+ it { is_expected.to be_success }
+ end
+
+ context 'when alert does not exist' do
+ context 'when alert can be created' do
+ it 'creates a new alert' do
+ expect { subject }.to change { AlertManagement::Alert.where(project: project).count }.by(1)
+ end
+ end
+
+ context 'when alert cannot be created' do
+ let(:errors) { double(messages: { hosts: ['hosts array is over 255 chars'] })}
+ let(:am_alert) { instance_double(AlertManagement::Alert, save: false, errors: errors) }
+
+ before do
+ allow(AlertManagement::Alert).to receive(:new).and_return(am_alert)
+ end
+
+ it 'writes a warning to the log' do
+ expect(Gitlab::AppLogger).to receive(:warn).with(
+ message: 'Unable to create AlertManagement::Alert',
+ project_id: project.id,
+ alert_errors: { hosts: ['hosts array is over 255 chars'] }
+ )
+
+ subject
+ end
+ end
+
+ it { is_expected.to be_success }
+ end
+ end
+
+ context 'when Prometheus alert status is resolved' do
+ let(:status) { 'resolved' }
+ let!(:alert) { create(:alert_management_alert, project: project, fingerprint: parsed_alert.gitlab_fingerprint) }
+
+ context 'when status can be changed' do
+ it 'resolves an existing alert' do
+ expect { subject }.to change { alert.reload.resolved? }.to(true)
+ end
+ end
+
+ context 'when status change did not succeed' do
+ before do
+ allow(AlertManagement::Alert).to receive(:for_fingerprint).and_return([alert])
+ allow(alert).to receive(:resolve).and_return(false)
+ end
+
+ it 'writes a warning to the log' do
+ expect(Gitlab::AppLogger).to receive(:warn).with(
+ message: 'Unable to update AlertManagement::Alert status to resolved',
+ project_id: project.id,
+ alert_id: alert.id
+ )
+
+ subject
+ end
+ end
+
+ it { is_expected.to be_success }
+ end
+ end
+
+ context 'when alert payload is invalid' do
+ let(:payload) { {} }
+
+ it 'responds with bad_request' do
+ expect(subject).to be_error
+ expect(subject.http_status).to eq(:bad_request)
+ end
+ end
+ end
+end
diff --git a/spec/services/alert_management/update_alert_status_service_spec.rb b/spec/services/alert_management/update_alert_status_service_spec.rb
index 325b03840d3..5bdad7a8e19 100644
--- a/spec/services/alert_management/update_alert_status_service_spec.rb
+++ b/spec/services/alert_management/update_alert_status_service_spec.rb
@@ -11,7 +11,7 @@ describe AlertManagement::UpdateAlertStatusService do
let(:new_status) { 'acknowledged' }
it 'updates the status' do
- expect { execute }.to change { alert.status }.to(new_status)
+ expect { execute }.to change { alert.acknowledged? }.to(true)
end
context 'with unknown status' do
diff --git a/spec/services/application_settings/update_service_spec.rb b/spec/services/application_settings/update_service_spec.rb
index 069572e4dff..3a37cbc3522 100644
--- a/spec/services/application_settings/update_service_spec.rb
+++ b/spec/services/application_settings/update_service_spec.rb
@@ -335,7 +335,7 @@ describe ApplicationSettings::UpdateService do
end
end
- context 'when issues_create_limit is passsed' do
+ context 'when issues_create_limit is passed' do
let(:params) do
{
issues_create_limit: 600
diff --git a/spec/services/base_container_service_spec.rb b/spec/services/base_container_service_spec.rb
new file mode 100644
index 00000000000..47cfb387e25
--- /dev/null
+++ b/spec/services/base_container_service_spec.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe BaseContainerService do
+ let(:project) { Project.new }
+ let(:user) { User.new }
+
+ describe '#initialize' do
+ it 'accepts container and current_user' do
+ subject = described_class.new(container: project, current_user: user)
+
+ expect(subject.container).to eq(project)
+ expect(subject.current_user).to eq(user)
+ end
+
+ it 'treats current_user as optional' do
+ subject = described_class.new(container: project)
+
+ expect(subject.current_user).to be_nil
+ end
+ end
+end
diff --git a/spec/services/ci/compare_accessibility_reports_service_spec.rb b/spec/services/ci/compare_accessibility_reports_service_spec.rb
new file mode 100644
index 00000000000..aee1fd14bc5
--- /dev/null
+++ b/spec/services/ci/compare_accessibility_reports_service_spec.rb
@@ -0,0 +1,62 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe Ci::CompareAccessibilityReportsService do
+ let(:service) { described_class.new(project) }
+ let(:project) { create(:project, :repository) }
+
+ describe '#execute' do
+ subject { service.execute(base_pipeline, head_pipeline) }
+
+ context 'when head pipeline has accessibility reports' do
+ let(:base_pipeline) { nil }
+ let(:head_pipeline) { create(:ci_pipeline, :with_accessibility_reports, project: project) }
+
+ it 'returns status and data' do
+ expect(subject[:status]).to eq(:parsed)
+ expect(subject[:data]).to match_schema('entities/accessibility_reports_comparer')
+ end
+ end
+
+ context 'when base and head pipelines have accessibility reports' do
+ let(:base_pipeline) { create(:ci_pipeline, :with_accessibility_reports, project: project) }
+ let(:head_pipeline) { create(:ci_pipeline, :with_accessibility_reports, project: project) }
+
+ it 'returns status and data' do
+ expect(subject[:status]).to eq(:parsed)
+ expect(subject[:data]).to match_schema('entities/accessibility_reports_comparer')
+ end
+ end
+ end
+
+ describe '#latest?' do
+ subject { service.latest?(base_pipeline, head_pipeline, data) }
+
+ let!(:base_pipeline) { nil }
+ let!(:head_pipeline) { create(:ci_pipeline, :with_accessibility_reports, project: project) }
+ let!(:key) { service.send(:key, base_pipeline, head_pipeline) }
+
+ context 'when cache key is latest' do
+ let(:data) { { key: key } }
+
+ it { is_expected.to be_truthy }
+ end
+
+ context 'when cache key is outdated' do
+ before do
+ head_pipeline.update_column(:updated_at, 10.minutes.ago)
+ end
+
+ let(:data) { { key: key } }
+
+ it { is_expected.to be_falsy }
+ end
+
+ context 'when cache key is empty' do
+ let(:data) { { key: nil } }
+
+ it { is_expected.to be_falsy }
+ end
+ end
+end
diff --git a/spec/services/ci/pipeline_processing/atomic_processing_service/status_collection_spec.rb b/spec/services/ci/pipeline_processing/atomic_processing_service/status_collection_spec.rb
index b487730d07f..de3c7713ac8 100644
--- a/spec/services/ci/pipeline_processing/atomic_processing_service/status_collection_spec.rb
+++ b/spec/services/ci/pipeline_processing/atomic_processing_service/status_collection_spec.rb
@@ -18,7 +18,7 @@ describe Ci::PipelineProcessing::AtomicProcessingService::StatusCollection do
it 'does update existing status of processable' do
collection.set_processable_status(test_a.id, 'success', 100)
- expect(collection.status_for_names(['test-a'])).to eq('success')
+ expect(collection.status_for_names(['test-a'], dag: false)).to eq('success')
end
it 'ignores a missing processable' do
@@ -33,15 +33,18 @@ describe Ci::PipelineProcessing::AtomicProcessingService::StatusCollection do
end
describe '#status_for_names' do
- where(:names, :status) do
- %w[build-a] | 'success'
- %w[build-a build-b] | 'failed'
- %w[build-a test-a] | 'running'
+ where(:names, :status, :dag) do
+ %w[build-a] | 'success' | false
+ %w[build-a build-b] | 'failed' | false
+ %w[build-a test-a] | 'running' | false
+ %w[build-a] | 'success' | true
+ %w[build-a build-b] | 'failed' | true
+ %w[build-a test-a] | 'pending' | true
end
with_them do
it 'returns composite status of given names' do
- expect(collection.status_for_names(names)).to eq(status)
+ expect(collection.status_for_names(names, dag: dag)).to eq(status)
end
end
end
diff --git a/spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb b/spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb
index 13448ea759b..3b66ecff196 100644
--- a/spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb
+++ b/spec/services/ci/pipeline_processing/atomic_processing_service_spec.rb
@@ -2,17 +2,19 @@
require 'spec_helper'
require_relative 'shared_processing_service.rb'
-# require_relative 'shared_processing_service_tests_with_yaml.rb'
+require_relative 'shared_processing_service_tests_with_yaml.rb'
describe Ci::PipelineProcessing::AtomicProcessingService do
before do
stub_feature_flags(ci_atomic_processing: true)
+
+ # This feature flag is implicit
+ # Atomic Processing does not process statuses differently
+ stub_feature_flags(ci_composite_status: true)
end
it_behaves_like 'Pipeline Processing Service'
- # TODO: This needs to be enabled. There is a different behavior when using `needs` depending on
- # a `manual` job. More info: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29405#note_327520605
- # it_behaves_like 'Pipeline Processing Service Tests With Yaml'
+ it_behaves_like 'Pipeline Processing Service Tests With Yaml'
private
diff --git a/spec/services/ci/pipeline_processing/legacy_processing_service_spec.rb b/spec/services/ci/pipeline_processing/legacy_processing_service_spec.rb
index d4fb03cf643..fd491bf461b 100644
--- a/spec/services/ci/pipeline_processing/legacy_processing_service_spec.rb
+++ b/spec/services/ci/pipeline_processing/legacy_processing_service_spec.rb
@@ -7,11 +7,25 @@ require_relative 'shared_processing_service_tests_with_yaml.rb'
describe Ci::PipelineProcessing::LegacyProcessingService do
before do
stub_feature_flags(ci_atomic_processing: false)
- stub_feature_flags(ci_composite_status: false)
end
- it_behaves_like 'Pipeline Processing Service'
- it_behaves_like 'Pipeline Processing Service Tests With Yaml'
+ context 'when ci_composite_status is enabled' do
+ before do
+ stub_feature_flags(ci_composite_status: true)
+ end
+
+ it_behaves_like 'Pipeline Processing Service'
+ it_behaves_like 'Pipeline Processing Service Tests With Yaml'
+ end
+
+ context 'when ci_composite_status is disabled' do
+ before do
+ stub_feature_flags(ci_composite_status: false)
+ end
+
+ it_behaves_like 'Pipeline Processing Service'
+ it_behaves_like 'Pipeline Processing Service Tests With Yaml'
+ end
private
diff --git a/spec/services/ci/pipeline_processing/shared_processing_service.rb b/spec/services/ci/pipeline_processing/shared_processing_service.rb
index ffe5eacfc48..29fa43001ae 100644
--- a/spec/services/ci/pipeline_processing/shared_processing_service.rb
+++ b/spec/services/ci/pipeline_processing/shared_processing_service.rb
@@ -816,10 +816,10 @@ shared_examples 'Pipeline Processing Service' do
context 'when a needed job is skipped', :sidekiq_inline do
let!(:linux_build) { create_build('linux:build', stage: 'build', stage_idx: 0) }
let!(:linux_rspec) { create_build('linux:rspec', stage: 'test', stage_idx: 1) }
- let!(:deploy) do
- create_build('deploy', stage: 'deploy', stage_idx: 2, scheduling_type: :dag, needs: [
- create(:ci_build_need, name: 'linux:rspec')
- ])
+ let!(:deploy) { create_build('deploy', stage: 'deploy', stage_idx: 2, scheduling_type: :dag) }
+
+ before do
+ create(:ci_build_need, build: deploy, name: 'linux:build')
end
it 'skips the jobs depending on it' do
@@ -836,6 +836,23 @@ shared_examples 'Pipeline Processing Service' do
end
end
+ context 'when a needed job is manual', :sidekiq_inline do
+ let!(:linux_build) { create_build('linux:build', stage: 'build', stage_idx: 0, when: 'manual', allow_failure: true) }
+ let!(:deploy) { create_build('deploy', stage: 'deploy', stage_idx: 1, scheduling_type: :dag) }
+
+ before do
+ create(:ci_build_need, build: deploy, name: 'linux:build')
+ end
+
+ it 'makes deploy DAG to be waiting for optional manual to finish' do
+ expect(process_pipeline).to be_truthy
+
+ expect(stages).to eq(%w(skipped created))
+ expect(all_builds.manual).to contain_exactly(linux_build)
+ expect(all_builds.created).to contain_exactly(deploy)
+ end
+ end
+
private
def all_builds
diff --git a/spec/services/ci/pipeline_processing/shared_processing_service_tests_with_yaml.rb b/spec/services/ci/pipeline_processing/shared_processing_service_tests_with_yaml.rb
index ec3c10b3bb5..93f83f0ea3b 100644
--- a/spec/services/ci/pipeline_processing/shared_processing_service_tests_with_yaml.rb
+++ b/spec/services/ci/pipeline_processing/shared_processing_service_tests_with_yaml.rb
@@ -18,36 +18,40 @@ shared_context 'Pipeline Processing Service Tests With Yaml' do
project.add_developer(user)
end
- it 'follows transitions', :sidekiq_inline do
+ it 'follows transitions' do
expect(pipeline).to be_persisted
- check_expectation(test_file.dig('init', 'expect'))
+ Sidekiq::Worker.drain_all # ensure that all async jobs are executed
+ check_expectation(test_file.dig('init', 'expect'), "init")
- test_file['transitions'].each do |transition|
+ test_file['transitions'].each_with_index do |transition, idx|
event_on_jobs(transition['event'], transition['jobs'])
- check_expectation(transition['expect'])
+ Sidekiq::Worker.drain_all # ensure that all async jobs are executed
+ check_expectation(transition['expect'], "transition:#{idx}")
end
end
private
- def check_expectation(expectation)
- expectation.each do |key, value|
- case key
- when 'pipeline'
- expect(pipeline.reload.status).to eq(value)
- when 'stages'
- expect(pipeline.stages.pluck(:name, :status).to_h).to eq(value)
- when 'jobs'
- expect(pipeline.builds.latest.pluck(:name, :status).to_h).to eq(value)
- end
- end
+ def check_expectation(expectation, message)
+ expect(current_state.deep_stringify_keys).to eq(expectation), message
+ end
+
+ def current_state
+ # reload pipeline and all relations
+ pipeline.reload
+
+ {
+ pipeline: pipeline.status,
+ stages: pipeline.ordered_stages.pluck(:name, :status).to_h,
+ jobs: pipeline.statuses.latest.pluck(:name, :status).to_h
+ }
end
def event_on_jobs(event, job_names)
- builds = pipeline.builds.latest.where(name: job_names).to_a
- expect(builds.count).to eq(job_names.count) # ensure that we have the same counts
+ statuses = pipeline.statuses.latest.by_name(job_names).to_a
+ expect(statuses.count).to eq(job_names.count) # ensure that we have the same counts
- builds.each { |build| build.public_send("#{event}!") }
+ statuses.each { |status| status.public_send("#{event}!") }
end
end
end
diff --git a/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_false.yml b/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_false.yml
index 1a1412f2a11..1d61cd24f8c 100644
--- a/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_false.yml
+++ b/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_false.yml
@@ -24,9 +24,9 @@ transitions:
- event: enqueue
jobs: [test]
expect:
- pipeline: manual
+ pipeline: pending
stages:
- test: manual
+ test: pending
deploy: created
jobs:
test: pending
diff --git a/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true.yml b/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true.yml
index 39545617926..d8ca563b141 100644
--- a/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true.yml
+++ b/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true.yml
@@ -26,7 +26,7 @@ transitions:
expect:
pipeline: pending
stages:
- test: running
+ test: pending
deploy: created
jobs:
test: pending
diff --git a/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_deploy_on_failure.yml b/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_deploy_on_failure.yml
index 0c6a5a7e364..d375c6a49e0 100644
--- a/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_deploy_on_failure.yml
+++ b/spec/services/ci/pipeline_processing/test_cases/dag_test_manual_allow_failure_true_deploy_on_failure.yml
@@ -27,7 +27,7 @@ transitions:
expect:
pipeline: pending
stages:
- test: running
+ test: pending
deploy: created
jobs:
test: pending
diff --git a/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_false.yml b/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_false.yml
index d37288b2075..2ffa35b56d7 100644
--- a/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_false.yml
+++ b/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_false.yml
@@ -23,9 +23,9 @@ transitions:
- event: enqueue
jobs: [test]
expect:
- pipeline: manual
+ pipeline: pending
stages:
- test: manual
+ test: pending
deploy: created
jobs:
test: pending
diff --git a/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true.yml b/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true.yml
index bac339cc58d..088fab5ca09 100644
--- a/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true.yml
+++ b/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true.yml
@@ -36,7 +36,7 @@ transitions:
expect:
pipeline: running
stages:
- test: running
+ test: pending
deploy: success
jobs:
test: pending
diff --git a/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true_deploy_on_failure.yml b/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true_deploy_on_failure.yml
index ab1b210848a..2b30316aef6 100644
--- a/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true_deploy_on_failure.yml
+++ b/spec/services/ci/pipeline_processing/test_cases/stage_test_manual_allow_failure_true_deploy_on_failure.yml
@@ -26,7 +26,7 @@ transitions:
expect:
pipeline: pending
stages:
- test: running
+ test: pending
deploy: skipped
jobs:
test: pending
diff --git a/spec/services/ci/pipeline_schedule_service_spec.rb b/spec/services/ci/pipeline_schedule_service_spec.rb
index f7590720f66..867ed0acc0d 100644
--- a/spec/services/ci/pipeline_schedule_service_spec.rb
+++ b/spec/services/ci/pipeline_schedule_service_spec.rb
@@ -25,38 +25,6 @@ describe Ci::PipelineScheduleService do
subject
end
- context 'when ci_pipeline_schedule_async feature flag is disabled' do
- before do
- stub_feature_flags(ci_pipeline_schedule_async: false)
- end
-
- it 'runs RunPipelineScheduleWorker synchronously' do
- expect_next_instance_of(RunPipelineScheduleWorker) do |worker|
- expect(worker).to receive(:perform).with(schedule.id, schedule.owner.id)
- end
-
- subject
- end
-
- it 'calls Garbage Collection manually' do
- expect(GC).to receive(:start)
-
- subject
- end
-
- context 'when ci_pipeline_schedule_force_gc feature flag is disabled' do
- before do
- stub_feature_flags(ci_pipeline_schedule_force_gc: false)
- end
-
- it 'does not call Garbage Collection manually' do
- expect(GC).not_to receive(:start)
-
- subject
- end
- end
- end
-
context 'when owner is nil' do
let(:schedule) { create(:ci_pipeline_schedule, project: project, owner: nil) }
diff --git a/spec/services/merge_requests/rebase_service_spec.rb b/spec/services/merge_requests/rebase_service_spec.rb
index 22df3b84243..69d555f838d 100644
--- a/spec/services/merge_requests/rebase_service_spec.rb
+++ b/spec/services/merge_requests/rebase_service_spec.rb
@@ -72,12 +72,15 @@ describe MergeRequests::RebaseService do
it_behaves_like 'sequence of failure and success'
context 'when unexpected error occurs' do
+ let(:exception) { RuntimeError.new('Something went wrong') }
+ let(:merge_request_ref) { merge_request.to_reference(full: true) }
+
before do
- allow(repository).to receive(:gitaly_operation_client).and_raise('Something went wrong')
+ allow(repository).to receive(:gitaly_operation_client).and_raise(exception)
end
it 'saves a generic error message' do
- subject.execute(merge_request)
+ service.execute(merge_request)
expect(merge_request.reload.merge_error).to eq(described_class::REBASE_ERROR)
end
@@ -86,6 +89,18 @@ describe MergeRequests::RebaseService do
expect(service.execute(merge_request)).to match(status: :error,
message: described_class::REBASE_ERROR)
end
+
+ it 'logs the error' do
+ expect(service).to receive(:log_error).with(exception: exception, message: described_class::REBASE_ERROR, save_message_on_model: true).and_call_original
+ expect(Gitlab::ErrorTracking).to receive(:track_exception).with(exception,
+ class: described_class.to_s,
+ merge_request: merge_request_ref,
+ merge_request_id: merge_request.id,
+ message: described_class::REBASE_ERROR,
+ save_message_on_model: true).and_call_original
+
+ service.execute(merge_request)
+ end
end
context 'with git command failure' do
diff --git a/spec/services/merge_requests/squash_service_spec.rb b/spec/services/merge_requests/squash_service_spec.rb
index cb278eec692..a53314ed737 100644
--- a/spec/services/merge_requests/squash_service_spec.rb
+++ b/spec/services/merge_requests/squash_service_spec.rb
@@ -141,15 +141,14 @@ describe MergeRequests::SquashService do
let(:merge_request) { merge_request_with_only_new_files }
let(:error) { 'A test error' }
- context 'with gitaly enabled' do
+ context 'with an error in Gitaly UserSquash RPC' do
before do
allow(repository.gitaly_operation_client).to receive(:user_squash)
.and_raise(Gitlab::Git::Repository::GitError, error)
end
- it 'logs the stage and output' do
- expect(service).to receive(:log_error).with(log_error)
- expect(service).to receive(:log_error).with(error)
+ it 'logs the error' do
+ expect(service).to receive(:log_error).with(exception: an_instance_of(Gitlab::Git::Repository::GitError), message: 'Failed to squash merge request')
service.execute
end
@@ -158,19 +157,42 @@ describe MergeRequests::SquashService do
expect(service.execute).to match(status: :error, message: a_string_including('squash'))
end
end
+
+ context 'with an error in squash in progress check' do
+ before do
+ allow(repository).to receive(:squash_in_progress?)
+ .and_raise(Gitlab::Git::Repository::GitError, error)
+ end
+
+ it 'logs the stage and output' do
+ expect(service).to receive(:log_error).with(exception: an_instance_of(Gitlab::Git::Repository::GitError), message: 'Failed to check squash in progress')
+
+ service.execute
+ end
+
+ it 'returns an error' do
+ expect(service.execute).to match(status: :error, message: 'An error occurred while checking whether another squash is in progress.')
+ end
+ end
end
context 'when any other exception is thrown' do
let(:merge_request) { merge_request_with_only_new_files }
- let(:error) { 'A test error' }
+ let(:merge_request_ref) { merge_request.to_reference(full: true) }
+ let(:exception) { RuntimeError.new('A test error') }
before do
- allow(merge_request.target_project.repository).to receive(:squash).and_raise(error)
+ allow(merge_request.target_project.repository).to receive(:squash).and_raise(exception)
end
- it 'logs the MR reference and exception' do
- expect(service).to receive(:log_error).with(a_string_including("#{project.full_path}#{merge_request.to_reference}"))
- expect(service).to receive(:log_error).with(error)
+ it 'logs the error' do
+ expect(service).to receive(:log_error).with(exception: exception, message: 'Failed to squash merge request').and_call_original
+ expect(Gitlab::ErrorTracking).to receive(:track_exception).with(exception,
+ class: described_class.to_s,
+ merge_request: merge_request_ref,
+ merge_request_id: merge_request.id,
+ message: 'Failed to squash merge request',
+ save_message_on_model: false).and_call_original
service.execute
end
diff --git a/spec/services/pod_logs/base_service_spec.rb b/spec/services/pod_logs/base_service_spec.rb
index 3ec5dc68c60..bc4989b59d9 100644
--- a/spec/services/pod_logs/base_service_spec.rb
+++ b/spec/services/pod_logs/base_service_spec.rb
@@ -103,6 +103,36 @@ describe ::PodLogs::BaseService do
expect(result[:container_name]).to eq(container_name)
end
end
+
+ context 'when pod_name is not a string' do
+ let(:params) do
+ {
+ 'pod_name' => { something_that_is: :not_a_string }
+ }
+ end
+
+ it 'returns error' do
+ result = subject.send(:check_arguments, {})
+
+ expect(result[:status]).to eq(:error)
+ expect(result[:message]).to eq('Invalid pod_name')
+ end
+ end
+
+ context 'when container_name is not a string' do
+ let(:params) do
+ {
+ 'container_name' => { something_that_is: :not_a_string }
+ }
+ end
+
+ it 'returns error' do
+ result = subject.send(:check_arguments, {})
+
+ expect(result[:status]).to eq(:error)
+ expect(result[:message]).to eq('Invalid container_name')
+ end
+ end
end
describe '#get_pod_names' do
diff --git a/spec/services/pod_logs/elasticsearch_service_spec.rb b/spec/services/pod_logs/elasticsearch_service_spec.rb
index 79efc91af41..c5a691f2254 100644
--- a/spec/services/pod_logs/elasticsearch_service_spec.rb
+++ b/spec/services/pod_logs/elasticsearch_service_spec.rb
@@ -158,6 +158,21 @@ describe ::PodLogs::ElasticsearchService do
end
end
+ context 'with search provided and invalid' do
+ let(:params) do
+ {
+ 'search' => { term: "foo-bar" }
+ }
+ end
+
+ it 'returns error' do
+ result = subject.send(:check_search, {})
+
+ expect(result[:status]).to eq(:error)
+ expect(result[:message]).to eq("Invalid search parameter")
+ end
+ end
+
context 'with search not provided' do
let(:params) do
{}
@@ -188,6 +203,21 @@ describe ::PodLogs::ElasticsearchService do
end
end
+ context 'with cursor provided and invalid' do
+ let(:params) do
+ {
+ 'cursor' => { term: "foo-bar" }
+ }
+ end
+
+ it 'returns error' do
+ result = subject.send(:check_cursor, {})
+
+ expect(result[:status]).to eq(:error)
+ expect(result[:message]).to eq("Invalid cursor parameter")
+ end
+ end
+
context 'with cursor not provided' do
let(:params) do
{}
diff --git a/spec/services/pod_logs/kubernetes_service_spec.rb b/spec/services/pod_logs/kubernetes_service_spec.rb
index da89c7ee117..a1f7645323b 100644
--- a/spec/services/pod_logs/kubernetes_service_spec.rb
+++ b/spec/services/pod_logs/kubernetes_service_spec.rb
@@ -218,7 +218,7 @@ describe ::PodLogs::KubernetesService do
end
it 'returns error if pod_name was specified but does not exist' do
- result = subject.send(:check_pod_name, pod_name: 'another_pod', pods: [pod_name])
+ result = subject.send(:check_pod_name, pod_name: 'another-pod', pods: [pod_name])
expect(result[:status]).to eq(:error)
expect(result[:message]).to eq('Pod does not exist')
@@ -230,6 +230,13 @@ describe ::PodLogs::KubernetesService do
expect(result[:status]).to eq(:error)
expect(result[:message]).to eq('pod_name cannot be larger than 253 chars')
end
+
+ it 'returns error if pod_name is in invalid format' do
+ result = subject.send(:check_pod_name, pod_name: "Invalid_pod_name", pods: [pod_name])
+
+ expect(result[:status]).to eq(:error)
+ expect(result[:message]).to eq('pod_name can contain only lowercase letters, digits, \'-\', and \'.\' and must start and end with an alphanumeric character')
+ end
end
describe '#check_container_name' do
@@ -287,5 +294,16 @@ describe ::PodLogs::KubernetesService do
expect(result[:status]).to eq(:error)
expect(result[:message]).to eq('container_name cannot be larger than 253 chars')
end
+
+ it 'returns error if container_name is in invalid format' do
+ result = subject.send(:check_container_name,
+ container_name: "Invalid_container_name",
+ pod_name: pod_name,
+ raw_pods: raw_pods
+ )
+
+ expect(result[:status]).to eq(:error)
+ expect(result[:message]).to eq('container_name can contain only lowercase letters, digits, \'-\', and \'.\' and must start and end with an alphanumeric character')
+ end
end
end
diff --git a/spec/services/projects/alerting/notify_service_spec.rb b/spec/services/projects/alerting/notify_service_spec.rb
index 8315d2292a0..bfd51874549 100644
--- a/spec/services/projects/alerting/notify_service_spec.rb
+++ b/spec/services/projects/alerting/notify_service_spec.rb
@@ -121,7 +121,7 @@ describe Projects::Alerting::NotifyService do
'hosts' => [],
'payload' => payload_raw,
'severity' => 'critical',
- 'status' => 'triggered',
+ 'status' => AlertManagement::Alert::STATUSES[:triggered],
'events' => 1,
'started_at' => alert.started_at,
'ended_at' => nil
diff --git a/spec/services/projects/prometheus/alerts/notify_service_spec.rb b/spec/services/projects/prometheus/alerts/notify_service_spec.rb
index dce96dda1e3..bfa784cd212 100644
--- a/spec/services/projects/prometheus/alerts/notify_service_spec.rb
+++ b/spec/services/projects/prometheus/alerts/notify_service_spec.rb
@@ -217,6 +217,51 @@ describe Projects::Prometheus::Alerts::NotifyService do
end
end
+ context 'process Alert Management alerts' do
+ let(:process_service) { instance_double(AlertManagement::ProcessPrometheusAlertService) }
+
+ before do
+ create(:prometheus_service, project: project)
+ create(:project_alerting_setting, project: project, token: token)
+ end
+
+ context 'when alert_management_minimal feature enabled' do
+ before do
+ stub_feature_flags(alert_management_minimal: true)
+ end
+
+ context 'with multiple firing alerts and resolving alerts' do
+ let(:payload_raw) do
+ payload_for(firing: [alert_firing, alert_firing], resolved: [alert_resolved])
+ end
+
+ it 'processes Prometheus alerts' do
+ expect(AlertManagement::ProcessPrometheusAlertService)
+ .to receive(:new)
+ .with(project, nil, kind_of(Hash))
+ .exactly(3).times
+ .and_return(process_service)
+ expect(process_service).to receive(:execute).exactly(3).times
+
+ subject
+ end
+ end
+ end
+
+ context 'when alert_management_minimal feature disabled' do
+ before do
+ stub_feature_flags(alert_management_minimal: false)
+ end
+
+ it 'does not process Prometheus alerts' do
+ expect(AlertManagement::ProcessPrometheusAlertService)
+ .not_to receive(:new)
+
+ subject
+ end
+ end
+ end
+
context 'process incident issues' do
before do
create(:prometheus_service, project: project)
@@ -286,6 +331,13 @@ describe Projects::Prometheus::Alerts::NotifyService do
it_behaves_like 'no notifications', http_status: :bad_request
+ it 'does not process Prometheus alerts' do
+ expect(AlertManagement::ProcessPrometheusAlertService)
+ .not_to receive(:new)
+
+ subject
+ end
+
it 'does not process issues' do
expect(IncidentManagement::ProcessPrometheusAlertWorker)
.not_to receive(:perform_async)
diff --git a/spec/services/search_service_spec.rb b/spec/services/search_service_spec.rb
index 77c160ccce2..0333eb85fb6 100644
--- a/spec/services/search_service_spec.rb
+++ b/spec/services/search_service_spec.rb
@@ -18,7 +18,9 @@ describe SearchService do
let(:group_project) { create(:project, group: accessible_group, name: 'group_project') }
let(:public_project) { create(:project, :public, name: 'public_project') }
- subject(:search_service) { described_class.new(user, search: search, scope: scope, page: 1) }
+ let(:per_page) { described_class::DEFAULT_PER_PAGE }
+
+ subject(:search_service) { described_class.new(user, search: search, scope: scope, page: 1, per_page: per_page) }
before do
accessible_project.add_maintainer(user)
@@ -240,6 +242,76 @@ describe SearchService do
end
describe '#search_objects' do
+ context 'handling per_page param' do
+ let(:search) { '' }
+ let(:scope) { nil }
+
+ context 'when nil' do
+ let(:per_page) { nil }
+
+ it "defaults to #{described_class::DEFAULT_PER_PAGE}" do
+ expect_any_instance_of(Gitlab::SearchResults)
+ .to receive(:objects)
+ .with(anything, hash_including(per_page: described_class::DEFAULT_PER_PAGE))
+ .and_call_original
+
+ subject.search_objects
+ end
+ end
+
+ context 'when empty string' do
+ let(:per_page) { '' }
+
+ it "defaults to #{described_class::DEFAULT_PER_PAGE}" do
+ expect_any_instance_of(Gitlab::SearchResults)
+ .to receive(:objects)
+ .with(anything, hash_including(per_page: described_class::DEFAULT_PER_PAGE))
+ .and_call_original
+
+ subject.search_objects
+ end
+ end
+
+ context 'when negative' do
+ let(:per_page) { '-1' }
+
+ it "defaults to #{described_class::DEFAULT_PER_PAGE}" do
+ expect_any_instance_of(Gitlab::SearchResults)
+ .to receive(:objects)
+ .with(anything, hash_including(per_page: described_class::DEFAULT_PER_PAGE))
+ .and_call_original
+
+ subject.search_objects
+ end
+ end
+
+ context 'when present' do
+ let(:per_page) { '50' }
+
+ it "converts to integer and passes to search results" do
+ expect_any_instance_of(Gitlab::SearchResults)
+ .to receive(:objects)
+ .with(anything, hash_including(per_page: 50))
+ .and_call_original
+
+ subject.search_objects
+ end
+ end
+
+ context "when greater than #{described_class::MAX_PER_PAGE}" do
+ let(:per_page) { described_class::MAX_PER_PAGE + 1 }
+
+ it "passes #{described_class::MAX_PER_PAGE}" do
+ expect_any_instance_of(Gitlab::SearchResults)
+ .to receive(:objects)
+ .with(anything, hash_including(per_page: described_class::MAX_PER_PAGE))
+ .and_call_original
+
+ subject.search_objects
+ end
+ end
+ end
+
context 'with accessible project_id' do
it 'returns objects in the project' do
search_objects = described_class.new(
diff --git a/spec/services/system_note_service_spec.rb b/spec/services/system_note_service_spec.rb
index 5b87ec022ae..f3e6cb3cc52 100644
--- a/spec/services/system_note_service_spec.rb
+++ b/spec/services/system_note_service_spec.rb
@@ -462,7 +462,8 @@ describe SystemNoteService do
describe "existing reference" do
before do
allow(JIRA::Resource::Remotelink).to receive(:all).and_return([])
- message = "[#{author.name}|http://localhost/#{author.username}] mentioned this issue in [a commit of #{project.full_path}|http://localhost/#{project.full_path}/-/commit/#{commit.id}]:\n'#{commit.title.chomp}'"
+ message = double('message')
+ allow(message).to receive(:include?) { true }
allow_next_instance_of(JIRA::Resource::Issue) do |instance|
allow(instance).to receive(:comments).and_return([OpenStruct.new(body: message)])
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index c69ac915320..dfd248f6f22 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -209,9 +209,7 @@ RSpec.configure do |config|
# expect(Gitlab::Git::KeepAround).to receive(:execute).and_call_original
allow(Gitlab::Git::KeepAround).to receive(:execute)
- [Gitlab::ThreadMemoryCache, Gitlab::ProcessMemoryCache].each do |cache|
- cache.cache_backend.clear
- end
+ Gitlab::ProcessMemoryCache.cache_backend.clear
Sidekiq::Worker.clear_all
diff --git a/spec/support/helpers/stub_object_storage.rb b/spec/support/helpers/stub_object_storage.rb
index d4ac286e959..b473cdaefc1 100644
--- a/spec/support/helpers/stub_object_storage.rb
+++ b/spec/support/helpers/stub_object_storage.rb
@@ -45,7 +45,7 @@ module StubObjectStorage
def stub_external_diffs_object_storage(uploader = described_class, **params)
stub_object_storage_uploader(config: Gitlab.config.external_diffs.object_store,
uploader: uploader,
- remote_directory: 'external_diffs',
+ remote_directory: 'external-diffs',
**params)
end
diff --git a/spec/support/helpers/x509_helpers.rb b/spec/support/helpers/x509_helpers.rb
index 9ea997bf5f4..ce0fa268ace 100644
--- a/spec/support/helpers/x509_helpers.rb
+++ b/spec/support/helpers/x509_helpers.rb
@@ -173,22 +173,155 @@ module X509Helpers
Time.at(1561027326)
end
+ def signed_tag_signature
+ <<~SIGNATURE
+ -----BEGIN SIGNED MESSAGE-----
+ MIISfwYJKoZIhvcNAQcCoIIScDCCEmwCAQExDTALBglghkgBZQMEAgEwCwYJKoZI
+ hvcNAQcBoIIP8zCCB3QwggVcoAMCAQICBBXXLOIwDQYJKoZIhvcNAQELBQAwgbYx
+ CzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVu
+ MRAwDgYDVQQKDAdTaWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwU
+ U2llbWVucyBUcnVzdCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBD
+ QSBNZWRpdW0gU3RyZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjAeFw0xNzAyMDMw
+ NjU4MzNaFw0yMDAyMDMwNjU4MzNaMFsxETAPBgNVBAUTCFowMDBOV0RIMQ4wDAYD
+ VQQqDAVSb2dlcjEOMAwGA1UEBAwFTWVpZXIxEDAOBgNVBAoMB1NpZW1lbnMxFDAS
+ BgNVBAMMC01laWVyIFJvZ2VyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
+ AQEAuBNea/68ZCnHYQjpm/k3ZBG0wBpEKSwG6lk9CEQlSxsqVLQHAoAKBIlJm1in
+ YVLcK/Sq1yhYJ/qWcY/M53DhK2rpPuhtrWJUdOUy8EBWO20F4bd4Fw9pO7jt8bme
+ u33TSrK772vKjuppzB6SeG13Cs08H+BIeD106G27h7ufsO00pvsxoSDL+uc4slnr
+ pBL+2TAL7nSFnB9QHWmRIK27SPqJE+lESdb0pse11x1wjvqKy2Q7EjL9fpqJdHzX
+ NLKHXd2r024TOORTa05DFTNR+kQEKKV96XfpYdtSBomXNQ44cisiPBJjFtYvfnFE
+ wgrHa8fogn/b0C+A+HAoICN12wIDAQABo4IC4jCCAt4wHQYDVR0OBBYEFCF+gkUp
+ XQ6xGc0kRWXuDFxzA14zMEMGA1UdEQQ8MDqgIwYKKwYBBAGCNxQCA6AVDBNyLm1l
+ aWVyQHNpZW1lbnMuY29tgRNyLm1laWVyQHNpZW1lbnMuY29tMA4GA1UdDwEB/wQE
+ AwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwgcoGA1UdHwSBwjCB
+ vzCBvKCBuaCBtoYmaHR0cDovL2NoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBNi5j
+ cmyGQWxkYXA6Ly9jbC5zaWVtZW5zLm5ldC9DTj1aWlpaWlpBNixMPVBLST9jZXJ0
+ aWZpY2F0ZVJldm9jYXRpb25MaXN0hklsZGFwOi8vY2wuc2llbWVucy5jb20vQ049
+ WlpaWlpaQTYsbz1UcnVzdGNlbnRlcj9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0
+ MEUGA1UdIAQ+MDwwOgYNKwYBBAGhaQcCAgMBAzApMCcGCCsGAQUFBwIBFhtodHRw
+ Oi8vd3d3LnNpZW1lbnMuY29tL3BraS8wDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAW
+ gBT4FV1HDGx3e3LEAheRaKK292oJRDCCAQQGCCsGAQUFBwEBBIH3MIH0MDIGCCsG
+ AQUFBzAChiZodHRwOi8vYWguc2llbWVucy5jb20vcGtpP1paWlpaWkE2LmNydDBB
+ BggrBgEFBQcwAoY1bGRhcDovL2FsLnNpZW1lbnMubmV0L0NOPVpaWlpaWkE2LEw9
+ UEtJP2NBQ2VydGlmaWNhdGUwSQYIKwYBBQUHMAKGPWxkYXA6Ly9hbC5zaWVtZW5z
+ LmNvbS9DTj1aWlpaWlpBNixvPVRydXN0Y2VudGVyP2NBQ2VydGlmaWNhdGUwMAYI
+ KwYBBQUHMAGGJGh0dHA6Ly9vY3NwLnBraS1zZXJ2aWNlcy5zaWVtZW5zLmNvbTAN
+ BgkqhkiG9w0BAQsFAAOCAgEAXPVcX6vaEcszJqg5IemF9aFTlwTrX5ITNIpzcqG+
+ kD5haOf2mZYLjl+MKtLC1XfmIsGCUZNb8bjP6QHQEI+2d6x/ZOqPq7Kd7PwVu6x6
+ xZrkDjUyhUbUntT5+RBy++l3Wf6Cq6Kx+K8ambHBP/bu90/p2U8KfFAG3Kr2gI2q
+ fZrnNMOxmJfZ3/sXxssgLkhbZ7hRa+MpLfQ6uFsSiat3vlawBBvTyHnoZ/7oRc8y
+ qi6QzWcd76CPpMElYWibl+hJzKbBZUWvc71AzHR6i1QeZ6wubYz7vr+FF5Y7tnxB
+ Vz6omPC9XAg0F+Dla6Zlz3Awj5imCzVXa+9SjtnsidmJdLcKzTAKyDewewoxYOOJ
+ j3cJU7VSjJPl+2fVmDBaQwcNcUcu/TPAKApkegqO7tRF9IPhjhW8QkRnkqMetO3D
+ OXmAFVIsEI0Hvb2cdb7B6jSpjGUuhaFm9TCKhQtCk2p8JCDTuaENLm1x34rrJKbT
+ 2vzyYN0CZtSkUdgD4yQxK9VWXGEzexRisWb4AnZjD2NAquLPpXmw8N0UwFD7MSpC
+ dpaX7FktdvZmMXsnGiAdtLSbBgLVWOD1gmJFDjrhNbI8NOaOaNk4jrfGqNh5lhGU
+ 4DnBT2U6Cie1anLmFH/oZooAEXR2o3Nu+1mNDJChnJp0ovs08aa3zZvBdcloOvfU
+ qdowggh3MIIGX6ADAgECAgQtyi/nMA0GCSqGSIb3DQEBCwUAMIGZMQswCQYDVQQG
+ EwJERTEPMA0GA1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UE
+ CgwHU2llbWVuczERMA8GA1UEBRMIWlpaWlpaQTExHTAbBgNVBAsMFFNpZW1lbnMg
+ VHJ1c3QgQ2VudGVyMSIwIAYDVQQDDBlTaWVtZW5zIFJvb3QgQ0EgVjMuMCAyMDE2
+ MB4XDTE2MDcyMDEzNDYxMFoXDTIyMDcyMDEzNDYxMFowgbYxCzAJBgNVBAYTAkRF
+ MQ8wDQYDVQQIDAZCYXllcm4xETAPBgNVBAcMCE11ZW5jaGVuMRAwDgYDVQQKDAdT
+ aWVtZW5zMREwDwYDVQQFEwhaWlpaWlpBNjEdMBsGA1UECwwUU2llbWVucyBUcnVz
+ dCBDZW50ZXIxPzA9BgNVBAMMNlNpZW1lbnMgSXNzdWluZyBDQSBNZWRpdW0gU3Ry
+ ZW5ndGggQXV0aGVudGljYXRpb24gMjAxNjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
+ ADCCAgoCggIBAL9UfK+JAZEqVMVvECdYF9IK4KSw34AqyNl3rYP5x03dtmKaNu+2
+ 0fQqNESA1NGzw3s6LmrKLh1cR991nB2cvKOXu7AvEGpSuxzIcOROd4NpvRx+Ej1p
+ JIPeqf+ScmVK7lMSO8QL/QzjHOpGV3is9sG+ZIxOW9U1ESooy4Hal6ZNs4DNItsz
+ piCKqm6G3et4r2WqCy2RRuSqvnmMza7Y8BZsLy0ZVo5teObQ37E/FxqSrbDI8nxn
+ B7nVUve5ZjrqoIGSkEOtyo11003dVO1vmWB9A0WQGDqE/q3w178hGhKfxzRaqzyi
+ SoADUYS2sD/CglGTUxVq6u0pGLLsCFjItcCWqW+T9fPYfJ2CEd5b3hvqdCn+pXjZ
+ /gdX1XAcdUF5lRnGWifaYpT9n4s4adzX8q6oHSJxTppuAwLRKH6eXALbGQ1I9lGQ
+ DSOipD/09xkEsPw6HOepmf2U3YxZK1VU2sHqugFJboeLcHMzp6E1n2ctlNG1GKE9
+ FDHmdyFzDi0Nnxtf/GgVjnHF68hByEE1MYdJ4nJLuxoT9hyjYdRW9MpeNNxxZnmz
+ W3zh7QxIqP0ZfIz6XVhzrI9uZiqwwojDiM5tEOUkQ7XyW6grNXe75yt6mTj89LlB
+ H5fOW2RNmCy/jzBXDjgyskgK7kuCvUYTuRv8ITXbBY5axFA+CpxZqokpAgMBAAGj
+ ggKmMIICojCCAQUGCCsGAQUFBwEBBIH4MIH1MEEGCCsGAQUFBzAChjVsZGFwOi8v
+ YWwuc2llbWVucy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/Y0FDZXJ0aWZpY2F0ZTAy
+ BggrBgEFBQcwAoYmaHR0cDovL2FoLnNpZW1lbnMuY29tL3BraT9aWlpaWlpBMS5j
+ cnQwSgYIKwYBBQUHMAKGPmxkYXA6Ly9hbC5zaWVtZW5zLmNvbS91aWQ9WlpaWlpa
+ QTEsbz1UcnVzdGNlbnRlcj9jQUNlcnRpZmljYXRlMDAGCCsGAQUFBzABhiRodHRw
+ Oi8vb2NzcC5wa2ktc2VydmljZXMuc2llbWVucy5jb20wHwYDVR0jBBgwFoAUcG2g
+ UOyp0CxnnRkV/v0EczXD4tQwEgYDVR0TAQH/BAgwBgEB/wIBADBABgNVHSAEOTA3
+ MDUGCCsGAQQBoWkHMCkwJwYIKwYBBQUHAgEWG2h0dHA6Ly93d3cuc2llbWVucy5j
+ b20vcGtpLzCBxwYDVR0fBIG/MIG8MIG5oIG2oIGzhj9sZGFwOi8vY2wuc2llbWVu
+ cy5uZXQvQ049WlpaWlpaQTEsTD1QS0k/YXV0aG9yaXR5UmV2b2NhdGlvbkxpc3SG
+ Jmh0dHA6Ly9jaC5zaWVtZW5zLmNvbS9wa2k/WlpaWlpaQTEuY3JshkhsZGFwOi8v
+ Y2wuc2llbWVucy5jb20vdWlkPVpaWlpaWkExLG89VHJ1c3RjZW50ZXI/YXV0aG9y
+ aXR5UmV2b2NhdGlvbkxpc3QwJwYDVR0lBCAwHgYIKwYBBQUHAwIGCCsGAQUFBwME
+ BggrBgEFBQcDCTAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPgVXUcMbHd7csQC
+ F5Foorb3aglEMA0GCSqGSIb3DQEBCwUAA4ICAQBw+sqMp3SS7DVKcILEmXbdRAg3
+ lLO1r457KY+YgCT9uX4VG5EdRKcGfWXK6VHGCi4Dos5eXFV34Mq/p8nu1sqMuoGP
+ YjHn604eWDprhGy6GrTYdxzcE/GGHkpkuE3Ir/45UcmZlOU41SJ9SNjuIVrSHMOf
+ ccSY42BCspR/Q1Z/ykmIqQecdT3/Kkx02GzzSN2+HlW6cEO4GBW5RMqsvd2n0h2d
+ fe2zcqOgkLtx7u2JCR/U77zfyxG3qXtcymoz0wgSHcsKIl+GUjITLkHfS9Op8V7C
+ Gr/dX437sIg5pVHmEAWadjkIzqdHux+EF94Z6kaHywohc1xG0KvPYPX7iSNjkvhz
+ 4NY53DHmxl4YEMLffZnaS/dqyhe1GTpcpyN8WiR4KuPfxrkVDOsuzWFtMSvNdlOV
+ gdI0MXcLMP+EOeANZWX6lGgJ3vWyemo58nzgshKd24MY3w3i6masUkxJH2KvI7UH
+ /1Db3SC8oOUjInvSRej6M3ZhYWgugm6gbpUgFoDw/o9Cg6Qm71hY0JtcaPC13rzm
+ N8a2Br0+Fa5e2VhwLmAxyfe1JKzqPwuHT0S5u05SQghL5VdzqfA8FCL/j4XC9yI6
+ csZTAQi73xFQYVjZt3+aoSz84lOlTmVo/jgvGMY/JzH9I4mETGgAJRNj34Z/0meh
+ M+pKWCojNH/dgyJSwDGCAlIwggJOAgEBMIG/MIG2MQswCQYDVQQGEwJERTEPMA0G
+ A1UECAwGQmF5ZXJuMREwDwYDVQQHDAhNdWVuY2hlbjEQMA4GA1UECgwHU2llbWVu
+ czERMA8GA1UEBRMIWlpaWlpaQTYxHTAbBgNVBAsMFFNpZW1lbnMgVHJ1c3QgQ2Vu
+ dGVyMT8wPQYDVQQDDDZTaWVtZW5zIElzc3VpbmcgQ0EgTWVkaXVtIFN0cmVuZ3Ro
+ IEF1dGhlbnRpY2F0aW9uIDIwMTYCBBXXLOIwCwYJYIZIAWUDBAIBoGkwHAYJKoZI
+ hvcNAQkFMQ8XDTE5MTEyMDE0NTYyMFowLwYJKoZIhvcNAQkEMSIEIJDnZUpcVLzC
+ OdtpkH8gtxwLPIDE0NmAmFC9uM8q2z+OMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B
+ BwEwCwYJKoZIhvcNAQEBBIIBAH/Pqv2xp3a0jSPkwU1K3eGA/1lfoNJMUny4d/PS
+ LVWlkgrmedXdLmuBzAGEaaZOJS0lEpNd01pR/reHs7xxZ+RZ0olTs2ufM0CijQSx
+ OL9HDl2O3OoD77NWx4tl3Wy1yJCeV3XH/cEI7AkKHCmKY9QMoMYWh16ORBtr+YcS
+ YK+gONOjpjgcgTJgZ3HSFgQ50xiD4WT1kFBHsuYsLqaOSbTfTN6Ayyg4edjrPQqa
+ VcVf1OQcIrfWA3yMQrnEZfOYfN/D4EPjTfxBV+VCi/F2bdZmMbJ7jNk1FbewSwWO
+ SDH1i0K32NyFbnh0BSos7njq7ELqKlYBsoB/sZfaH2vKy5U=
+ -----END SIGNED MESSAGE-----
+ SIGNATURE
+ end
+
+ def signed_tag_base_data
+ <<~SIGNEDDATA
+ object 189a6c924013fc3fe40d6f1ec1dc20214183bc97
+ type commit
+ tag v1.1.1
+ tagger Roger Meier <r.meier@siemens.com> 1574261780 +0100
+
+ x509 signed tag
+ SIGNEDDATA
+ end
+
def certificate_crl
'http://ch.siemens.com/pki?ZZZZZZA2.crl'
end
+ def tag_certificate_crl
+ 'http://ch.siemens.com/pki?ZZZZZZA6.crl'
+ end
+
def certificate_serial
1810356222
end
+ def tag_certificate_serial
+ 3664232660
+ end
+
def certificate_subject_key_identifier
'EC:00:B5:28:02:5C:D3:A5:A1:AB:C2:A1:34:81:84:AA:BF:9B:CF:F8'
end
+ def tag_certificate_subject_key_identifier
+ '21:7E:82:45:29:5D:0E:B1:19:CD:24:45:65:EE:0C:5C:73:03:5E:33'
+ end
+
def issuer_subject_key_identifier
'BD:BD:2A:43:22:3D:48:4A:57:7E:98:31:17:A9:70:9D:EE:9F:A8:99'
end
+ def tag_issuer_subject_key_identifier
+ 'F8:15:5D:47:0C:6C:77:7B:72:C4:02:17:91:68:A2:B6:F7:6A:09:44'
+ end
+
def certificate_email
'r.meier@siemens.com'
end
@@ -197,6 +330,10 @@ module X509Helpers
'CN=Siemens Issuing CA EE Auth 2016,OU=Siemens Trust Center,serialNumber=ZZZZZZA2,O=Siemens,L=Muenchen,ST=Bayern,C=DE'
end
+ def tag_certificate_issuer
+ 'CN=Siemens Issuing CA Medium Strength Authentication 2016,OU=Siemens Trust Center,serialNumber=ZZZZZZA6,O=Siemens,L=Muenchen,ST=Bayern,C=DE'
+ end
+
def certificate_subject
'CN=Meier Roger,O=Siemens,SN=Meier,GN=Roger,serialNumber=Z000NWDH'
end
diff --git a/spec/support/shared_contexts/lib/gitlab/import_export/project/rake_task_object_storage_shared_context.rb b/spec/support/shared_contexts/lib/gitlab/import_export/project/rake_task_object_storage_shared_context.rb
new file mode 100644
index 00000000000..dc1a52e3629
--- /dev/null
+++ b/spec/support/shared_contexts/lib/gitlab/import_export/project/rake_task_object_storage_shared_context.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+RSpec.shared_context 'rake task object storage shared context' do
+ before do
+ allow(Settings.uploads.object_store).to receive(:[]=).and_call_original
+ end
+
+ around do |example|
+ old_object_store_setting = Settings.uploads.object_store['enabled']
+
+ Settings.uploads.object_store['enabled'] = true
+
+ example.run
+
+ Settings.uploads.object_store['enabled'] = old_object_store_setting
+ end
+end
diff --git a/spec/support/shared_examples/lib/gitlab/import_export/project/rake_task_object_storage_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/import_export/project/rake_task_object_storage_shared_examples.rb
new file mode 100644
index 00000000000..d6dc89a2c15
--- /dev/null
+++ b/spec/support/shared_examples/lib/gitlab/import_export/project/rake_task_object_storage_shared_examples.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+RSpec.shared_examples 'rake task with disabled object_storage' do |service_class, method|
+ it 'disables direct & background upload only for service call' do
+ expect_next_instance_of(service_class) do |service|
+ expect(service).to receive(:execute).and_wrap_original do |m|
+ expect(Settings.uploads.object_store['enabled']).to eq(false)
+
+ m.call
+ end
+ end
+
+ expect(rake_task).to receive(method).and_wrap_original do |m, *args|
+ expect(Settings.uploads.object_store['enabled']).to eq(true)
+ expect(Settings.uploads.object_store).not_to receive(:[]=).with('enabled', false)
+
+ m.call(*args)
+ end
+
+ subject
+ end
+end
diff --git a/spec/support/shared_examples/lib/gitlab/migration_helpers_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/migration_helpers_shared_examples.rb
index 8893ed5504b..72d672fd36c 100644
--- a/spec/support/shared_examples/lib/gitlab/migration_helpers_shared_examples.rb
+++ b/spec/support/shared_examples/lib/gitlab/migration_helpers_shared_examples.rb
@@ -13,10 +13,11 @@ end
RSpec.shared_examples 'performs validation' do |validation_option|
it 'performs validation' do
expect(model).to receive(:disable_statement_timeout).and_call_original
+ expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/)
expect(model).to receive(:execute).ordered.with(/NOT VALID/)
expect(model).to receive(:execute).ordered.with(/VALIDATE CONSTRAINT/)
- expect(model).to receive(:execute).with(/RESET ALL/)
+ expect(model).to receive(:execute).ordered.with(/RESET ALL/)
model.add_concurrent_foreign_key(*args, **options.merge(validation_option))
end
diff --git a/spec/support/shared_examples/requests/api/award_emoji_todo_shared_examples.rb b/spec/support/shared_examples/requests/api/award_emoji_todo_shared_examples.rb
index 88ad37d232f..9bfd1e6faa0 100644
--- a/spec/support/shared_examples/requests/api/award_emoji_todo_shared_examples.rb
+++ b/spec/support/shared_examples/requests/api/award_emoji_todo_shared_examples.rb
@@ -25,7 +25,7 @@ RSpec.shared_examples 'creating award emojis marks Todos as done' do
let(:awardable) { create(type) }
let!(:todo) { create(:todo, target: awardable, project: project, user: user) }
- it do
+ specify do
subject
expect(todo.reload.done?).to eq(expectation)
diff --git a/spec/support/shared_examples/resource_events.rb b/spec/support/shared_examples/resource_events.rb
index 963453666c9..66f5e760c37 100644
--- a/spec/support/shared_examples/resource_events.rb
+++ b/spec/support/shared_examples/resource_events.rb
@@ -83,6 +83,24 @@ shared_examples 'a resource event for issues' do
expect(events).to be_empty
end
end
+
+ describe '.by_issue_ids_and_created_at_earlier_or_equal_to' do
+ let_it_be(:event1) { create(described_class.name.underscore.to_sym, issue: issue1, created_at: '2020-03-10') }
+ let_it_be(:event2) { create(described_class.name.underscore.to_sym, issue: issue2, created_at: '2020-03-10') }
+ let_it_be(:event3) { create(described_class.name.underscore.to_sym, issue: issue1, created_at: '2020-03-12') }
+
+ it 'returns the expected records for an issue with events' do
+ events = described_class.by_issue_ids_and_created_at_earlier_or_equal_to([issue1.id, issue2.id], '2020-03-11 23:59:59')
+
+ expect(events).to contain_exactly(event1, event2)
+ end
+
+ it 'returns the expected records for an issue with no events' do
+ events = described_class.by_issue_ids_and_created_at_earlier_or_equal_to(issue3, '2020-03-12')
+
+ expect(events).to be_empty
+ end
+ end
end
shared_examples 'a resource event for merge requests' do
diff --git a/spec/support/sidekiq.rb b/spec/support/sidekiq.rb
index 9fa8df39019..374997af1ec 100644
--- a/spec/support/sidekiq.rb
+++ b/spec/support/sidekiq.rb
@@ -1,14 +1,23 @@
# frozen_string_literal: true
RSpec.configure do |config|
+ def gitlab_sidekiq_inline(&block)
+ # We need to cleanup the queues before running jobs in specs because the
+ # middleware might have written to redis
+ redis_queues_cleanup!
+ Sidekiq::Testing.inline!(&block)
+ ensure
+ redis_queues_cleanup!
+ end
+
# As we'll review the examples with this tag, we should either:
# - fix the example to not require Sidekiq inline mode (and remove this tag)
# - explicitly keep the inline mode and change the tag for `:sidekiq_inline` instead
config.around(:example, :sidekiq_might_not_need_inline) do |example|
- Sidekiq::Testing.inline! { example.run }
+ gitlab_sidekiq_inline { example.run }
end
config.around(:example, :sidekiq_inline) do |example|
- Sidekiq::Testing.inline! { example.run }
+ gitlab_sidekiq_inline { example.run }
end
end
diff --git a/spec/tasks/gitlab/gitaly_rake_spec.rb b/spec/tasks/gitlab/gitaly_rake_spec.rb
index 0cc92680582..3575c23ec90 100644
--- a/spec/tasks/gitlab/gitaly_rake_spec.rb
+++ b/spec/tasks/gitlab/gitaly_rake_spec.rb
@@ -53,8 +53,6 @@ describe 'gitlab:gitaly namespace rake task' do
end
describe 'gmake/make' do
- let(:command_preamble) { %w[/usr/bin/env -u RUBYOPT -u BUNDLE_GEMFILE] }
-
before do
stub_env('CI', false)
FileUtils.mkdir_p(clone_path)
@@ -69,7 +67,7 @@ describe 'gitlab:gitaly namespace rake task' do
it 'calls gmake in the gitaly directory' do
expect(Gitlab::Popen).to receive(:popen).with(%w[which gmake]).and_return(['/usr/bin/gmake', 0])
- expect(main_object).to receive(:run_command!).with(command_preamble + %w[gmake]).and_return(true)
+ expect(Gitlab::Popen).to receive(:popen).with(%w[gmake], nil, { "BUNDLE_GEMFILE" => nil, "RUBYOPT" => nil }).and_return(true)
subject
end
@@ -82,7 +80,7 @@ describe 'gitlab:gitaly namespace rake task' do
end
it 'calls make in the gitaly directory' do
- expect(main_object).to receive(:run_command!).with(command_preamble + %w[make]).and_return(true)
+ expect(Gitlab::Popen).to receive(:popen).with(%w[make], nil, { "BUNDLE_GEMFILE" => nil, "RUBYOPT" => nil }).and_return(true)
subject
end
@@ -99,7 +97,7 @@ describe 'gitlab:gitaly namespace rake task' do
end
it 'calls make in the gitaly directory with --no-deployment flag for bundle' do
- expect(main_object).to receive(:run_command!).with(command_preamble + command).and_return(true)
+ expect(Gitlab::Popen).to receive(:popen).with(command, nil, { "BUNDLE_GEMFILE" => nil, "RUBYOPT" => nil }).and_return(true)
subject
end
diff --git a/spec/validators/cron_freeze_period_timezone_validator_spec.rb b/spec/validators/cron_freeze_period_timezone_validator_spec.rb
new file mode 100644
index 00000000000..d283b89fa54
--- /dev/null
+++ b/spec/validators/cron_freeze_period_timezone_validator_spec.rb
@@ -0,0 +1,24 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe CronFreezePeriodTimezoneValidator do
+ using RSpec::Parameterized::TableSyntax
+
+ subject { create :ci_freeze_period }
+
+ where(:freeze_start, :freeze_end, :is_valid) do
+ '0 23 * * 5' | '0 7 * * 1' | true
+ '0 23 * * 5' | 'invalid' | false
+ 'invalid' | '0 7 * * 1' | false
+ end
+
+ with_them do
+ it 'crontab validation' do
+ subject.freeze_start = freeze_start
+ subject.freeze_end = freeze_end
+
+ expect(subject.valid?).to eq(is_valid)
+ end
+ end
+end
diff --git a/spec/validators/cron_validator_spec.rb b/spec/validators/cron_validator_spec.rb
new file mode 100644
index 00000000000..d6605610402
--- /dev/null
+++ b/spec/validators/cron_validator_spec.rb
@@ -0,0 +1,47 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe CronValidator do
+ subject do
+ Class.new do
+ include ActiveModel::Model
+ include ActiveModel::Validations
+ attr_accessor :cron
+ validates :cron, cron: true
+
+ def cron_timezone
+ 'UTC'
+ end
+ end.new
+ end
+
+ it 'validates valid crontab' do
+ subject.cron = '0 23 * * 5'
+
+ expect(subject.valid?).to be_truthy
+ end
+
+ it 'validates invalid crontab' do
+ subject.cron = 'not a cron'
+
+ expect(subject.valid?).to be_falsy
+ end
+
+ context 'cron field is not whitelisted' do
+ subject do
+ Class.new do
+ include ActiveModel::Model
+ include ActiveModel::Validations
+ attr_accessor :cron_partytime
+ validates :cron_partytime, cron: true
+ end.new
+ end
+
+ it 'raises an error' do
+ subject.cron_partytime = '0 23 * * 5'
+
+ expect { subject.valid? }.to raise_error(StandardError, "Non-whitelisted attribute")
+ end
+ end
+end
diff --git a/spec/views/projects/pages_domains/show.html.haml_spec.rb b/spec/views/projects/pages_domains/show.html.haml_spec.rb
index 7d502e74d10..2de82a63560 100644
--- a/spec/views/projects/pages_domains/show.html.haml_spec.rb
+++ b/spec/views/projects/pages_domains/show.html.haml_spec.rb
@@ -7,7 +7,7 @@ describe 'projects/pages_domains/show' do
before do
assign(:project, project)
- assign(:domain, domain.present)
+ allow(view).to receive(:domain_presenter).and_return(domain.present)
stub_pages_setting(external_https: true)
end
diff --git a/spec/views/projects/services/_form.haml_spec.rb b/spec/views/projects/services/_form.haml_spec.rb
index 272ac97604a..95f5b427693 100644
--- a/spec/views/projects/services/_form.haml_spec.rb
+++ b/spec/views/projects/services/_form.haml_spec.rb
@@ -29,20 +29,5 @@ describe 'projects/services/_form' do
expect(rendered).to have_content('Event will be triggered when a commit is created/updated')
expect(rendered).to have_content('Event will be triggered when a merge request is created/updated/merged')
end
-
- context 'when service is Jira' do
- let(:project) { create(:jira_project) }
-
- before do
- assign(:service, project.jira_service)
- end
-
- it 'display merge_request_events and commit_events descriptions' do
- render
-
- expect(rendered).to have_content('Jira comments will be created when an issue gets referenced in a commit.')
- expect(rendered).to have_content('Jira comments will be created when an issue gets referenced in a merge request.')
- end
- end
end
end
diff --git a/spec/workers/project_update_repository_storage_worker_spec.rb b/spec/workers/project_update_repository_storage_worker_spec.rb
index 31d0d955759..98856480b21 100644
--- a/spec/workers/project_update_repository_storage_worker_spec.rb
+++ b/spec/workers/project_update_repository_storage_worker_spec.rb
@@ -40,7 +40,7 @@ describe ProjectUpdateRepositoryStorageWorker do
expect(service).to receive(:execute)
expect do
- subject.perform(nil, nil, repository_storage_move_id: repository_storage_move.id)
+ subject.perform(nil, nil, repository_storage_move.id)
end.not_to change(ProjectRepositoryStorageMove, :count)
end
end
diff --git a/spec/workers/update_head_pipeline_for_merge_request_worker_spec.rb b/spec/workers/update_head_pipeline_for_merge_request_worker_spec.rb
index c4af829a5e2..8fe3f27c8b1 100644
--- a/spec/workers/update_head_pipeline_for_merge_request_worker_spec.rb
+++ b/spec/workers/update_head_pipeline_for_merge_request_worker_spec.rb
@@ -4,18 +4,27 @@ require 'spec_helper'
describe UpdateHeadPipelineForMergeRequestWorker do
describe '#perform' do
- let(:user) { create(:user) }
- let(:project) { create(:project, :repository) }
- let(:merge_request) { create(:merge_request, source_project: project) }
- let(:latest_sha) { 'b83d6e391c22777fca1ed3012fce84f633d7fed0' }
+ let_it_be(:user) { create(:user) }
+ let_it_be(:project) { create(:project, :repository) }
+ let_it_be(:merge_request) { create(:merge_request, source_project: project) }
+ let_it_be(:latest_sha) { 'b83d6e391c22777fca1ed3012fce84f633d7fed0' }
context 'when pipeline exists for the source project and branch' do
- before do
- create(:ci_empty_pipeline, project: project, ref: merge_request.source_branch, sha: latest_sha)
- end
+ let_it_be(:pipeline) { create(:ci_empty_pipeline, project: project, ref: merge_request.source_branch, sha: latest_sha) }
it 'updates the head_pipeline_id of the merge_request' do
- expect { subject.perform(merge_request.id) }.to change { merge_request.reload.head_pipeline_id }
+ expect { subject.perform(merge_request.id) }
+ .to change { merge_request.reload.head_pipeline_id }.from(nil).to(pipeline.id)
+ end
+
+ it_behaves_like 'an idempotent worker' do
+ let(:job_args) { merge_request.id }
+
+ it 'sets the pipeline as the head pipeline when run multiple times' do
+ subject
+
+ expect(merge_request.reload.head_pipeline_id).to eq(pipeline.id)
+ end
end
context 'when merge request sha does not equal pipeline sha' do
@@ -27,6 +36,15 @@ describe UpdateHeadPipelineForMergeRequestWorker do
expect { subject.perform(merge_request.id) }
.not_to change { merge_request.reload.head_pipeline_id }
end
+
+ it_behaves_like 'an idempotent worker' do
+ let(:job_args) { merge_request.id }
+
+ it 'does not update the head_pipeline_id when run multiple times' do
+ expect { subject }
+ .not_to change { merge_request.reload.head_pipeline_id }
+ end
+ end
end
end
@@ -35,10 +53,19 @@ describe UpdateHeadPipelineForMergeRequestWorker do
expect { subject.perform(merge_request.id) }
.not_to change { merge_request.reload.head_pipeline_id }
end
+
+ it_behaves_like 'an idempotent worker' do
+ let(:job_args) { merge_request.id }
+
+ it 'does not update the head_pipeline_id when run multiple times' do
+ expect { subject }
+ .not_to change { merge_request.reload.head_pipeline_id }
+ end
+ end
end
context 'when a merge request pipeline exists' do
- let!(:merge_request_pipeline) do
+ let_it_be(:merge_request_pipeline) do
create(:ci_pipeline,
project: project,
source: :merge_request_event,
@@ -52,6 +79,16 @@ describe UpdateHeadPipelineForMergeRequestWorker do
.from(nil).to(merge_request_pipeline.id)
end
+ it_behaves_like 'an idempotent worker' do
+ let(:job_args) { merge_request.id }
+
+ it 'sets the merge request pipeline as the head pipeline when run multiple times' do
+ subject
+
+ expect(merge_request.reload.head_pipeline_id).to eq(merge_request_pipeline.id)
+ end
+ end
+
context 'when branch pipeline exists' do
let!(:branch_pipeline) do
create(:ci_pipeline, project: project, source: :push, sha: latest_sha)
@@ -62,6 +99,16 @@ describe UpdateHeadPipelineForMergeRequestWorker do
.to change { merge_request.reload.head_pipeline_id }
.from(nil).to(merge_request_pipeline.id)
end
+
+ it_behaves_like 'an idempotent worker' do
+ let(:job_args) { merge_request.id }
+
+ it 'sets the merge request pipeline as the head pipeline when run multiple times' do
+ subject
+
+ expect(merge_request.reload.head_pipeline_id).to eq(merge_request_pipeline.id)
+ end
+ end
end
end
end
diff --git a/vendor/gitignore/C++.gitignore b/vendor/gitignore/C++.gitignore
index 259148fa18f..259148fa18f 100644..100755
--- a/vendor/gitignore/C++.gitignore
+++ b/vendor/gitignore/C++.gitignore
diff --git a/vendor/gitignore/Java.gitignore b/vendor/gitignore/Java.gitignore
index a1c2a238a96..a1c2a238a96 100644..100755
--- a/vendor/gitignore/Java.gitignore
+++ b/vendor/gitignore/Java.gitignore
diff --git a/yarn.lock b/yarn.lock
index 1fa766a6274..21103f011d3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -782,15 +782,15 @@
eslint-plugin-vue "^6.2.1"
vue-eslint-parser "^7.0.0"
-"@gitlab/svgs@1.125.0":
- version "1.125.0"
- resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.125.0.tgz#59c667dae8f7e4c80b482f5f6cc35367c016387b"
- integrity sha512-MKfFYa8f+9P2tJ/JN/E9oDBSSo/gRz2zuGui4XHQPoaw/DkIMn7EyAzeSpRgbgs1LgMcEqqKsIEx+spCga3jsQ==
+"@gitlab/svgs@1.127.0":
+ version "1.127.0"
+ resolved "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.127.0.tgz#1f7ffdffe44d6a82b372535f93d78f3a895d1960"
+ integrity sha512-Uv52DqkG2KwCB0VRlXUEHFZxJ/7Ql0t1YTdzICpXmDjltuUBrysFcdmWPVO6PgXQxk2ahryNsUjSOziMYTeSiw==
-"@gitlab/ui@14.0.0":
- version "14.0.0"
- resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-14.0.0.tgz#d478b1454659c0f54b72cdecce1c2014fc5f8564"
- integrity sha512-R+unP0mOBYQ+uRJLm/tI+2znsbsHY2rumSYtMqM3vGCXasteySQIMZ8huWGa5Cf4ZUdy1lNa0J/zxKj6TLdjCQ==
+"@gitlab/ui@14.5.0":
+ version "14.5.0"
+ resolved "https://registry.yarnpkg.com/@gitlab/ui/-/ui-14.5.0.tgz#6fed9a5b435884fe69e499578469c8b144726c90"
+ integrity sha512-7OarJzyyeRpFRmShN7c2GBPpahBDbmOSk10ATisannbX/h9i+Z83MQ8ZDqYbM8qeRIfG/BVsnLjC8M7aSsBlPQ==
dependencies:
"@babel/standalone" "^7.0.0"
"@gitlab/vue-toasted" "^1.3.0"
@@ -1040,10 +1040,10 @@
"@sentry/types" "5.10.0"
tslib "^1.9.3"
-"@sourcegraph/code-host-integration@0.0.37":
- version "0.0.37"
- resolved "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.37.tgz#87f9a602e2a60520b6038311a67face2ece86827"
- integrity sha512-GQvNuPORLjsMhto57Ue1umeSV3cir+hMEaGxwCKmmq+cc9ZSZpuXa8RVBXuT5azN99K9/8zFps4woyPJ8wrjYA==
+"@sourcegraph/code-host-integration@0.0.46":
+ version "0.0.46"
+ resolved "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.46.tgz#05e4cda671ed00450be12461e6a3caff473675aa"
+ integrity sha512-ghzfaV5ydSWTamLPIDLl5tRvTtM2MBDRmQbWTPg9ZoCP/eHk61uCTAFEq02lsefDQHISZHldeClqRYhZvGDZfw==
"@toast-ui/editor@^2.0.1":
version "2.0.1"
@@ -7969,6 +7969,11 @@ mississippi@^3.0.0:
stream-each "^1.1.0"
through2 "^2.0.0"
+mitt@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.2.0.tgz#cb24e6569c806e31bd4e3995787fe38a04fdf90d"
+ integrity sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==
+
mixin-deep@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"