diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 000000000..6313b56c5
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+* text=auto eol=lf
diff --git a/.github/ISSUE_TEMPLATE/defect-report.yml b/.github/ISSUE_TEMPLATE/defect-report.yml
index 2f57a1a70..f48db399a 100644
--- a/.github/ISSUE_TEMPLATE/defect-report.yml
+++ b/.github/ISSUE_TEMPLATE/defect-report.yml
@@ -65,6 +65,8 @@ body:
- 4.10.x
- 4.11.x
- 4.12.0
+ - 4.12.1
+ - 4.12.2
- 4.13.0-SNAPSHOT
validations:
required: true
diff --git a/.github/workflows/_meta-build.yaml b/.github/workflows/_meta-build.yaml
index fda614d7e..f3b8cdfc9 100644
--- a/.github/workflows/_meta-build.yaml
+++ b/.github/workflows/_meta-build.yaml
@@ -27,10 +27,10 @@ jobs:
steps:
- name: Checkout Repository
- uses: actions/checkout@v4.2.0
+ uses: actions/checkout@v4.2.2
- name: Set up NodeJs
- uses: actions/setup-node@v4.0.4
+ uses: actions/setup-node@v4.1.0
with:
node-version: '20'
cache: 'npm'
@@ -43,7 +43,7 @@ jobs:
npm run build --if-present
- name: Upload Artifacts
- uses: actions/upload-artifact@v4.3.6
+ uses: actions/upload-artifact@v4.4.3
with:
name: assembled-frontend
path: |-
@@ -57,7 +57,7 @@ jobs:
steps:
- name: Checkout Repository
- uses: actions/checkout@v4.2.0
+ uses: actions/checkout@v4.2.2
- name: Download Artifacts
uses: actions/download-artifact@v4.1.8
@@ -68,7 +68,7 @@ jobs:
uses: docker/setup-qemu-action@v3.2.0
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v3.6.1
+ uses: docker/setup-buildx-action@v3.7.1
id: buildx
with:
install: true
@@ -99,7 +99,7 @@ jobs:
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
- name: Build multi-arch Container Image
- uses: docker/build-push-action@v6.9.0
+ uses: docker/build-push-action@v6.10.0
with:
tags: ${{ steps.tags.outputs.tags }}
build-args: |-
@@ -112,7 +112,7 @@ jobs:
- name: Run Trivy Vulnerability Scanner
if: ${{ inputs.publish-container }}
- uses: aquasecurity/trivy-action@0.24.0
+ uses: aquasecurity/trivy-action@0.29.0
env:
# https://github.com/aquasecurity/trivy-action/issues/389
TRIVY_DB_REPOSITORY: 'public.ecr.aws/aquasecurity/trivy-db:2'
diff --git a/.github/workflows/ci-publish.yaml b/.github/workflows/ci-publish.yaml
index ea2561d25..cdf620af7 100644
--- a/.github/workflows/ci-publish.yaml
+++ b/.github/workflows/ci-publish.yaml
@@ -20,7 +20,7 @@ jobs:
fi
- name: Checkout Repository
- uses: actions/checkout@v4.2.0
+ uses: actions/checkout@v4.2.2
- name: Parse Version from package.json
id: parse
@@ -47,7 +47,7 @@ jobs:
- call-build
steps:
- name: Checkout Repository
- uses: actions/checkout@v4.2.0
+ uses: actions/checkout@v4.2.2
- name: Download Artifacts
uses: actions/download-artifact@v4.1.8
diff --git a/.github/workflows/ci-release.yaml b/.github/workflows/ci-release.yaml
index 678d18c65..ca1a4bc67 100644
--- a/.github/workflows/ci-release.yaml
+++ b/.github/workflows/ci-release.yaml
@@ -21,10 +21,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
- uses: actions/checkout@v4.2.0
+ uses: actions/checkout@v4.2.2
- name: Set up NodeJs
- uses: actions/setup-node@v4.0.4
+ uses: actions/setup-node@v4.1.0
with:
node-version: '20'
cache: 'npm'
diff --git a/.github/workflows/codeql-analysis.yaml b/.github/workflows/codeql-analysis.yaml
index 366cd767b..4f8a2888e 100644
--- a/.github/workflows/codeql-analysis.yaml
+++ b/.github/workflows/codeql-analysis.yaml
@@ -29,7 +29,7 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@v4.2.0
+ uses: actions/checkout@v4.2.2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
diff --git a/.github/workflows/dependency-review.yaml b/.github/workflows/dependency-review.yaml
index 34615422b..078406d6e 100644
--- a/.github/workflows/dependency-review.yaml
+++ b/.github/workflows/dependency-review.yaml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
- uses: actions/checkout@v4.2.0
+ uses: actions/checkout@v4.2.2
- name: Dependency Review
uses: actions/dependency-review-action@v4
diff --git a/.github/workflows/i18n.yaml b/.github/workflows/i18n.yaml
index 635c13b11..96922609d 100644
--- a/.github/workflows/i18n.yaml
+++ b/.github/workflows/i18n.yaml
@@ -18,10 +18,10 @@ jobs:
steps:
- name: Checkout Repository
- uses: actions/checkout@v4.2.0
+ uses: actions/checkout@v4.2.2
- name: Set up NodeJs
- uses: actions/setup-node@v4.0.4
+ uses: actions/setup-node@v4.1.0
with:
node-version: '20'
cache: 'npm'
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index fe4a3cea7..f2a174802 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -18,10 +18,10 @@ jobs:
steps:
- name: Checkout Repository
- uses: actions/checkout@v4.2.0
+ uses: actions/checkout@v4.2.2
- name: Set up NodeJs
- uses: actions/setup-node@v4.0.4
+ uses: actions/setup-node@v4.1.0
with:
node-version: '20'
cache: 'npm'
diff --git a/docker/Dockerfile.alpine b/docker/Dockerfile.alpine
index 3bb8983ea..03db131b3 100644
--- a/docker/Dockerfile.alpine
+++ b/docker/Dockerfile.alpine
@@ -1,4 +1,4 @@
-FROM nginxinc/nginx-unprivileged:1.27.1-alpine@sha256:c149247b2e5997ce60f337bcb19f61c0c09b906224e6f1683be64248c814d7e1
+FROM nginxinc/nginx-unprivileged:1.27.3-alpine@sha256:6097fa6666257aa3e991a2d4b48df07468ea3adb58acba3ab9c6de34c664d714
# Arguments that can be passed at build time
ARG COMMIT_SHA=unknown
diff --git a/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh b/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
old mode 100644
new mode 100755
index b91e911f2..1e79b2f5f
--- a/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
+++ b/docker/docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
@@ -13,7 +13,7 @@ entrypoint_log() {
}
ME=$(basename $0)
-DEFAULT_CONF_FILE="etc/nginx/conf.d/default.conf"
+DEFAULT_CONF_FILE="etc/nginx/templates/default.conf.template"
# check if we have ipv6 available
if [ ! -f "/proc/net/if_inet6" ]; then
diff --git a/docker/etc/nginx/templates/default.conf.template b/docker/etc/nginx/templates/default.conf.template
index c6c5ceaa4..2baaf46b6 100644
--- a/docker/etc/nginx/templates/default.conf.template
+++ b/docker/etc/nginx/templates/default.conf.template
@@ -7,6 +7,12 @@ server {
index index.html;
try_files $uri $uri/ /index.html;
+ location ~ (config\.json|index\.html)$ {
+ add_header Cache-Control "max-age=0, no-cache, no-store, must-revalidate";
+ add_header Pragma "no-cache";
+ add_header Expires 0;
+ }
+
sub_filter ' {
- const sidebarMinimizer = this.$el.querySelector('.sidebar-minimizer');
- if (sidebarMinimizer) {
- sidebarMinimizer.addEventListener(
- 'click',
- this.handleMinimizedUpdate,
- );
- }
- });
}
+ this.$nextTick(() => {
+ const sidebarMinimizer = this.$el.querySelector('.sidebar-minimizer');
+ if (sidebarMinimizer) {
+ sidebarMinimizer.addEventListener('click', this.handleMinimizedUpdate);
+ }
+ });
},
computed: {
name() {
diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json
index 32cfbc886..514d13e08 100644
--- a/src/i18n/locales/de.json
+++ b/src/i18n/locales/de.json
@@ -492,6 +492,8 @@
"direction": "Richtung",
"download_bom": "BOM herunterladen",
"download_component": "Komponenten herunterladen",
+ "edit": "Bearbeiten",
+ "edit_affected_component": "Bearbeiten Sie die betroffene Komponente",
"email": "E-Mail",
"empty_selection": "Keine Elemente ausgewählt",
"endpoints": "Endpunkte",
diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json
index 3bb7d1f5b..a5bcdd990 100644
--- a/src/i18n/locales/en.json
+++ b/src/i18n/locales/en.json
@@ -492,6 +492,8 @@
"direction": "Direction",
"download_bom": "Download BOM",
"download_component": "Download Components",
+ "edit": "Edit",
+ "edit_affected_component": "Edit Affected Component",
"email": "Email",
"empty_selection": "No items selected",
"endpoints": "Endpoints",
diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json
index 723703056..616a36f05 100644
--- a/src/i18n/locales/es.json
+++ b/src/i18n/locales/es.json
@@ -492,6 +492,8 @@
"direction": "Dirección",
"download_bom": "Descargar lista de materiales",
"download_component": "Descargar componentes",
+ "edit": "Editar",
+ "edit_affected_component": "Editar componente afectado",
"email": "Correo electrónico",
"empty_selection": "No hay elementos seleccionados",
"endpoints": "Puntos finales",
diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json
index 870fe7d6b..c4a36a2b1 100644
--- a/src/i18n/locales/fr.json
+++ b/src/i18n/locales/fr.json
@@ -492,6 +492,8 @@
"direction": "Direction",
"download_bom": "Télécharger la nomenclature",
"download_component": "Télécharger les composants",
+ "edit": "Modifier",
+ "edit_affected_component": "Modifier le composant concerné",
"email": "Courriel",
"empty_selection": "Aucun élément sélectionné",
"endpoints": "Points de terminaison",
diff --git a/src/i18n/locales/hi.json b/src/i18n/locales/hi.json
index 1cb3e5dec..90f0d6f18 100644
--- a/src/i18n/locales/hi.json
+++ b/src/i18n/locales/hi.json
@@ -492,6 +492,8 @@
"direction": "दिशा",
"download_bom": "BOM डाउनलोड करें",
"download_component": "घटक डाउनलोड करें",
+ "edit": "संपादन करना",
+ "edit_affected_component": "प्रभावित घटक संपादित करें",
"email": "ईमेल",
"empty_selection": "कोई आइटम चयनित नहीं",
"endpoints": "अंतिमबिंदुओं",
diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json
index 7aba5c5bf..f5272ee3d 100644
--- a/src/i18n/locales/it.json
+++ b/src/i18n/locales/it.json
@@ -492,6 +492,8 @@
"direction": "Direzione",
"download_bom": "Scarica distinta base",
"download_component": "Scarica Componenti",
+ "edit": "Modificare",
+ "edit_affected_component": "Modifica componente interessato",
"email": "E-mail",
"empty_selection": "Nessun elemento selezionato",
"endpoints": "Endpoint",
diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json
index fdc938cf9..47cc30a25 100644
--- a/src/i18n/locales/ja.json
+++ b/src/i18n/locales/ja.json
@@ -492,6 +492,8 @@
"direction": "方向",
"download_bom": "BOMをダウンロード",
"download_component": "コンポーネントをダウンロードする",
+ "edit": "編集",
+ "edit_affected_component": "影響を受けるコンポーネントの編集",
"email": "Eメール",
"empty_selection": "項目が選択されていません",
"endpoints": "エンドポイント",
diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json
index 6050dd511..fcc55a9c2 100644
--- a/src/i18n/locales/pl.json
+++ b/src/i18n/locales/pl.json
@@ -492,6 +492,8 @@
"direction": "Kierunek",
"download_bom": "Pobierz BOM",
"download_component": "Pobierz komponenty",
+ "edit": "Redagować",
+ "edit_affected_component": "Edytuj komponent, którego dotyczy problem",
"email": "E-mail",
"empty_selection": "Nie wybrano żadnych elementów",
"endpoints": "Punkty końcowe",
diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json
index da1f63822..26ffe6771 100644
--- a/src/i18n/locales/pt-BR.json
+++ b/src/i18n/locales/pt-BR.json
@@ -492,6 +492,8 @@
"direction": "Direção",
"download_bom": "Baixe a lista técnica",
"download_component": "Baixar componentes",
+ "edit": "Editar",
+ "edit_affected_component": "Editar componente afetado",
"email": "E-mail",
"empty_selection": "Nenhum item selecionado",
"endpoints": "Pontos finais",
diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json
index cadff22d8..3ac3c4c6a 100644
--- a/src/i18n/locales/pt.json
+++ b/src/i18n/locales/pt.json
@@ -492,6 +492,8 @@
"direction": "Direção",
"download_bom": "Baixe a lista técnica",
"download_component": "Baixar componentes",
+ "edit": "Editar",
+ "edit_affected_component": "Editar componente afetado",
"email": "E-mail",
"empty_selection": "Nenhum item selecionado",
"endpoints": "Pontos finais",
diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json
index cbccb04fa..1c8818fe2 100644
--- a/src/i18n/locales/ru.json
+++ b/src/i18n/locales/ru.json
@@ -1,63 +1,63 @@
{
"404": {
- "action": "Возвращаться",
+ "action": "Назад",
"heading": "Упс! Это неловко",
"message": "Страница, которую вы ищете, не найдена"
},
"admin": {
"access_management": "Управление доступом",
"alert_created": "Оповещение создано",
- "alert_deleted": "Оповещение удалено.",
- "alert_log_successful_publish": "Зарегистрировать успешную публикацию",
- "alert_log_successful_publish_help": "Создавать сообщение журнала при успешной публикации оповещения в пункте назначения, а не отправлять журналы только при обнаружении проблем. Помогает отлаживать отсутствующие оповещения или обеспечивать возможность аудита публикации оповещений.",
+ "alert_deleted": "Оповещение удалено",
+ "alert_log_successful_publish": "Успешная публикация журнала",
+ "alert_log_successful_publish_help": "Создание записи в журнале при успешной публикации оповещения в пункт назначения, а не только при возникновении проблем. Полезно для отладки пропущенных оповещений или обеспечения возможности аудита публикации оповещений.",
"alerts": "Оповещения",
- "analyzer_internal_desc": "Внутренний анализатор сравнивает компоненты с внутренней базой данных уязвимостей, полученной из Национальной базы данных уязвимостей, рекомендаций GitHub (если включено) и VulnDB (если включено). Этот анализатор использует перечисление общей платформы (CPE), определенное в компонентах. Компоненты с действительным CPE будут оцениваться с помощью этого анализатора.",
+ "analyzer_internal_desc": "Внутренний анализатор оценивает компоненты с использованием внутренней базы уязвимостей, основанной на Национальной базе уязвимостей, GitHub Advisories (если включено) и VulnDB (если включено). Этот анализатор использует Common Platform Enumeration (CPE), определяемый в компонентах. Компоненты с действительным CPE будут анализироваться этим анализатором.",
"analyzer_internal_enable": "Включить внутренний анализатор",
- "analyzer_internal_fuzzy_enable": "Включите нечеткое сопоставление CPE. Помогает в работе с противоречивыми данными ПНВ, подчеркивая недостающие риски, но также увеличивая количество ложных срабатываний.",
- "analyzer_internal_fuzzy_exclude_internal": "Включить нечеткое сопоставление CPE на внутренних компонентах.",
- "analyzer_internal_fuzzy_exclude_purl": "Включите нечеткое сопоставление CPE для компонентов, для которых определен URL-адрес пакета (PURL).",
- "analyzer_ossindex_desc": "OSS Index — это услуга, предоставляемая Sonatype, которая выявляет уязвимости в сторонних компонентах. Dependency-Track изначально интегрируется со службой индексирования OSS, обеспечивая высокоточные результаты. Для использования этого анализатора требуется действительный PackageURL для анализируемых компонентов.",
- "analyzer_ossindex_enable": "Включить анализатор индекса OSS",
- "analyzer_snyk_alias_sync_warning": "Сник не делает различий между родственными и идентичными уязвимостями. Действовать с осторожностью.",
+ "analyzer_internal_fuzzy_enable": "Включить нечёткое сопоставление CPE. Помогает устранить несогласованность данных NVD, выявляя недостающие риски, но также увеличивая количество ложных срабатываний.",
+ "analyzer_internal_fuzzy_exclude_internal": "Включить нечёткое сопоставление CPE для внутренних компонентов",
+ "analyzer_internal_fuzzy_exclude_purl": "Включить нечёткое сопоставление CPE для компонентов с указанным URL пакета (PURL)",
+ "analyzer_ossindex_desc": "OSS Index — это сервис, предоставляемый Sonatype, который выявляет уязвимости в сторонних компонентах. Dependency-Track интегрируется с сервисом OSS Index для предоставления высокоточных результатов. Использование этого анализатора требует действительного URL пакета для анализируемых компонентов.",
+ "analyzer_ossindex_enable": "Включить анализатор OSS Index",
+ "analyzer_snyk_alias_sync_warning": "Snyk не различает связанные и идентичные уязвимости. Используйте с осторожностью.",
"analyzer_snyk_api_version": "Версия API",
"analyzer_snyk_api_version_warning": "Изменение версии по умолчанию может нарушить интеграцию!",
- "analyzer_snyk_desc": "База данных Snyk по безопасности, также известная как Snyk Intel Vulnerability Database, поддерживается специальной исследовательской группой, которая объединяет общедоступные источники, вклад сообщества разработчиков, собственные исследования и машинное обучение для постоянной адаптации к меняющемуся и расширяющемуся характеру угроз безопасности. . Dependency-Track изначально интегрируется с REST API Snyk, обеспечивая очень точные результаты. Для использования этого анализатора требуется действительный PackageURL для анализируемых компонентов.",
+ "analyzer_snyk_desc": "База данных безопасности Snyk, известная как Snyk Intel Vulnerability Database, поддерживается командой исследователей, которая объединяет публичные источники, вклады сообщества разработчиков, собственные исследования и машинное обучение для адаптации к изменяющимся угрозам. Dependency-Track интегрируется с REST API Snyk для предоставления высокоточных результатов. Использование этого анализатора требует действительного URL пакета для анализируемых компонентов.",
"analyzer_snyk_enable": "Включить анализатор Snyk",
"analyzer_snyk_how_to_api_token_help": "Как получить токен API?",
"analyzer_snyk_how_to_api_version_help": "Где найти доступные версии?",
- "analyzer_snyk_how_to_org_id_help": "Как мне узнать идентификатор своей организации?",
- "analyzer_snyk_multiple_tokens_info": "Можно указать несколько токенов, разделив их точкой с запятой, например.",
+ "analyzer_snyk_how_to_org_id_help": "Как найти идентификатор организации?",
+ "analyzer_snyk_multiple_tokens_info": "Можно указать несколько токенов, разделяя их точкой с запятой, например",
"analyzer_snyk_org_id": "Идентификатор организации",
- "analyzer_snyk_why_multiple_cvss": "Почему для одной и той же уязвимости имеется несколько оценок CVSS?",
+ "analyzer_snyk_why_multiple_cvss": "Почему у одной и той же уязвимости несколько оценок CVSS?",
"analyzer_trivy_enable": "Включить анализатор Trivy",
- "analyzer_trivy_ignore_unfixed": "Игнорировать неустраненные уязвимости",
- "analyzer_vulndb_desc": "VulnDB — это коммерческий сервис от Risk Based Security, который выявляет уязвимости в сторонних компонентах. Dependency-Track изначально интегрируется со службой VulnDB, обеспечивая очень точные результаты. Для использования этого анализатора требуется действительный CPE для анализируемых компонентов.",
+ "analyzer_trivy_ignore_unfixed": "Игнорировать неустранённые уязвимости",
+ "analyzer_vulndb_desc": "VulnDB — это коммерческий сервис от Risk Based Security, выявляющий уязвимости в сторонних компонентах. Dependency-Track интегрируется с сервисом VulnDB для предоставления высокоточных результатов. Использование этого анализатора требует действительного CPE для анализируемых компонентов.",
"analyzer_vulndb_enable": "Включить анализатор VulnDB",
"analyzers": "Анализаторы",
- "api_key_comment": "api_key_comment",
- "api_key_comment_updated": "api_key_comment_updated",
- "api_key_created_tooltip": "api_key_created_tooltip",
- "api_key_last_used_tooltip": "api_key_last_used_tooltip",
- "api_keys": "API-ключи",
- "api_token": "API-токен",
- "api_token_header": "api_token_header",
+ "api_key_comment": "Комментарий к ключу API",
+ "api_key_comment_updated": "Комментарий к ключу API обновлён",
+ "api_key_created_tooltip": "Дата создания ключа API",
+ "api_key_last_used_tooltip": "Примерное время последнего использования ключа API",
+ "api_keys": "Ключи API",
+ "api_token": "Токен API",
+ "api_token_header": "Заголовок токена API",
"base_url": "Базовый URL",
- "bearer_token_auth_enable": "Аутентификация с помощью токена личного доступа",
- "bom_formats": "Форматы спецификаций",
- "bom_formats_desc": "Включает поддержку обработки спецификаций различных форматов. Будут обрабатываться только включенные форматы спецификаций.",
- "bom_validation": "Проверка спецификации",
+ "bearer_token_auth_enable": "Аутентификация с помощью токена доступа",
+ "bom_formats": "Форматы BOM",
+ "bom_formats_desc": "Включает поддержку обработки BOM различных форматов. Обрабатываются только включённые форматы BOM.",
+ "bom_validation": "Проверка BOM",
"bom_validation_mode": "Режим проверки",
- "cargo": "Груз",
- "change_password": "Изменить пароль",
- "change_password_next_login": "Пользователь должен сменить пароль при следующем входе в систему",
+ "cargo": "Cargo",
+ "change_password": "Сменить пароль",
+ "change_password_next_login": "Пользователь должен сменить пароль при следующем входе",
"clone_template": "Клонировать шаблон",
- "composer": "Композитор",
+ "composer": "Composer",
"configuration": "Конфигурация",
- "configuration_saved": "Конфигурация сохранена.",
+ "configuration_saved": "Конфигурация сохранена",
"configuration_test": "Тест конфигурации",
- "consumer_key": "Потребительский ключ",
+ "consumer_key": "Ключ потребителя",
"consumer_secret": "Секрет потребителя",
- "cpan": "КПАН",
+ "cpan": "CPAN",
"create_alert": "Создать оповещение",
"create_ldap_user": "Создать пользователя LDAP",
"create_managed_user": "Создать управляемого пользователя",
@@ -69,118 +69,118 @@
"create_user": "Создать пользователя",
"default": "По умолчанию",
"default_language": "Язык по умолчанию",
- "default_language_desc": "Язык по умолчанию, который используется всеми, если они его не указали. \nЕсли эта опция отключена, будет использоваться язык из браузера.",
+ "default_language_desc": "Язык по умолчанию, который используется для всех, если они не указали другой. Если отключено, будет использоваться язык браузера.",
"default_language_enable": "Включить язык по умолчанию",
"default_template_restored": "Шаблоны по умолчанию восстановлены",
- "defectdojo": "ДефектДодзё",
+ "defectdojo": "DefectDojo",
"delete_alert": "Удалить оповещение",
"delete_oidc_group": "Удалить группу",
"delete_repository": "Удалить репозиторий",
"delete_team": "Удалить команду",
"delete_template": "Удалить шаблон",
"delete_user": "Удалить пользователя",
- "destination": "Место назначения",
- "disabled": "Неполноценный",
+ "destination": "Назначение",
+ "disabled": "Отключено",
"disabled_for_tags": "Отключено для тегов",
- "distinguished_name": "Отличительное имя",
- "edit_api_key_comment": "edit_api_key_comment",
+ "distinguished_name": "Уникальное имя",
+ "edit_api_key_comment": "Редактировать комментарий к ключу API",
"email": "Электронная почта",
"email_address": "Адрес электронной почты",
"email_enable_ssltls": "Включить шифрование SSL/TLS",
- "email_from_address": "С адреса электронной почты",
+ "email_from_address": "Адрес отправителя",
"email_prefix": "Префикс темы",
- "email_smtp_password": "SMTP-пароль",
- "email_smtp_port": "Порт SMTP-сервера",
- "email_smtp_server": "SMTP-сервер",
+ "email_smtp_password": "Пароль SMTP",
+ "email_smtp_port": "Порт сервера SMTP",
+ "email_smtp_server": "Сервер SMTP",
"email_smtp_username": "Имя пользователя SMTP",
- "email_trust_cert": "Доверяйте сертификату, предоставленному SMTP-сервером.",
- "enable_acl": "Включить контроль доступа к портфелю (бета)",
+ "email_trust_cert": "Доверять сертификату SMTP сервера",
+ "enable_acl": "Включить контроль доступа к портфолио (бета)",
"enable_bom_cyclonedx": "Включить CycloneDX",
"enable_default_template_override": "Включить переопределение шаблона по умолчанию",
"enable_email": "Включить электронную почту",
- "enable_index_consistency_check": "Включить периодическую проверку согласованности",
- "enable_svg_badge": "Включить доступ к значку SVG без аутентификации (устарело)",
+ "enable_index_consistency_check": "Включить периодическую проверку целостности индексов",
+ "enable_svg_badge": "Включить неаутентифицированный доступ к SVG-бейджам (устарело)",
"enabled": "Включено",
"enabled_for_tags": "Включено для тегов",
- "experimental": "Экспериментальный",
- "experimental_info": "Следующие варианты являются экспериментальными и их следует использовать с осторожностью.",
- "fortify_ssc": "Укрепить SSC",
- "gem": "драгоценный камень",
- "general": "Общий",
- "general_template_configuration": "Общая конфигурация шаблона",
+ "experimental": "Экспериментально",
+ "experimental_info": "Следующие параметры являются экспериментальными и должны использоваться с осторожностью.",
+ "fortify_ssc": "Fortify SSC",
+ "gem": "Gem",
+ "general": "Общее",
+ "general_template_configuration": "Общая настройка шаблонов",
"github": "GitHub",
"github_advisories": "Рекомендации GitHub",
- "go_modules": "Модули Go",
+ "go_modules": "Go Modules",
"group": "Группа",
"hackage": "Hackage",
- "hex": "Шестигранник",
+ "hex": "Hex",
"identifier": "Идентификатор",
- "include_active_children": "Включайте активных дочерних проектов",
- "include_children": "Включить дочерние элементы проектов",
- "index_consistency_check_cadence": "Каденс (в минутах)",
- "index_consistency_check_description": "Вы можете включить периодическую фоновую задачу, которая будет проверять, что все индексы существуют, не повреждены и что их разница с базой данных отслеживания зависимостей не превышает определенного порогового процента. Любой сбой проверки приведет к перестроению соответствующего индекса. Перезапуск необходим, чтобы принять во внимание изменение частоты вращения педалей.",
- "index_consistency_check_threshold": "Порог дельты (в процентах)",
- "index_general_description": "Dependency Track использует Apache Lucene для обеспечения полнотекстового поиска по различным объектам, таким как проекты или уязвимости.",
- "index_issues_description": "Индексы lucene могут со временем ухудшаться или отклоняться от базы данных Dependency Track. Несмотря на то, что DT делает все возможное, чтобы минимизировать дрейф, приведенные ниже административные функции позволяют проверить или восстановить индексы, если это необходимо. Его следует использовать с осторожностью.",
- "index_rebuild_description": "Вы можете выборочно инициировать немедленное перестроение некоторых или всех индексов. Перестроение индекса будет выполняться асинхронными задачами. Вы можете проверить прогресс с помощью журналов отслеживания зависимостей.",
- "index_use_cases": "Функция полнотекстового поиска в основном используется для API поиска (т. е. всех индексов) и нечеткого сопоставления внутреннего анализатора на CPE (т. е. индекса уязвимого программного обеспечения).",
- "integration_defectdojo_enable": "Включить интеграцию DefectDojo",
- "integration_defectdojo_reimport_enable": "Включить реимпорт",
- "integration_fortify_ssc_enable": "Включить интеграцию Fortify SSC",
- "integration_kenna_connector_id": "Идентификатор соединителя",
- "integration_kenna_enable": "Включить интеграцию Kenna Security",
+ "include_active_children": "Включить активных дочерних проектов",
+ "include_children": "Включить дочерние проекты",
+ "index_consistency_check_cadence": "Частота (в минутах)",
+ "index_consistency_check_description": "Вы можете включить периодическую фоновую задачу для проверки целостности индексов: их наличия, отсутствия повреждений и отклонения от базы данных Dependency Track в пределах заданного порога. Любая ошибка проверки приведет к автоматической перестройке соответствующего индекса. Для учета изменений частоты требуется перезапуск.",
+ "index_consistency_check_threshold": "Порог отклонения (в процентах)",
+ "index_general_description": "Dependency Track использует Apache Lucene для предоставления полнотекстового поиска по различным сущностям, таким как проекты или уязвимости.",
+ "index_issues_description": "Индексы Lucene со временем могут деградировать или отклоняться от базы данных Dependency Track. Несмотря на то, что DT минимизирует это отклонение, ниже предоставлены административные функции для проверки или восстановления индексов при необходимости. Используйте их с осторожностью.",
+ "index_rebuild_description": "Вы можете выборочно инициировать немедленную перестройку некоторых или всех индексов. Перестройка индексов выполняется асинхронно. Вы можете отслеживать прогресс через логи Dependency Track.",
+ "index_use_cases": "Функция полнотекстового поиска в основном используется для API поиска (т.е. для всех индексов) и внутреннего анализа с нечетким поиском по CPE (т.е. индексу уязвимого ПО).",
+ "integration_defectdojo_enable": "Включить интеграцию с DefectDojo",
+ "integration_defectdojo_reimport_enable": "Включить повторный импорт",
+ "integration_fortify_ssc_enable": "Включить интеграцию с Fortify SSC",
+ "integration_kenna_connector_id": "Идентификатор коннектора",
+ "integration_kenna_enable": "Включить интеграцию с Kenna Security",
"integrations": "Интеграции",
"internal": "Внутренний",
- "internal_analyzer": "Внутренний",
- "internal_component_desc": "Внутренние компоненты будут исключены из сканирования уязвимостей и проверок версий, которые зависят от внешних систем.\n Обратите внимание, что приведенные ниже регулярные выражения должны соответствовать синтаксису регулярных выражений Java.\nРегулярное выражение должно соответствовать всей строке. Чтобы сопоставить все пространства имен, в которых есть «example», напишите «.*example.*».",
+ "internal_analyzer": "Внутренний анализатор",
+ "internal_component_desc": "Внутренние компоненты будут исключены из сканирования на уязвимости и проверки версий, которые опираются на внешние системы. Обратите внимание, что регулярные выражения должны соответствовать синтаксису Java.\nРегулярное выражение должно совпадать с целой строкой. Чтобы соответствовать всем пространствам имен с 'example', используйте '.*example.*'.",
"internal_components": "Внутренние компоненты",
- "internal_identification_error": "Произошла ошибка при идентификации внутреннего компонента в очереди. Проверьте журналы сервера для получения подробной информации.",
- "internal_identification_queued": "Идентификация внутреннего компонента поставлена в очередь",
- "jira": "Джира",
- "jira_auth_with_token": "Токен личного доступа Jira",
+ "internal_identification_error": "Произошла ошибка при постановке задачи по идентификации внутренних компонентов в очередь. Проверьте логи сервера для получения деталей.",
+ "internal_identification_queued": "Идентификация внутренних компонентов поставлена в очередь",
+ "jira": "Jira",
+ "jira_auth_with_token": "Личный токен доступа Jira",
"jira_desc": "Аутентификация сервиса Jira",
- "jira_password": "Пароль Джиры",
- "jira_ticket_type": "Тип билета Jira",
- "jira_url": "Базовый URL-адрес Jira",
- "jira_username": "Пользователь Jira (служебный аккаунт). Пользователь должен быть подключен к соответствующему экземпляру jira и иметь право создавать проблемы.",
- "kenna_security": "Кенна Секьюрити",
+ "jira_password": "Пароль Jira",
+ "jira_ticket_type": "Тип тикета Jira",
+ "jira_url": "Базовый URL Jira",
+ "jira_username": "Пользователь Jira (служебная учетная запись). Пользователь должен быть подключен к соответствующему экземпляру Jira и иметь права для создания тикетов.",
+ "kenna_security": "Kenna Security",
"ldap_users": "Пользователи LDAP",
- "limit_to": "Ограничено до",
- "limit_to_projects": "Ограничение проектов",
+ "limit_to": "Ограничить",
+ "limit_to_projects": "Ограничить проектами",
"limit_to_tags": "Ограничить тегами",
"managed_users": "Управляемые пользователи",
"mapped_ldap_groups": "Сопоставленные группы LDAP",
"mapped_oidc_groups": "Сопоставленные группы OpenID Connect",
"mapped_teams": "Сопоставленные команды",
- "maven": "Мавен",
- "members": "Члены",
- "mime_type": "Тип пантомимы",
- "name_regex": "Регулярное выражение имени компонента",
- "name_regex_desc": "Задает регулярное выражение, которое идентифицирует внутренние компоненты по имени компонента.",
- "namespace_regex": "Регулярное выражение пространства имен компонента",
- "namespace_regex_desc": "Задает регулярное выражение, которое идентифицирует внутренние компоненты по пространству имен. Пространство имен часто называют «группой», «организацией» или «поставщиком» в различных экосистемах.",
+ "maven": "Maven",
+ "members": "Участники",
+ "mime_type": "Тип MIME",
+ "name_regex": "Регулярное выражение для имени компонента",
+ "name_regex_desc": "Указывает регулярное выражение, которое определяет внутренние компоненты по их именам.",
+ "namespace_regex": "Регулярное выражение для пространства имен компонента",
+ "namespace_regex_desc": "Указывает регулярное выражение, которое определяет внутренние компоненты по пространству имен. Пространство имен часто упоминается как 'группа', 'организация' или 'поставщик' в различных экосистемах.",
"national_vulnerability_database": "Национальная база данных уязвимостей",
"nixpkgs": "Nixpkgs",
"notification_level": "Уровень уведомления",
"notifications": "Уведомления",
- "npm": "НПМ",
+ "npm": "NPM",
"nuget": "NuGet",
- "nvd": "ПНВ",
+ "nvd": "NVD",
"nvd_additionally_download_feeds": "Дополнительно загрузить фиды",
- "nvd_additionally_download_feeds_help": "Каналы не будут анализироваться, но будут доступны другим клиентам по адресу",
+ "nvd_additionally_download_feeds_help": "Фиды не будут анализироваться, но станут доступны для других клиентов по адресу",
"nvd_api_last_modification": "Последнее изменение (UTC)",
"nvd_api_last_modification_help": "После полного зеркалирования базы данных NVD все последующие операции зеркалирования будут запрашивать только те данные, которые были изменены с момента их последнего успешного выполнения.",
- "nvd_api_last_modification_warning": "Изменение даты и времени последней модификации вручную обычно не рекомендуется, но может использоваться для принудительного повторного приема данных NVD. Обратите внимание, что из-за ограничений REST API NVD при настройке даты и времени последнего изменения можно запрашивать данные только за 120 последовательных дней. Сброс даты и времени последней модификации приведет к повторному зеркалированию всей базы данных NVD.",
+ "nvd_api_last_modification_warning": "Изменение даты и времени последней модификации вручную обычно не рекомендуется, но может использоваться для принудительного повторного приема данных NVD. \nОбратите внимание, что из-за ограничений REST API NVD при настройке даты и времени последнего изменения можно запрашивать данные только за 120 последовательных дней. \nСброс даты и времени последней модификации приведет к повторному зеркалированию всей базы данных NVD.",
"nvd_enable_mirroring_via_api": "Включить зеркалирование через API",
- "nvd_request_api_key_help": "Как получить ключ API?",
- "nvd_why_enable_api_help": "Зачем мне включать зеркалирование API?",
- "oidc_group_created": "Группа OpenID Connect создана.",
- "oidc_group_deleted": "oidc_group_deleted",
+ "nvd_request_api_key_help": "Как получить API-ключ?",
+ "nvd_why_enable_api_help": "Почему стоит включить зеркалирование через API?",
+ "oidc_group_created": "Группа OpenID Connect создана",
+ "oidc_group_deleted": "Группа OpenID Connect удалена",
"oidc_group_name": "Имя группы",
"oidc_groups": "Группы OpenID Connect",
"oidc_users": "Пользователи OpenID Connect",
- "oss_index": "Индекс Sonatype OSS",
- "osv_advisories": "Рекомендации Google OSV (бета-версия)",
+ "oss_index": "Sonatype OSS Index",
+ "osv_advisories": "Рекомендации Google OSV (бета)",
"password": "Пароль (или токен доступа)",
"password_confirm": "Подтвердите пароль",
"password_never_expires": "Пароль никогда не истекает",
@@ -188,105 +188,105 @@
"perform_identification": "Выполнить идентификацию",
"perform_test": "Выполнить тест",
"permissions": "Разрешения",
- "personal_access_token": "Токен личного доступа",
+ "personal_access_token": "Персональный токен доступа",
"portfolio_access_control": "Контроль доступа к портфолио",
- "preview": "Предварительный просмотр",
+ "preview": "Предпросмотр",
"project_access": "Доступ к проекту",
"publisher": "Издатель",
"publisher_class": "Класс издателя",
- "python": "Питон",
+ "python": "Python",
"registered_email_address": "Зарегистрированный адрес электронной почты",
"reindex_components": "Компоненты",
- "reindex_cpes": "цена за взаимодействие",
- "reindex_error": "Произошла ошибка при отправке запроса на переиндексацию.",
+ "reindex_cpes": "CPE",
+ "reindex_error": "Ошибка при отправке запроса на переиндексацию",
"reindex_licenses": "Лицензии",
"reindex_projects": "Проекты",
- "reindex_service_components": "Компоненты сервиса",
+ "reindex_service_components": "Служебные компоненты",
"reindex_submitted": "Запрос на переиндексацию отправлен",
"reindex_vulnerabilities": "Уязвимости",
- "reindex_vulnerable_software": "Уязвимое программное обеспечение",
- "remove_api_key": "remove_api_key",
+ "reindex_vulnerable_software": "Уязвимое ПО",
+ "remove_api_key": "Удалить API-ключ",
"repositories": "Репозитории",
- "repository_authentication": "Необходима аутентификация",
+ "repository_authentication": "Требуется аутентификация",
"repository_created": "Репозиторий создан",
- "repository_deleted": "Репозиторий удален.",
+ "repository_deleted": "Репозиторий удален",
"repository_type": "Тип репозитория",
- "required_confirmPassword": "Требуется подтверждение пароля, пароли должны совпадать",
- "required_email": "Требуется адрес электронной почты",
- "required_fullname": "Требуется полное имя",
- "required_oidc_group_name": "Требуется имя",
- "required_password": "Необходим пароль",
- "required_team_name": "Укажите название команды.",
- "required_username": "Имя пользователя требуется",
+ "required_confirmPassword": "Подтверждение пароля обязательно, и пароли должны совпадать",
+ "required_email": "Необходимо указать адрес электронной почты",
+ "required_fullname": "Полное имя обязательно",
+ "required_oidc_group_name": "Имя обязательно",
+ "required_password": "Пароль обязателен",
+ "required_team_name": "Имя команды обязательно",
+ "required_username": "Имя пользователя обязательно",
"restore_default_template": "Восстановить шаблоны по умолчанию",
- "scope": "Объем",
- "select_ecosystem": "Выберите экосистемы",
- "select_ldap_group": "Выберите группу LDAP",
- "select_oidc_group": "Выберите группу OpenID Connect",
- "select_permission": "Выберите разрешение",
- "select_project": "Выберите проект",
+ "scope": "Область",
+ "select_ecosystem": "Выбрать экосистему",
+ "select_ldap_group": "Выбрать группу LDAP",
+ "select_oidc_group": "Выбрать группу OpenID Connect",
+ "select_permission": "Выбрать разрешение",
+ "select_project": "Выбрать проект",
"select_team": "Выбрать команду",
- "select_team_as_recipient": "Выберите команду в качестве получателя",
- "snyk": "Сник (Бета)",
+ "select_team_as_recipient": "Выбрать команду в качестве получателя",
+ "snyk": "Snyk (бета)",
"subject_identifier": "Идентификатор субъекта",
- "submit": "Представлять на рассмотрение",
- "suspended": "Приостановленный",
+ "submit": "Отправить",
+ "suspended": "Приостановлен",
"synchronization_cadence_minutes": "Частота синхронизации (в минутах)",
- "synchronization_cadence_restart_required": "Чтобы изменения ритма вступили в силу, необходимо перезапустить Dependency-Track.",
- "task_scheduler": "Диспетчер задач",
+ "synchronization_cadence_restart_required": "Для применения изменений частоты требуется перезапуск Dependency-Track",
+ "task_scheduler": "Планировщик задач",
"task_scheduler_component_analysis_cache_clear": "Очистка кэша анализа компонентов",
- "task_scheduler_description": "Планировщик задач Dependency Track выполняет различные фоновые задачи через фиксированный интервал. Вы можете изменить фиксированный интервал для каждой задачи, используя форму ниже. Каждый интервал выражается в часах. Перезапуск отслеживания зависимостей необходим, чтобы перепланировать задачи с обновленной частотой.",
+ "task_scheduler_description": "Планировщик задач Dependency-Track выполняет различные фоновые задачи с фиксированным интервалом. Вы можете изменить этот интервал для каждой задачи, используя форму ниже. Интервал выражается в часах. Для пересчета задач с обновленным интервалом требуется перезапуск Dependency-Track.",
"task_scheduler_internal_component_identification": "Идентификация внутренних компонентов",
- "task_scheduler_ldap_sync": "LDAP-синхронизация",
- "task_scheduler_portfolio_metrics_update": "Показатели портфеля",
- "task_scheduler_portfolio_vulnerability_analysis": "Анализ уязвимостей портфеля",
+ "task_scheduler_ldap_sync": "Синхронизация LDAP",
+ "task_scheduler_portfolio_metrics_update": "Обновление метрик портфолио",
+ "task_scheduler_portfolio_vulnerability_analysis": "Анализ уязвимостей портфолио",
"task_scheduler_repository_metadata_fetch": "Получение метаданных репозитория",
- "task_scheduler_vulnerability_metrics_update": "Метрики уязвимостей",
- "team_created": "team_created",
+ "task_scheduler_vulnerability_metrics_update": "Обновление метрик уязвимостей",
+ "team_created": "Команда создана",
"team_deleted": "Команда удалена",
"team_membership": "Членство в команде",
- "team_name": "Название команды",
+ "team_name": "Имя команды",
"teams": "Команды",
"template": "Шаблон",
- "template_basedir": "Базовый каталог шаблона",
- "template_basedir_tooltip": "Это свойство используется как базовый каталог для поиска шаблонов уведомлений.",
+ "template_basedir": "Базовая директория шаблонов",
+ "template_basedir_tooltip": "Это свойство используется в качестве базовой директории для поиска шаблонов уведомлений",
"template_created": "Шаблон создан",
- "template_deleted": "Шаблон удален.",
- "template_override_description": "Включение элемента управления переопределением шаблона и предоставление базового каталога шаблона позволяет переопределить шаблоны издателя уведомлений по умолчанию для отслеживания зависимостей.",
- "template_override_file_hierarchy": "Любые шаблоны Pebble, доступные в базовом каталоге шаблонов с соответствующей иерархией каталогов и схемой именования (например, ${базовый каталог}/templates/notification/publisher/email.peb), будут переопределять шаблон по умолчанию для отслеживания зависимостей.",
- "template_override_restart_needed": "Чтобы изменения были учтены, требуется перезапуск отслеживания зависимостей.",
- "template_override_security_warning": "Вы должны установить соответствующие права для базового каталога шаблонов, чтобы предотвратить предоставление ненадежными третьими лицами мошеннических шаблонов Pebble, которые могут привести к потенциальному удаленному выполнению кода.",
+ "template_deleted": "Шаблон удален",
+ "template_override_description": "Переключение настройки переопределения шаблонов и указание базовой директории шаблонов позволяет переопределять стандартные шаблоны уведомлений Dependency-Track.",
+ "template_override_file_hierarchy": "Любые шаблоны Pebble, доступные в базовой директории шаблонов с соответствующей иерархией каталогов и схемой именования (например, ${base directory}/templates/notification/publisher/email.peb), будут переопределять стандартные шаблоны Dependency-Track.",
+ "template_override_restart_needed": "Для применения изменений требуется перезапуск Dependency-Track.",
+ "template_override_security_warning": "Необходимо установить соответствующие права на базовую директорию шаблонов, чтобы предотвратить возможность предоставления недобросовестными сторонами поддельных шаблонов Pebble, которые могут привести к потенциальному удаленному выполнению кода.",
"templates": "Шаблоны",
- "test_notification_queued": "Тестовое уведомление поставлено в очередь",
+ "test_notification_queued": "Тестовое уведомление добавлено в очередь",
"token": "Токен",
- "trivy": "Триви",
- "url": "URL-адрес",
+ "trivy": "Trivy",
+ "url": "URL",
"user_created": "Пользователь создан",
"user_deleted": "Пользователь удален",
"username": "Имя пользователя",
"vuln_sources": "Источники уязвимостей",
- "vulndb": "ВулнДБ",
+ "vulndb": "VulnDB",
"vulnsource_alias_sync_enable": "Включить синхронизацию псевдонимов уязвимостей",
- "vulnsource_alias_sync_enable_tooltip": "Данные псевдонимов могут помочь в выявлении идентичных уязвимостей в нескольких базах данных. Если источник предоставляет эти данные, синхронизируйте их с базой данных Dependency-Track.",
- "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) — это база данных CVE и рекомендаций по безопасности, созданных на GitHub, влияющих на мир открытого исходного кода. Dependency-Track интегрируется с GHSA путем зеркалирования рекомендаций через общедоступный API GraphQL GitHub. Зеркало обновляется ежедневно или при перезапуске экземпляра Dependency-Track. Для аутентификации в GitHub требуется токен личного доступа (PAT), но ему не нужно назначать никакие области.",
+ "vulnsource_alias_sync_enable_tooltip": "Данные псевдонимов могут помочь в идентификации одинаковых уязвимостей в разных базах данных. Если источник предоставляет такие данные, синхронизируйте их с базой данных Dependency-Track.",
+ "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) — это база данных CVE и рекомендаций по безопасности, инициированных GitHub, которые затрагивают открытый исходный код. Dependency-Track интегрируется с GHSA, зеркалируя рекомендации через публичный GraphQL API GitHub. Зеркало обновляется ежедневно или при перезапуске экземпляра Dependency-Track. Для аутентификации с GitHub требуется персональный токен доступа (PAT), но ему не нужно присваивать какие-либо права.",
"vulnsource_github_advisories_enable": "Включить зеркалирование рекомендаций GitHub",
- "vulnsource_nvd_desc": "Национальная база данных уязвимостей (NVD) является крупнейшим общедоступным источником информации об уязвимостях. Он поддерживается группой Национального института стандартов и технологий (NIST) и основан на работе MITRE и других. Уязвимости в NVD называются Common Vulnerabilities and Exposures (CVE). С 1990-х годов по настоящее время в ПНВ зарегистрировано более 100 000 случаев CVE.",
- "vulnsource_nvd_enable": "Включить зеркалирование национальной базы данных уязвимостей",
- "vulnsource_nvd_feeds_url": "URL-адрес каналов NVD",
- "vulnsource_nvd_notice": "Этот продукт использует данные API NVD, но не одобрен и не сертифицирован NVD.",
- "vulnsource_osv_advisories_desc": "Google OSV — это распределенная инфраструктура оценки уязвимостей и сортировки для проектов с открытым исходным кодом, призванная помочь как сопровождающим, так и потребителям открытого исходного кода. Он служит агрегатором баз данных уязвимостей, принятых в формате OpenSSF Vulnerability.",
- "vulnsource_osv_advisories_enable": "Выберите экосистему, чтобы включить зеркалирование рекомендаций Google OSV.",
- "vulnsource_osv_alias_sync_warning": "OSV может сообщать о неидентичных уязвимостях как псевдонимах. Действовать с осторожностью.",
- "vulnsource_osv_base_url": "Базовый URL-адрес OSV",
+ "vulnsource_nvd_desc": "Национальная база данных уязвимостей (NVD) — крупнейший общедоступный источник информации об уязвимостях. Она поддерживается группой в рамках Национального института стандартов и технологий (NIST) и базируется на работе MITRE и других организаций. Уязвимости в NVD называются Common Vulnerabilities and Exposures (CVE). В NVD задокументировано более 100 000 CVE с 1990-х годов до настоящего времени.",
+ "vulnsource_nvd_enable": "Включить зеркалирование Национальной базы уязвимостей",
+ "vulnsource_nvd_feeds_url": "URL-адрес фидов NVD",
+ "vulnsource_nvd_notice": "Этот продукт использует данные из API NVD, но не сертифицирован и не одобрен NVD.",
+ "vulnsource_osv_advisories_desc": "Google OSV — это распределенная инфраструктура для уязвимостей и их триажа в проектах с открытым исходным кодом.",
+ "vulnsource_osv_advisories_enable": "Выберите экосистему для включения зеркалирования рекомендаций Google OSV",
+ "vulnsource_osv_alias_sync_warning": "OSV может отображать разные уязвимости как алиасы. Используйте с осторожностью.",
+ "vulnsource_osv_base_url": "Базовый URL OSV",
"welcome_message": "Приветственное сообщение",
- "welcome_message_desc": "Настройте приветственное сообщение, которое появляется на стартовой странице Dependency-Track перед входом пользователей.",
+ "welcome_message_desc": "Настройте приветственное сообщение, которое отображается на стартовой странице Dependency-Track перед входом пользователей.",
"welcome_message_enable": "Включить приветственное сообщение"
},
"condition": {
"forbidden": "Запрещено (403)",
"http_request_error": "Ошибка HTTP-запроса",
"server_error": "Ошибка сервера",
- "successful": "успешный",
+ "successful": "успешно",
"unsuccessful_action": "Не удалось выполнить запрошенное действие"
},
"hashes": {
@@ -306,10 +306,10 @@
"language": {
"de": "Немецкий",
"en": "Английский",
- "es": "испанский",
+ "es": "Испанский",
"fr": "Французский",
- "hi": "хинди",
- "it": "итальянский",
+ "hi": "Хинди",
+ "it": "Итальянский",
"ja": "Японский",
"pl": "Польский",
"pt": "Португальский (Португалия)",
@@ -318,48 +318,48 @@
"zh": "Китайский"
},
"message": {
- "about": "О",
+ "about": "О программе",
"active": "Активный",
- "add": "Добавлять",
+ "add": "Добавить",
"add_affected_component": "Добавить затронутый компонент",
"add_comment": "Добавить комментарий",
"add_component": "Добавить компонент",
"add_license": "Добавить лицензию",
- "add_tag": "Добавить метку",
+ "add_tag": "Добавить тег",
"add_version": "Добавить версию",
- "administration": "Администрация",
+ "administration": "Администрирование",
"affected_components": "Затронутые компоненты",
"affected_projects": "Затронутые проекты",
"age": "Возраст",
- "age_tooltip": "Возраст в формате периода ISO-8601 (например, P1Y = 1 год; P2Y3M = 2 года, 3 месяца).",
+ "age_tooltip": "Возраст в формате периода ISO-8601 (например, P1Y = 1 год; P2Y3M = 2 года, 3 месяца)",
"alerts_tagged_with": "Оповещения с тегом {tag}",
"aliases": "Псевдонимы",
"analysis": "Анализ",
- "analysis_details_tooltip": "Подробности (объяснения, сведения об обходном пути и другая информация о влиянии)",
+ "analysis_details_tooltip": "Детали (объяснение, информация о временных решениях и другие данные о влиянии)",
"analysis_state": "Состояние анализа",
"analysis_status": "Статус анализа",
- "analysis_tooltip": "Текущее состояние возникновения уязвимости",
+ "analysis_tooltip": "Текущее состояние уязвимости",
"analyzer": "Анализатор",
"apply_vex": "Применить VEX",
- "apply_vex_tooltip": "Примените анализ из документа Vulnerability Exploitability eXchange (VEX) к этому проекту.",
- "approved": "Одобренный",
- "attributed_on": "Приписано",
- "audit_trail": "Аудиторский след",
+ "apply_vex_tooltip": "Применить анализ из документа Vulnerability Exploitability eXchange (VEX) к этому проекту.",
+ "approved": "Одобрено",
+ "attributed_on": "Указано на",
+ "audit_trail": "Журнал аудита",
"audit_vulnerabilities": "Аудит уязвимостей",
- "auditing_progress": "Аудит прогресса",
- "authenticated": "Аутентифицированный",
+ "auditing_progress": "Прогресс аудита",
+ "authenticated": "Аутентифицировано",
"authors": "Авторы",
- "bom": "спецификация",
- "bom_format": "Формат спецификации",
- "bom_uploaded": "Спецификация загружена",
- "browse": "Просматривать",
- "can_not_fix": "Не могу исправить",
+ "bom": "BOM",
+ "bom_format": "Формат BOM",
+ "bom_uploaded": "BOM загружен",
+ "browse": "Обзор",
+ "can_not_fix": "Невозможно исправить",
"cancel": "Отмена",
- "change_password": "Изменить пароль",
+ "change_password": "Сменить пароль",
"classification": "Классификация",
"classifier": "Классификатор",
"clear_all": "Очистить все",
- "close": "Закрывать",
+ "close": "Закрыть",
"code_not_present": "Код отсутствует",
"code_not_reachable": "Код недоступен",
"collectionLogic": "Логика коллекции проектов",
@@ -374,66 +374,66 @@
"component_application": "Приложение",
"component_author": "Автор",
"component_author_desc": "Автор компонента",
- "component_classification": "component_classification",
- "component_classification_desc": "component_classification_desc",
- "component_classifier_desc": "Указывает тип компонента: активы (приложения, операционные системы и оборудование) и неактивы (библиотеки, платформы и файлы).",
+ "component_classification": "Классификация",
+ "component_classification_desc": "Определяет, является ли компонент внутренним или внешним для организации",
+ "component_classifier_desc": "Указывает тип компонента: активы (приложения, операционные системы и оборудование) и неактивы (библиотеки, фреймворки и файлы)",
"component_container": "Контейнер",
- "component_cpe_desc": "URI CPE v2.2 или v2.3, предоставленный MITRE или NIST. Для всех активов (приложений, операционных систем и оборудования) должно быть указано CPE.",
+ "component_cpe_desc": "URI CPE v2.2 или v2.3, предоставленный MITRE или NIST. Все активы должны иметь указанный CPE",
"component_created": "Компонент создан",
"component_data": "Данные",
- "component_deleted": "Компонент удален.",
+ "component_deleted": "Компонент удален",
"component_details": "Детали компонента",
"component_device": "Устройство",
"component_device_driver": "Драйвер устройства",
"component_file": "Файл",
- "component_filename_desc": "Указывает наблюдаемое имя файла компонента.",
+ "component_filename_desc": "Указывает наблюдаемое имя файла компонента",
"component_firmware": "Прошивка",
"component_framework": "Фреймворк",
- "component_group_desc": "Пространство имен, группа или идентификатор поставщика более высокого уровня.",
+ "component_group_desc": "Идентификатор группы поставщиков или их пространства имен",
"component_hash": "Хэш компонента",
- "component_hash_desc": "Указывает наблюдаемое хеш-значение компонента с использованием предыдущего алгоритма.",
- "component_identifier_desc": "Идентифицирует компонент по URL-адресу пакета (PURL) или CPE. Если тип версии — «Точный», PURL или CPE должен содержать версию. Если указан диапазон, информация о версии в идентификаторе будет игнорироваться.",
+ "component_hash_desc": "Указывает наблюдаемое хэш-значение компонента с использованием указанного алгоритма",
+ "component_identifier_desc": "Идентифицирует компонент по Package URL (PURL) или CPE. Если тип версии 'Exact', PURL или CPE должны содержать версию.",
"component_library": "Библиотека",
- "component_license_expression_desc": "Указывает информацию о лицензии для компонента в форме выражения SPDX.",
- "component_license_url_desc": "Указывает URL-адрес лицензии компонента.",
+ "component_license_expression_desc": "Указывает информацию о лицензии компонента в виде выражения SPDX",
+ "component_license_url_desc": "Указывает URL лицензии компонента",
"component_machine_learning_model": "Модель машинного обучения",
"component_name": "Имя компонента",
"component_name_desc": "Название компонента, предоставленное поставщиком",
- "component_namespace_group_vendor": "Пространство имен/группа/поставщик",
+ "component_namespace_group_vendor": "Пространство имен / группа / поставщик",
"component_none_classifier": "Никто",
"component_operating_system": "Операционная система",
- "component_package_url_desc": "Для библиотек и платформ требуется действительный URL-адрес пакета. Синтаксис PURL: pkg:type/namespace/name@version?qualifiers#subpath",
+ "component_package_url_desc": "Действительный Package URL требуется для библиотек и фреймворков. Синтаксис PURL: pkg:type/namespace/name@version?qualifiers#subpath",
"component_platform": "Платформа",
"component_properties": "Свойства компонента",
- "component_search": "Поиск компонентов",
- "component_spdx_license_desc": "Указывает идентификатор лицензии SPDX компонента.",
- "component_supplier_name_desc": "Организация, поставившая компонент",
- "component_swid_tagid_desc": "Идентификатор тега ISO/IEC 19770-2:2015 (SWID), предоставленный поставщиком программного обеспечения.",
- "component_team_desc": "Выберите команду, назначенную на этот проект",
+ "component_search": "Поиск компонента",
+ "component_spdx_license_desc": "Указывает идентификатор лицензии SPDX компонента",
+ "component_supplier_name_desc": "Организация, предоставившая компонент",
+ "component_swid_tagid_desc": "Идентификатор тега SWID ISO/IEC 19770-2:2015, предоставленный поставщиком ПО",
+ "component_team_desc": "Выберите команду, назначенную для этого проекта",
"component_updated": "Компонент обновлен",
- "component_version_desc": "Версия компонента, предоставленная поставщиком.",
- "component_vulnerabilities": "Уязвимости компонентов",
+ "component_version_desc": "Версия компонента, предоставленная поставщиком",
+ "component_vulnerabilities": "Уязвимости компонента",
"components": "Компоненты",
- "condition": "Состояние",
+ "condition": "Условие",
"condition_deleted": "Условие удалено",
"conditions": "Условия",
- "connected_as": "Подключено как",
+ "connected_as": "Подключен как",
"contacts": "Контакты",
"coordinates": "Координаты",
- "coordinates_version_tooltip": "Вы можете использовать операторы сравнения >, <, >=, <=, == и != для сопоставления определенных версий или диапазонов версий.",
- "copyright": "Авторские права",
- "cpe": "цена за взаимодействие",
- "cpe_full": "Общее перечисление платформ (CPE)",
- "create": "Создавать",
+ "coordinates_version_tooltip": "Вы можете использовать операторы сравнения >, <, >=, <=, == и != для указания конкретных версий или диапазонов версий",
+ "copyright": "Авторское право",
+ "cpe": "CPE",
+ "cpe_full": "Общая платформа идентификации (CPE)",
+ "create": "Создать",
"create_component_property": "Создать свойство компонента",
"create_license_group": "Создать группу лицензий",
"create_policy": "Создать политику",
"create_project": "Создать проект",
"create_project_property": "Создать свойство проекта",
- "create_property": "Создать недвижимость",
+ "create_property": "Создать свойство",
"create_vulnerability": "Создать уязвимость",
- "created": "Созданный",
- "credits": "Кредиты",
+ "created": "Создано",
+ "credits": "Благодарности",
"csv_filetype": "CSV",
"custom_license": "Пользовательская лицензия",
"custom_license_deleted": "Пользовательская лицензия удалена",
@@ -443,41 +443,41 @@
"cvss_attack_complexity": "Сложность атаки",
"cvss_attack_vector": "Вектор атаки",
"cvss_authentication": "Аутентификация",
- "cvss_availability_impact": "Влияние доступности",
+ "cvss_availability_impact": "Влияние на доступность",
"cvss_base_score": "Базовый балл CVSS",
"cvss_base_score_short": "Базовый балл",
"cvss_changed": "Изменено",
- "cvss_complete": "Завершено",
- "cvss_confidentiality_impact": "Влияние конфиденциальности",
- "cvss_exploitability": "Возможность использования",
- "cvss_exploitability_subscore": "Подоценка возможности использования CVSS",
+ "cvss_complete": "Полный",
+ "cvss_confidentiality_impact": "Влияние на конфиденциальность",
+ "cvss_exploitability": "Эксплуатируемость",
+ "cvss_exploitability_subscore": "Подсчет эксплуатируемости CVSS",
"cvss_high": "Высокий",
"cvss_impact": "Влияние",
- "cvss_impact_subscore": "Подоценка влияния CVSS",
+ "cvss_impact_subscore": "Подсчет влияния CVSS",
"cvss_integrity_impact": "Влияние на целостность",
"cvss_local": "Локальный",
"cvss_low": "Низкий",
"cvss_medium": "Средний",
- "cvss_multiple": "Несколько",
+ "cvss_multiple": "Множественный",
"cvss_network": "Сеть",
"cvss_none": "Нет",
- "cvss_partial": "Частично",
+ "cvss_partial": "Частичный",
"cvss_physical": "Физический",
"cvss_privileges_required": "Требуемые привилегии",
- "cvss_required": "Обязательно",
- "cvss_scope": "Объем",
- "cvss_single": "Один",
- "cvss_source": "Выберите приоритет источника для CVSS",
- "cvss_unchanged": "Без изменений",
+ "cvss_required": "Требуется",
+ "cvss_scope": "Область действия",
+ "cvss_single": "Одиночный",
+ "cvss_source": "Выберите источник для приоритета CVSS",
+ "cvss_unchanged": "Неизменный",
"cvss_user_interaction": "Взаимодействие с пользователем",
"cvss_v2": "CVSSv2",
"cvss_v2_vector": "Вектор CVSSv2",
"cvss_v3": "CVSSv3",
"cvss_v3_vector": "Вектор CVSSv3",
- "cwe": "КВЕ",
- "cwe_full": "Общий перечень слабостей (CWE)",
- "cwe_id": "идентификатор CWE",
- "dashboard": "Панель приборов",
+ "cwe": "CWE",
+ "cwe_full": "Общее описание слабостей (CWE)",
+ "cwe_id": "ID CWE",
+ "dashboard": "Панель управления",
"data": "Данные",
"dates": "Даты",
"delete": "Удалить",
@@ -485,112 +485,114 @@
"delete_policy": "Удалить политику",
"delete_selected": "Удалить выбранные элементы",
"dependency_graph": "Граф зависимостей",
- "deprecated": "Устарело",
+ "deprecated": "Устаревший",
"description": "Описание",
- "details": "Подробности",
- "direct_only": "Только прямой",
+ "details": "Детали",
+ "direct_only": "Только прямые",
"direction": "Направление",
- "download_bom": "Скачать спецификацию",
- "download_component": "Загрузить компоненты",
+ "download_bom": "Скачать BOM",
+ "download_component": "Скачать компоненты",
+ "edit": "Редактировать",
+ "edit_affected_component": "Редактировать затронутый компонент",
"email": "Электронная почта",
- "empty_selection": "Элементы не выбраны",
- "endpoints": "Конечные точки",
- "epss": "ЭПСС",
+ "empty_selection": "Ничего не выбрано",
+ "endpoints": "Точки доступа",
+ "epss": "EPSS",
"epss_percentile": "Процентиль EPSS",
- "epss_score": "Оценка EPSS",
+ "epss_score": "Рейтинг EPSS",
"exact": "Точный",
- "exploit_predictions": "Эксплуатация прогнозов",
- "exploitable": "Эксплуатационный",
- "export_vdr": "Экспорт ВДР",
- "export_vdr_tooltip": "Экспортируйте отчет о раскрытии уязвимостей (VDR), как определено в NIST SP 800-161.",
- "export_vex": "Экспорт VEX",
- "export_vex_tooltip": "Экспортируйте документ Vulnerability Exploitability eXchange (VEX).",
+ "exploit_predictions": "Прогнозы эксплуатации",
+ "exploitable": "Эксплуатируемо",
+ "export_vdr": "Экспортировать VDR",
+ "export_vdr_tooltip": "Экспортировать отчет о раскрытии уязвимостей (VDR), как указано в NIST SP 800-161.",
+ "export_vex": "Экспортировать VEX",
+ "export_vex_tooltip": "Экспортировать документ Vulnerability Exploitability eXchange (VEX).",
"extended": "Расширенный",
"external_references": "Внешние ссылки",
- "false_positive": "Ложно положительный",
+ "false_positive": "Ложноположительный",
"filename": "Имя файла",
"filters": "Фильтры",
"findings": "Выводы",
- "findings_audited": "Результаты проверены",
- "findings_unaudited": "Результаты неаудированы",
- "first_seen": "Впервые увиден в",
+ "findings_audited": "Проанализированные выводы",
+ "findings_unaudited": "Непроанализированные выводы",
+ "first_seen": "Впервые замечено",
"from": "От",
- "fsf_libre": "ФСФ Либре",
+ "fsf_libre": "Свободное ПО FSF",
"fullname": "Полное имя",
- "general": "Общий",
+ "general": "Общее",
"global_audit": "Глобальный аудит",
"group": "Группа",
"group_name": "Имя группы",
- "grouped_vulnerabilities": "Сгруппированные уязвимости",
+ "grouped_vulnerabilities": "Группированные уязвимости",
"hashes": "Хэши",
"hashes_short_desc": "Хэш (MD5, SHA, SHA3, Blake2b, Blake3)",
- "home": "Дом",
+ "home": "Главная",
"identifier": "Идентификатор",
"identifier_type": "Тип идентификатора",
- "identity": "Личность",
- "in_triage": "В сортировке",
+ "identity": "Идентичность",
+ "in_triage": "На этапе сортировки",
"inactive": "Неактивный",
- "inactive_active_children": "Проект нельзя сделать неактивным, если у него есть активные дочерние элементы.",
+ "inactive_active_children": "Проект не может быть установлен как неактивный, если у него есть активные дочерние элементы",
"inactive_versions": "Неактивные версии",
"include_acl": "Включить список контроля доступа",
"include_audit_history": "Включить историю аудита",
"include_components": "Включить компоненты",
- "include_policy_violations": "Включить нарушения правил",
+ "include_policy_violations": "Включить нарушения политик",
"include_properties": "Включить свойства",
- "include_services": "Включить услуги",
+ "include_services": "Включить службы",
"include_tags": "Включить теги",
- "inherited_risk_score": "Унаследованный показатель риска",
+ "inherited_risk_score": "Унаследованный рейтинг риска",
"internal": "Внутренний",
"inventory": "Инвентарь",
- "inventory_with_vulnerabilities": "Инвентаризация с уязвимостями",
+ "inventory_with_vulnerabilities": "Инвентарь с уязвимостями",
"justification": "Обоснование",
- "justification_tooltip": "Обоснование того, почему состояние анализа воздействия было заявлено как «Не затронуто».",
+ "justification_tooltip": "Аргументация, почему состояние анализа влияния было определено как «Не затронуто»",
"language": "Язык",
- "last_bom_import": "Последний импорт спецификации",
+ "last_bom_import": "Последний импорт BOM",
"last_measurement": "Последнее измерение",
- "last_seen": "Последний раз видели",
+ "last_seen": "Последний раз замечено",
"latest": "Последний",
"latest_version": "Последняя версия",
"legal": "Юридический",
"license": "Лицензия",
"license_comments": "Комментарии к лицензии",
- "license_expression": "SPDX-выражение",
+ "license_expression": "SPDX выражение",
"license_group": "Группа лицензий",
- "license_group_created": "Группа лицензий создана.",
- "license_group_deleted": "Группа лицензий удалена.",
+ "license_group_created": "Группа лицензий создана",
+ "license_group_deleted": "Группа лицензий удалена",
"license_groups": "Группы лицензий",
- "license_id": "Идентификатор лицензии",
- "license_id_desc": "Идентификатор лицензии, определенный SPDX. Идентификатор может содержать только буквенные, цифровые и специальные символы: _ - . +",
+ "license_id": "ID лицензии",
+ "license_id_desc": "ID лицензии, определенный SPDX. ID может содержать только буквы, цифры и определенные символы: _ - . +",
"license_name": "Название лицензии",
"license_name_desc": "Название лицензии, предоставленное поставщиком",
- "license_risk": "Лицензионный риск",
+ "license_risk": "Риск лицензии",
"license_text": "Текст лицензии",
- "license_url": "URL-адрес лицензии",
+ "license_url": "URL лицензии",
"licenses": "Лицензии",
- "login": "Авторизоваться",
+ "login": "Вход",
"login_desc": "Войдите в свой аккаунт",
- "login_forbidden": "Этот аккаунт неактивен или заблокирован",
- "login_more_options": "Больше вариантов",
- "login_unauthorized": "неправильное имя пользователя или пароль",
- "logout": "Выйти",
+ "login_forbidden": "Эта учетная запись неактивна или заблокирована",
+ "login_more_options": "Больше опций",
+ "login_unauthorized": "Неверное имя пользователя или пароль",
+ "logout": "Выход",
"manufacturer": "Производитель",
- "manufacturer_name": "Название производителя",
- "manufacturer_name_desc": "Организация, изготовившая компонент, описанный в проекте.",
+ "manufacturer_name": "Имя производителя",
+ "manufacturer_name_desc": "Организация, которая произвела компонент, описанный проектом",
"matrix": "Матрица",
"metric_refresh_requested": "Запрошено обновление. Метрики будут обновлены после завершения задачи обновления.",
"name": "Имя",
"no_file_chosen": "Файл не выбран",
"non_vulnerable": "Неуязвимый",
- "not_affected": "Не затронут",
+ "not_affected": "Не затронуто",
"not_found_in_dependency_graph": "Зависимость не найдена в графе зависимостей",
- "not_set": "Не задано",
- "notes": "Примечания",
+ "not_set": "Не установлено",
+ "notes": "Заметки",
"object_identifier": "Идентификатор объекта",
- "object_identifier_desc": "Уникальный идентификатор (UUID), который Dependency-Track автоматически присваивает каждому объекту.",
+ "object_identifier_desc": "Уникальный идентификатор (UUID), который Dependency-Track автоматически присваивает каждому объекту",
"occurred_on": "Произошло",
- "occurrences_in_projects": "События в проектах",
- "oidc_availability_check_failed": "Не удалось определить доступность OpenID Connect.",
- "oidc_redirect_failed": "Произошла ошибка при перенаправлении к поставщику удостоверений OpenID Connect.",
+ "occurrences_in_projects": "Встречается в проектах",
+ "oidc_availability_check_failed": "Не удалось определить доступность OpenID Connect",
+ "oidc_redirect_failed": "Произошла ошибка при перенаправлении к поставщику идентификации OpenID Connect",
"only_direct_tooltip": "Показывать только прямые зависимости, скрывая транзитивные зависимости",
"only_outdated_tooltip": "Показывать только зависимости, для которых доступны более новые стабильные версии.",
"operational_risk": "Операционный риск",
@@ -600,343 +602,343 @@
"overview": "Обзор",
"owasp_rr": "Рейтинг рисков OWASP",
"owasp_rr_awareness": "Осведомленность",
- "owasp_rr_awareness_hidden": "Скрытый",
- "owasp_rr_awareness_obvious": "Очевидно",
- "owasp_rr_awareness_public_knowledge": "Общедоступный",
- "owasp_rr_awareness_unknown": "Неизвестно",
- "owasp_rr_business_impact_factor": "Фактор воздействия на бизнес",
+ "owasp_rr_awareness_hidden": "Скрытая",
+ "owasp_rr_awareness_obvious": "Очевидная",
+ "owasp_rr_awareness_public_knowledge": "Публичная",
+ "owasp_rr_awareness_unknown": "Неизвестная",
+ "owasp_rr_business_impact_factor": "Фактор влияния на бизнес",
"owasp_rr_business_impact_score": "Оценка влияния на бизнес OWASP RR",
"owasp_rr_business_impact_score_short": "Влияние на бизнес",
- "owasp_rr_ease_of_discovery": "Легкость открытия",
- "owasp_rr_ease_of_discovery_automated_tools_available": "Автоматически",
- "owasp_rr_ease_of_discovery_difficult": "Сложно",
+ "owasp_rr_ease_of_discovery": "Легкость обнаружения",
+ "owasp_rr_ease_of_discovery_automated_tools_available": "Автоматизировано",
+ "owasp_rr_ease_of_discovery_difficult": "Трудно",
"owasp_rr_ease_of_discovery_easy": "Легко",
"owasp_rr_ease_of_discovery_impossible": "Невозможно",
- "owasp_rr_ease_of_exploit": "Простота эксплуатации",
+ "owasp_rr_ease_of_exploit": "Легкость эксплуатации",
"owasp_rr_ease_of_exploit_automated_tools_available": "Автоматизировано",
- "owasp_rr_ease_of_exploit_difficult": "Сложно",
+ "owasp_rr_ease_of_exploit_difficult": "Трудно",
"owasp_rr_ease_of_exploit_easy": "Легко",
- "owasp_rr_ease_of_exploit_theoritical": "Теоретический",
+ "owasp_rr_ease_of_exploit_theoritical": "Теоретически",
"owasp_rr_financial_damage": "Финансовый ущерб",
"owasp_rr_financial_damage_bankruptcy": "Банкротство",
- "owasp_rr_financial_damage_less_than_cost_to_fix": "Меньше исправления",
- "owasp_rr_financial_damage_minor": "Незначительное",
+ "owasp_rr_financial_damage_less_than_cost_to_fix": "Меньше стоимости исправления",
+ "owasp_rr_financial_damage_minor": "Незначительный",
"owasp_rr_financial_damage_significant": "Значительный",
- "owasp_rr_intrusion_detection": "Обнаружения вторжений",
- "owasp_rr_intrusion_detection_active": "Активен",
- "owasp_rr_intrusion_detection_logged_reviewed": "Зарегистрировано и проверено",
+ "owasp_rr_intrusion_detection": "Обнаружение вторжения",
+ "owasp_rr_intrusion_detection_active": "Активное",
+ "owasp_rr_intrusion_detection_logged_reviewed": "Записано и проверено",
"owasp_rr_intrusion_detection_logged_unreviewed": "Записано и не проверено",
- "owasp_rr_intrusion_detection_not_logged": "Не зарегистрировано",
+ "owasp_rr_intrusion_detection_not_logged": "Не записывается",
"owasp_rr_likelihood_score": "Оценка вероятности OWASP RR",
"owasp_rr_likelihood_score_short": "Вероятность",
"owasp_rr_loss_of_accountability": "Потеря ответственности",
"owasp_rr_loss_of_accountability_completely_anonymous": "Полностью анонимно",
- "owasp_rr_loss_of_accountability_fully_traceable": "Полностью отслеживается",
- "owasp_rr_loss_of_accountability_possibly_traceable": "Возможно отслеживается",
- "owasp_rr_loss_of_availability": "Потеря доступности (услуг)",
- "owasp_rr_loss_of_availability_all": "Все",
- "owasp_rr_loss_of_availability_extensive_primary_services": "Обширный основной",
- "owasp_rr_loss_of_availability_extensive_secondary_services": "Обширный вторичный",
- "owasp_rr_loss_of_availability_minimal_primary_services": "Минимальный основной",
- "owasp_rr_loss_of_availability_minimal_secondary_services": "Минимальный вторичный",
- "owasp_rr_loss_of_confidentiality": "Утрата конфиденциальности (данных)",
- "owasp_rr_loss_of_confidentiality_all": "Все",
- "owasp_rr_loss_of_confidentiality_extensive_critical": "Высокая критическая",
- "owasp_rr_loss_of_confidentiality_extensive_non_sensitive": "Обширный неконфиденциальный",
- "owasp_rr_loss_of_confidentiality_minimal_critical": "Минимально критический",
- "owasp_rr_loss_of_confidentiality_minimal_non_sensitive": "Минимально нечувствительный",
- "owasp_rr_loss_of_integrity": "Утрата добросовестности (коррупция)",
- "owasp_rr_loss_of_integrity_all": "Все",
- "owasp_rr_loss_of_integrity_extensive_seriously_corrupt": "Серьезно",
- "owasp_rr_loss_of_integrity_extensive_slightly_corrupt": "Слегка обширный",
- "owasp_rr_loss_of_integrity_minimal_seriously_corrupt": "Минимально серьезно",
- "owasp_rr_loss_of_integrity_minimal_slightly_corrupt": "Слегка минимальный",
+ "owasp_rr_loss_of_accountability_fully_traceable": "Полностью отслеживаемо",
+ "owasp_rr_loss_of_accountability_possibly_traceable": "Возможно отслеживаемо",
+ "owasp_rr_loss_of_availability": "Потеря доступности (сервисов)",
+ "owasp_rr_loss_of_availability_all": "Полная",
+ "owasp_rr_loss_of_availability_extensive_primary_services": "Обширная (основные сервисы)",
+ "owasp_rr_loss_of_availability_extensive_secondary_services": "Обширная (второстепенные сервисы)",
+ "owasp_rr_loss_of_availability_minimal_primary_services": "Минимальная (основные сервисы)",
+ "owasp_rr_loss_of_availability_minimal_secondary_services": "Минимальная (второстепенные сервисы)",
+ "owasp_rr_loss_of_confidentiality": "Потеря конфиденциальности (данных)",
+ "owasp_rr_loss_of_confidentiality_all": "Полная",
+ "owasp_rr_loss_of_confidentiality_extensive_critical": "Обширная (критически важные)",
+ "owasp_rr_loss_of_confidentiality_extensive_non_sensitive": "Обширная (некритические)",
+ "owasp_rr_loss_of_confidentiality_minimal_critical": "Минимальная (критически важные)",
+ "owasp_rr_loss_of_confidentiality_minimal_non_sensitive": "Минимальная (некритические)",
+ "owasp_rr_loss_of_integrity": "Потеря целостности (повреждение)",
+ "owasp_rr_loss_of_integrity_all": "Полная",
+ "owasp_rr_loss_of_integrity_extensive_seriously_corrupt": "Обширная (серьезные повреждения)",
+ "owasp_rr_loss_of_integrity_extensive_slightly_corrupt": "Обширная (незначительные повреждения)",
+ "owasp_rr_loss_of_integrity_minimal_seriously_corrupt": "Минимальная (серьезные повреждения)",
+ "owasp_rr_loss_of_integrity_minimal_slightly_corrupt": "Минимальная (незначительные повреждения)",
"owasp_rr_motivation": "Мотивация",
"owasp_rr_motivation_high_reward": "Высокая награда",
- "owasp_rr_motivation_low": "Низкий",
+ "owasp_rr_motivation_low": "Низкая",
"owasp_rr_motivation_possible_reward": "Возможная награда",
"owasp_rr_non_compliance": "Несоответствие",
- "owasp_rr_non_compliance_clear": "Очистить",
+ "owasp_rr_non_compliance_clear": "Очевидное",
"owasp_rr_non_compliance_high_profile": "Высокий профиль",
"owasp_rr_non_compliance_minor": "Незначительное",
"owasp_rr_opportunity": "Возможность / Доступ",
"owasp_rr_opportunity_full": "Полный",
"owasp_rr_opportunity_none": "Нет",
- "owasp_rr_opportunity_some": "Некоторые",
- "owasp_rr_opportunity_special": "Особенный",
+ "owasp_rr_opportunity_some": "Некоторый",
+ "owasp_rr_opportunity_special": "Специальный",
"owasp_rr_privacy_violation": "Нарушение конфиденциальности",
"owasp_rr_privacy_violation_hundreds": "Сотни",
"owasp_rr_privacy_violation_millions": "Миллионы",
- "owasp_rr_privacy_violation_one_individual": "Один",
+ "owasp_rr_privacy_violation_one_individual": "Один человек",
"owasp_rr_privacy_violation_thousands": "Тысячи",
- "owasp_rr_reputation_damage": "Урон репутации",
+ "owasp_rr_reputation_damage": "Ущерб репутации",
"owasp_rr_reputation_damage_brand": "Бренд",
- "owasp_rr_reputation_damage_goodwill": "Добрая воля",
- "owasp_rr_reputation_damage_major_accounts": "Основные аккаунты",
+ "owasp_rr_reputation_damage_goodwill": "Деловая репутация",
+ "owasp_rr_reputation_damage_major_accounts": "Ключевые клиенты",
"owasp_rr_reputation_damage_minimal": "Минимальный",
- "owasp_rr_skill_level": "Уровень квалификации",
+ "owasp_rr_skill_level": "Уровень навыков",
"owasp_rr_skill_level_advanced": "Продвинутый",
- "owasp_rr_skill_level_network_and_programming": "Программирование",
- "owasp_rr_skill_level_none": "Нет",
- "owasp_rr_skill_level_security_penetration_testing": "Пентест",
- "owasp_rr_skill_level_some": "Некоторые",
- "owasp_rr_technical_impact_factor": "Фактор технического воздействия",
+ "owasp_rr_skill_level_network_and_programming": "Сетевой и программирование",
+ "owasp_rr_skill_level_none": "Отсутствует",
+ "owasp_rr_skill_level_security_penetration_testing": "Тестирование безопасности",
+ "owasp_rr_skill_level_some": "Некоторый",
+ "owasp_rr_technical_impact_factor": "Технический фактор воздействия",
"owasp_rr_technical_impact_score": "Оценка технического воздействия OWASP RR",
"owasp_rr_technical_impact_score_short": "Техническое воздействие",
"owasp_rr_threat_agent_factor": "Фактор агента угрозы",
"owasp_rr_threat_size": "Размер угрозы",
- "owasp_rr_threat_size_anonymous_internet_users": "Пользователи Интернета",
+ "owasp_rr_threat_size_anonymous_internet_users": "Анонимные интернет-пользователи",
"owasp_rr_threat_size_auth_users": "Аутентифицированные пользователи",
- "owasp_rr_threat_size_dev_sa": "Разработчик/Системный администратор",
+ "owasp_rr_threat_size_dev_sa": "Разработчики/администраторы",
"owasp_rr_threat_size_intranet": "Интранет",
"owasp_rr_threat_size_partners": "Партнеры",
"owasp_rr_vulnerability_factor": "Фактор уязвимости",
- "package_url": "URL-адрес пакета (PURL)",
- "package_url_full": "URL-адрес пакета (PURL)",
+ "package_url": "URL пакета (PURL)",
+ "package_url_full": "Полный URL пакета (PURL)",
"password": "Пароль",
"password_change": "Изменить пароль",
- "password_change_success": "Пароль успешно изменен",
+ "password_change_success": "Пароль успешно изменён",
"password_confirm": "Подтвердите новый пароль",
"password_current": "Текущий пароль",
"password_force_change": "Обновить пароль",
- "password_force_change_desc": "Вам необходимо сменить пароль",
+ "password_force_change_desc": "Необходимо изменить пароль",
"password_new": "Новый пароль",
- "password_not_acceptable": "Проверьте новый пароль и подтвердите совпадение пароля. Вы не можете повторно использовать свой старый пароль",
- "password_unauthorized": "Проверьте текущие учетные данные для входа и повторите попытку.",
+ "password_not_acceptable": "Проверьте, что новый и подтверждённый пароли совпадают. Невозможно использовать старый пароль",
+ "password_unauthorized": "Проверьте текущие учётные данные и попробуйте снова",
"phone": "Телефон",
- "policies": "Политика",
- "policies_tagged_with": "Политики с тегом {tag}",
+ "policies": "Политики",
+ "policies_tagged_with": "Политики, помеченные тегом {tag}",
"policy_created": "Политика создана",
- "policy_deleted": "Политика удалена.",
- "policy_is_only_for_latest_project_version": "Ограничить версии проекта, помеченные как последние.",
+ "policy_deleted": "Политика удалена",
+ "policy_is_only_for_latest_project_version": "Ограничить только последней версией проекта",
"policy_management": "Управление политиками",
- "policy_name": "Имя политики",
+ "policy_name": "Название политики",
"policy_violation_audit": "Аудит нарушений политики",
"policy_violations": "Нарушения политики",
"policy_violations_by_classification": "Нарушения политики по классификации",
- "policy_violations_by_state": "Нарушения политики государством",
- "portfolio": "портфолио",
+ "policy_violations_by_state": "Нарушения политики по состоянию",
+ "portfolio": "Портфель",
"portfolio_statistics": "Статистика портфеля",
"portfolio_vulnerabilities": "Уязвимости портфеля",
"profile_update": "Обновить профиль",
- "profile_updated": "Профиль обновлен",
+ "profile_updated": "Профиль обновлён",
"project_add_collection_tag": "Совокупные данные детей с этим тегом",
- "project_cloning_in_progress": "Проект создается с указанными параметрами клонирования.",
+ "project_cloning_in_progress": "Проект создаётся с указанными параметрами клонирования",
"project_collection_logic_aggregate_direct_children": "Агрегировать прямых дочерних элементов",
"project_collection_logic_aggregate_direct_children_with_tag": "Объединить прямых дочерних элементов с помощью тега",
"project_collection_logic_desc": "Указывает, является ли этот проект проектом сбора и какую логику расчета метрик следует применить для проекта сбора. \nПроекты-коллекции не имеют собственных компонентов, а отображают данные своих дочерних элементов, используя одну из доступных логик.",
"project_collection_logic_latest_version_children": "Совокупные прямые дочерние элементы, отмеченные как последние",
"project_collection_logic_none": "Никто",
"project_created": "Проект создан",
- "project_delete_message": "Удаление этого проекта также приведет к безвозвратному удалению всех связанных с ним дочерних проектов. \nЭто действие невозможно отменить. \nВы уверены, что хотите продолжить?",
+ "project_delete_message": "Удаление этого проекта также приведёт к удалению всех связанных дочерних проектов. Это действие нельзя отменить. Вы уверены, что хотите продолжить?",
"project_delete_title": "Подтвердить удаление проекта",
- "project_deleted": "Проект удален",
+ "project_deleted": "Проект удалён",
"project_details": "Детали проекта",
- "project_is_latest": "Последняя версия",
- "project_metadata_supplier_name_desc": "Организация, предоставившая спецификацию",
- "project_name": "название проекта",
- "project_name_desc": "Название проекта или компонента, предоставленное поставщиком.",
+ "project_is_latest": "Это последняя версия",
+ "project_metadata_supplier_name_desc": "Организация, поставившая BOM",
+ "project_name": "Название проекта",
+ "project_name_desc": "Название проекта или компонента, предоставленное поставщиком",
"project_properties": "Свойства проекта",
- "project_reanalyze": "Повторный анализ",
- "project_reanalyze_requested": "Запрошен анализ уязвимостей проекта. Данные об уязвимостях проекта будут обновлены после завершения задачи повторного анализа.",
- "project_reanalyze_tooltip": "Запускает настроенные анализаторы для обнаружения уязвимостей в компонентах этого проекта. Будут использовать любые кэшированные результаты, срок действия которых еще не истек.",
- "project_supplier_name_desc": "Организация, предоставившая компонент, описанный в проекте.",
- "project_updated": "Проект обновлен",
+ "project_reanalyze": "Переанализировать",
+ "project_reanalyze_requested": "Запрашивался анализ уязвимостей проекта. Данные о уязвимостях проекта будут обновлены после завершения задачи переанализа.",
+ "project_reanalyze_tooltip": "Запускает настроенные анализаторы для обнаружения уязвимостей в компонентах проекта. Используются кэшированные результаты, которые ещё не истекли",
+ "project_supplier_name_desc": "Организация, поставившая компонент, описанный в проекте",
+ "project_updated": "Проект обновлён",
"project_vulnerabilities": "Уязвимости проекта",
"projects": "Проекты",
- "projects_also_used_in": "Проекты также используются в",
- "projects_at_risk": "Проекты под угрозой",
- "projects_tagged_with": "Проекты с тегом {tag}",
- "properties": "Характеристики",
- "property_created": "Объект создан",
- "property_deleted": "Ресурс удален.",
- "property_name": "Имя свойства",
- "property_type": "Тип недвижимости",
- "property_value": "Стоимость имущества",
- "protected_at_perimeter": "Защищено по периметру",
- "protected_at_runtime": "Защищено во время выполнения",
+ "projects_also_used_in": "Проекты, также использующие",
+ "projects_at_risk": "Проекты в риске",
+ "projects_tagged_with": "Проекты, помеченные тегом {tag}",
+ "properties": "Свойства",
+ "property_created": "Свойство создано",
+ "property_deleted": "Свойство удалено",
+ "property_name": "Название свойства",
+ "property_type": "Тип свойства",
+ "property_value": "Значение свойства",
+ "protected_at_perimeter": "Защищено на периметре",
+ "protected_at_runtime": "Защищено на этапе выполнения",
"protected_by_compiler": "Защищено компилятором",
- "protected_by_mitigating_control": "Защищено путем смягчения контроля",
+ "protected_by_mitigating_control": "Защищено с помощью смягчающего контроля",
"provider": "Поставщик",
- "provider_name": "Имя провайдера",
+ "provider_name": "Название поставщика",
"published": "Опубликовано",
"purl": "purl",
"range": "Диапазон",
"recommendation": "Рекомендация",
- "references": "Рекомендации",
+ "references": "Ссылки",
"reindex": "Перестроить индекс(ы)",
- "rejected": "Отклоненный",
+ "rejected": "Отклонено",
"remove_component": "Удалить компонент",
- "reported_by": "Сообщает",
- "required_component_identifier": "Требуется идентификатор компонента.",
- "required_component_name": "Укажите название компонента.",
- "required_component_version": "Требуется версия компонента.",
- "required_license_id": "Требуется идентификатор лицензии.",
- "required_license_name": "Укажите название лицензии.",
- "required_project_name": "Укажите название проекта.",
- "required_service_name": "Укажите название службы.",
- "required_vulnerability_vuln_id": "Требуется уникальный идентификатор уязвимости.",
- "requires_configuration": "Требуется настройка",
+ "reported_by": "Сообщено",
+ "required_component_identifier": "Необходим идентификатор компонента",
+ "required_component_name": "Необходимо указать название компонента",
+ "required_component_version": "Необходима версия компонента",
+ "required_license_id": "Необходим ID лицензии",
+ "required_license_name": "Необходимо указать название лицензии",
+ "required_project_name": "Необходимо указать название проекта",
+ "required_service_name": "Необходимо указать название сервиса",
+ "required_vulnerability_vuln_id": "Необходим уникальный идентификатор уязвимости",
+ "requires_configuration": "Требуется конфигурация",
"requires_dependency": "Требуется зависимость",
- "requires_environment": "Требуется среда",
- "reset": "Перезагрузить",
+ "requires_environment": "Требуется окружение",
+ "reset": "Сбросить",
"resolved": "Решено",
"response": "Ответ поставщика (проект)",
- "response_tooltip": "Реакция на уязвимость со стороны производителя, поставщика или проекта, ответственного за затронутый компонент или услугу.",
+ "response_tooltip": "Ответ на уязвимость от производителя, поставщика или проекта, ответственного за затронутый компонент или сервис",
"risk_score": "Оценка риска",
"risk_type": "Тип риска",
"rollback": "Откат",
"search": "Поиск",
"search_parent": "Введите для поиска родителя",
"security_risk": "Риск безопасности",
- "see_also": "Смотрите также",
- "select": "Выбирать",
- "select_cwe": "Выберите CWE",
- "select_license": "Выберите лицензию",
- "select_project": "Выберите проект",
- "select_tag": "Выберите тег",
- "selection_deleted": "Выбранное удалено.",
- "service_deleted": "Услуга удалена",
- "service_details": "Детали услуги",
- "service_name": "Наименование услуги",
- "service_name_desc": "Название услуги, как описано провайдером",
- "service_provider_name_desc": "Имя провайдера",
- "service_updated": "Сервис обновлен",
- "service_version_desc": "Версия сервиса, описанная провайдером",
+ "see_also": "См. также",
+ "select": "Выбрать",
+ "select_cwe": "Выбрать CWE",
+ "select_license": "Выбрать лицензию",
+ "select_project": "Выбрать проект",
+ "select_tag": "Выбрать тег",
+ "selection_deleted": "Выбор удалён",
+ "service_deleted": "Сервис удалён",
+ "service_details": "Детали сервиса",
+ "service_name": "Название сервиса",
+ "service_name_desc": "Название сервиса, как указано поставщиком",
+ "service_provider_name_desc": "Название поставщика",
+ "service_updated": "Сервис обновлён",
+ "service_version_desc": "Версия сервиса, как указано поставщиком",
"service_vulnerabilities": "Уязвимости сервиса",
- "services": "Услуги",
- "severity": "Строгость",
+ "services": "Сервисы",
+ "severity": "Степень серьёзности",
"show_complete_graph": "Показать полный график",
"show_flat_view": "Показать плоский вид проекта",
- "show_in_dependency_graph": "Показать на графике зависимостей",
+ "show_in_dependency_graph": "Показать в графе зависимостей",
"show_inactive_projects": "Показать неактивные проекты",
- "show_suppressed_findings": "Показать скрытые результаты",
+ "show_suppressed_findings": "Показать подавленные результаты",
"show_suppressed_violations": "Показать подавленные нарушения",
- "show_update_information": "Выделите устаревшие компоненты",
- "snapshot_notification": "Уведомление о снимке",
- "source_header": "Исходный заголовок",
- "spdx_license_id": "Идентификатор лицензии SPDX",
+ "show_update_information": "Выделить устаревшие компоненты",
+ "snapshot_notification": "Уведомление снимка",
+ "source_header": "Заголовок источника",
+ "spdx_license_id": "ID лицензии SPDX",
"state": "Состояние",
- "subtitle": "Субтитры",
+ "subtitle": "Подзаголовок",
"supplier": "Поставщик",
- "supplier_name": "Наименование поставщика",
+ "supplier_name": "Название поставщика",
"suppress": "Подавить",
- "suppressed": "Подавленный",
+ "suppressed": "Подавлено",
"swid": "swid",
- "swid_tagid": "Идентификатор SWID-тега",
- "switch_view": "Невозможно переключить вид во время поиска",
- "tag_name": "Название тэга",
- "tag_unassigned_successfully": "Отметка успешно снята",
+ "swid_tagid": "ID тега SWID",
+ "switch_view": "Невозможно переключить вид при поиске",
+ "tag_name": "Название тега",
+ "tag_unassigned_successfully": "Тег успешно снят",
"tags": "Теги",
"team": "Команда",
"template": "Шаблон",
"text_search": "Текстовый поиск",
"title": "Заголовок",
"to": "К",
- "total": "Общий",
- "total_findings": "Общие выводы",
- "total_findings_excluding_aliases": "Всего результатов (исключая псевдонимы)",
- "total_findings_including_aliases": "Всего результатов (включая псевдонимы)",
+ "total": "Всего",
+ "total_findings": "Всего результатов",
+ "total_findings_excluding_aliases": "Всего результатов (без учёта псевдонимов)",
+ "total_findings_including_aliases": "Всего результатов (с учётом псевдонимов)",
"type": "Тип",
- "unassign_tag_from_selection": "Отменить назначение тега из выделения",
- "update": "Обновлять",
+ "unassign_tag_from_selection": "Удалить тег с выбора",
+ "update": "Обновить",
"update_details": "Обновить детали",
"updated": "Обновлено",
"upload": "Загрузить",
- "upload_bom": "Загрузить спецификацию",
- "upload_bom_tooltip": "Загрузите спецификацию, все компоненты будут проанализированы на наличие уязвимостей.",
+ "upload_bom": "Загрузить BOM",
+ "upload_bom_tooltip": "Загрузить BOM, все компоненты будут проанализированы на уязвимости",
"upload_vex": "Загрузить VEX",
- "url": "URL-адрес",
- "urls": "URL-адреса",
+ "url": "URL",
+ "urls": "URLs",
"username": "Имя пользователя",
- "value": "Ценить",
+ "value": "Значение",
"vendor_response": "Ответ поставщика",
"version": "Версия",
- "version_distance": "Версия Расстояние",
+ "version_distance": "Расстояние версий",
"version_distance_epoch": "эпоха",
- "version_distance_major": "главный",
- "version_distance_minor": "незначительный",
- "version_distance_patch": "пластырь",
- "version_distance_tooltip": "Укажите разницу между номерами версий или пустое поле, чтобы игнорировать",
+ "version_distance_major": "основная",
+ "version_distance_minor": "второстепенная",
+ "version_distance_patch": "патч",
+ "version_distance_tooltip": "Укажите разницу между номерами версий или оставьте пустым для игнорирования",
"version_type": "Тип версии",
- "vex_uploaded": "VEX загружено",
+ "vex_uploaded": "VEX загружен",
"view_details": "Посмотреть детали",
"violation_state": "Состояние нарушения",
- "violations_audited": "Нарушения проверены",
- "violations_unaudited": "Нарушения не проверены",
+ "violations_audited": "Нарушения прошли аудит",
+ "violations_unaudited": "Нарушения не прошли аудит",
"vulnerabilities": "Уязвимости",
- "vulnerabilities_by_occurrence": "Уязвимости по возникновению",
+ "vulnerabilities_by_occurrence": "Уязвимости по количеству случаев",
"vulnerability": "Уязвимость",
"vulnerability_audit": "Аудит уязвимостей",
"vulnerability_created": "Уязвимость создана",
- "vulnerability_created_desc": "Дата первоначального создания записи об уязвимости.",
+ "vulnerability_created_desc": "Дата, когда была изначально создана запись об уязвимости",
"vulnerability_deleted": "Уязвимость удалена",
- "vulnerability_details": "Подробности об уязвимости",
- "vulnerability_published_desc": "Дата первоначальной публикации записи об уязвимости.",
+ "vulnerability_details": "Детали уязвимости",
+ "vulnerability_published_desc": "Дата, когда запись об уязвимости была опубликована",
"vulnerability_title": "Заголовок",
- "vulnerability_title_desc": "Необязательное название уязвимости",
+ "vulnerability_title_desc": "Необязательный заголовок уязвимости",
"vulnerability_updated": "Уязвимость обновлена",
- "vulnerability_updated_desc": "Дата последнего обновления записи об уязвимости.",
- "vulnerability_vuln_id": "Идентификатор уязвимости",
- "vulnerability_vuln_id_desc": "Идентификатор, который однозначно идентифицирует эту уязвимость в пределах одного источника.",
+ "vulnerability_updated_desc": "Дата последнего обновления записи об уязвимости",
+ "vulnerability_vuln_id": "ID уязвимости",
+ "vulnerability_vuln_id_desc": "Идентификатор, уникально идентифицирующий эту уязвимость в пределах одного источника",
"vulnerable": "Уязвимый",
"vulnerable_components": "Уязвимые компоненты",
"vulnerable_projects": "Уязвимые проекты",
"weakness": "Слабость",
"will_not_fix": "Не будет исправлено",
- "workaround_available": "Доступное решение",
+ "workaround_available": "Доступно обходное решение",
"x_trust_boundary": "Пересечение границы доверия"
},
"operator": {
"contains_all": "содержит все",
- "contains_any": "содержит любые",
+ "contains_any": "содержит любой",
"is": "является",
"is_not": "не является",
- "matches": "Матчи",
+ "matches": "совпадает",
"no_match": "не совпадает"
},
"policy_violation": {
- "fails": "Нарушения",
+ "fails": "Нарушения с ошибками",
"infos": "Информационные нарушения",
- "license": "Нарушения лицензии",
- "operational": "Эксплуатационные нарушения",
+ "license": "Нарушения лицензий",
+ "operational": "Операционные нарушения",
"security": "Нарушения безопасности",
"total": "Всего нарушений",
"warns": "Предупреждения о нарушениях"
},
"severity": {
"critical": "Критический",
- "critical_severity": "Критическая серьезность",
- "cvss_severity": "Серьезность CVSS",
- "derive_from_cvss_or_owasp_rr": "На основе CVSS или OWASP RR",
+ "critical_severity": "Критическая степень",
+ "cvss_severity": "CVSS степень",
+ "derive_from_cvss_or_owasp_rr": "Определить по CVSS или OWASP RR",
"high": "Высокий",
- "high_severity": "Высокая серьезность",
+ "high_severity": "Высокая степень",
"info": "Информация",
- "info_severity": "Информационный",
+ "info_severity": "Информационная степень",
"low": "Низкий",
- "low_severity": "Низкая серьезность",
- "medium": "Середина",
- "medium_severity": "Средняя серьезность",
- "owasp_rr_severity": "Степень серьезности риска OWASP",
- "unassigned": "Неназначенный",
- "unassigned_severity": "Неназначенная серьезность"
+ "low_severity": "Низкая степень",
+ "medium": "Средний",
+ "medium_severity": "Средняя степень",
+ "owasp_rr_severity": "Степень OWASP Risk Rating",
+ "unassigned": "Не назначено",
+ "unassigned_severity": "Не назначенная степень"
},
"validation": {
- "confirmed": "{_field_} не соответствует",
- "max_value": "Значение {_field_} должно быть ниже {max}",
- "min_value": "Значение {_field_} должно быть выше {min}",
- "required": "{_field_} является обязательным"
+ "confirmed": "{_field_} не совпадает",
+ "max_value": "Значение {_field_} должно быть меньше {max}",
+ "min_value": "Значение {_field_} должно быть больше {min}",
+ "required": "{_field_} обязательно"
},
"violation": {
- "fail": "Неудача",
- "info": "Поставить в известность",
- "warn": "Предупреждать"
+ "fail": "Ошибка",
+ "info": "Информация",
+ "warn": "Предупреждение"
},
"vulnerability": {
- "critical": "Критические уязвимости",
- "high": "Уязвимости высокой серьезности",
- "low": "Уязвимости низкой серьезности",
- "medium": "Уязвимости средней серьезности",
- "unassigned": "Неназначенные уязвимости"
+ "critical": "Уязвимости с критической степенью",
+ "high": "Уязвимости с высокой степенью",
+ "low": "Уязвимости с низкой степенью",
+ "medium": "Уязвимости со средней степенью",
+ "unassigned": "Не назначенные уязвимости"
}
}
diff --git a/src/i18n/locales/uk-UA.json b/src/i18n/locales/uk-UA.json
index 4764c7139..f0888da5c 100644
--- a/src/i18n/locales/uk-UA.json
+++ b/src/i18n/locales/uk-UA.json
@@ -492,6 +492,8 @@
"direction": "Напрямок",
"download_bom": "Завантажити BOM",
"download_component": "Завантажити компоненти",
+ "edit": "Редагувати",
+ "edit_affected_component": "Редагувати пошкоджений компонент",
"email": "Електронна пошта",
"empty_selection": "Елементи не вибрано",
"endpoints": "Кінцеві точки",
diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json
index eacfe76b1..93a7a31be 100644
--- a/src/i18n/locales/zh.json
+++ b/src/i18n/locales/zh.json
@@ -492,6 +492,8 @@
"direction": "方向",
"download_bom": "下载 BOM",
"download_component": "下载组件",
+ "edit": "编辑",
+ "edit_affected_component": "编辑受影响的组件",
"email": "电子邮件",
"empty_selection": "没有选择任何项目",
"endpoints": "终结点",
diff --git a/src/router/index.js b/src/router/index.js
index 1df12ca0f..977ff6069 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -127,6 +127,7 @@ function configRoutes() {
title: i18n.t('message.dashboard'),
i18n: 'message.dashboard',
sectionPath: '/dashboard',
+ sectionName: 'Dashboard',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -138,6 +139,7 @@ function configRoutes() {
title: i18n.t('message.projects'),
i18n: 'message.projects',
sectionPath: '/projects',
+ sectionName: 'Projects',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -159,6 +161,7 @@ function configRoutes() {
meta: {
i18n: 'message.projects',
sectionPath: '/projects',
+ sectionName: 'Projects',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -173,6 +176,7 @@ function configRoutes() {
meta: {
i18n: 'message.projects',
sectionPath: '/projects',
+ sectionName: 'Projects',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -187,6 +191,7 @@ function configRoutes() {
meta: {
i18n: 'message.projects',
sectionPath: '/projects',
+ sectionName: 'Projects',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -202,6 +207,7 @@ function configRoutes() {
meta: {
i18n: 'message.projects',
sectionPath: '/projects',
+ sectionName: 'Projects',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -213,6 +219,7 @@ function configRoutes() {
title: i18n.t('message.component_search'),
i18n: 'message.component_search',
sectionPath: '/components',
+ sectionName: 'Component Lookup',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -228,6 +235,7 @@ function configRoutes() {
meta: {
i18n: 'message.projects',
sectionPath: '/projects',
+ sectionName: 'Projects',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -239,6 +247,7 @@ function configRoutes() {
meta: {
i18n: 'message.projects',
sectionPath: '/projects',
+ sectionName: 'Projects',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -250,6 +259,7 @@ function configRoutes() {
title: i18n.t('message.vulnerabilities'),
i18n: 'message.vulnerabilities',
sectionPath: '/vulnerabilities',
+ sectionName: 'Vulnerabilities',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -268,6 +278,7 @@ function configRoutes() {
meta: {
i18n: 'message.vulnerabilities',
sectionPath: '/vulnerabilities',
+ sectionName: 'Vulnerabilities',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -279,6 +290,7 @@ function configRoutes() {
title: i18n.t('message.tags'),
i18n: 'message.tags',
sectionPath: '/tags',
+ sectionName: 'Tags',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -290,6 +302,7 @@ function configRoutes() {
title: i18n.t('message.licenses'),
i18n: 'message.licenses',
sectionPath: '/licenses',
+ sectionName: 'Licenses',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -307,6 +320,7 @@ function configRoutes() {
meta: {
i18n: 'message.licenses',
sectionPath: '/licenses',
+ sectionName: 'Licenses',
permission: 'VIEW_PORTFOLIO',
},
},
@@ -319,26 +333,31 @@ function configRoutes() {
title: i18n.t('message.policy_management'),
i18n: 'message.policy_management',
sectionPath: '/policy',
+ sectionName: 'Policy Management',
permission: 'POLICY_MANAGEMENT',
},
},
{
path: 'policyViolationAudit',
+ name: 'Policy Violation Audit',
component: PolicyViolationAudit,
meta: {
title: i18n.t('message.policy_violation_audit'),
i18n: 'message.policy_violation_audit',
- sectionPath: '/audit',
+ sectionPath: '/policyViolationAudit',
+ sectionName: 'Policy Violation Audit',
permission: 'VIEW_POLICY_VIOLATION',
},
},
{
path: 'admin',
+ name: 'Admin',
component: Administration,
meta: {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
children: [
@@ -351,6 +370,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -361,6 +381,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -371,6 +392,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -381,6 +403,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -391,6 +414,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -401,6 +425,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -411,6 +436,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -421,6 +447,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -431,6 +458,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -442,6 +470,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -452,6 +481,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -462,6 +492,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -472,6 +503,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -482,6 +514,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -493,6 +526,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -503,6 +537,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -513,6 +548,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -524,6 +560,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -534,6 +571,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -544,6 +582,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -554,6 +593,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -564,6 +604,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -574,6 +615,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -584,6 +626,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -594,6 +637,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -604,6 +648,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -614,6 +659,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -624,6 +670,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -634,6 +681,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -644,6 +692,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -655,6 +704,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -665,6 +715,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -676,6 +727,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -686,6 +738,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -696,6 +749,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'SYSTEM_CONFIGURATION',
},
},
@@ -707,6 +761,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'ACCESS_MANAGEMENT',
},
},
@@ -717,6 +772,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'ACCESS_MANAGEMENT',
},
},
@@ -727,6 +783,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'ACCESS_MANAGEMENT',
},
},
@@ -737,6 +794,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'ACCESS_MANAGEMENT',
},
},
@@ -747,6 +805,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'ACCESS_MANAGEMENT',
},
},
@@ -757,6 +816,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'ACCESS_MANAGEMENT',
},
},
@@ -767,6 +827,7 @@ function configRoutes() {
title: i18n.t('message.administration'),
i18n: 'message.administration',
sectionPath: '/admin',
+ sectionName: 'Admin',
permission: 'ACCESS_MANAGEMENT',
},
},
@@ -783,7 +844,8 @@ function configRoutes() {
meta: {
title: i18n.t('message.vulnerability_audit'),
i18n: 'message.vulnerability_audit',
- sectionPath: '/globalAudit',
+ sectionPath: '/vulnerabilityAudit',
+ sectionName: 'Vulnerability Audit',
permission: 'VIEW_VULNERABILITY',
},
},
diff --git a/src/views/administration/accessmanagement/Teams.vue b/src/views/administration/accessmanagement/Teams.vue
index 4621bea89..cc564ce2e 100644
--- a/src/views/administration/accessmanagement/Teams.vue
+++ b/src/views/administration/accessmanagement/Teams.vue
@@ -90,6 +90,9 @@ export default {
if (row.ldapUsers) {
count += row.ldapUsers.length;
}
+ if (row.oidcUsers) {
+ count += row.oidcUsers.length;
+ }
return count;
},
},
@@ -168,6 +171,13 @@ export default {
+
+
+
{{ $t('admin.delete_team') }}
@@ -197,6 +207,7 @@ export default {
mappedOidcGroups: row.mappedOidcGroups,
managedUsers: row.managedUsers,
ldapUsers: row.ldapUsers,
+ oidcUsers: row.oidcUsers,
labelIcon: {
dataOn: '\u2713',
dataOff: '\u2715',
@@ -433,6 +444,15 @@ export default {
}
this.ldapUsers = k;
}
+ if (this.oidcUsers) {
+ let k = [];
+ for (let i = 0; i < this.oidcUsers.length; i++) {
+ if (this.oidcUsers[i].username !== user.username) {
+ k.push(this.oidcUsers[i]);
+ }
+ }
+ this.oidcUsers = k;
+ }
this.$toastr.s(this.$t('message.updated'));
})
.catch((error) => {
diff --git a/src/views/administration/configuration/WelcomeMessage.vue b/src/views/administration/configuration/WelcomeMessage.vue
index 42d223d31..ba732c2c7 100644
--- a/src/views/administration/configuration/WelcomeMessage.vue
+++ b/src/views/administration/configuration/WelcomeMessage.vue
@@ -91,26 +91,20 @@ export default {
editor.style.height = editor.scrollHeight + 'px';
},
saveChanges() {
- let url = `${this.$api.BASE_URL}/${this.$api.URL_CONFIG_PROPERTY}`;
- axios.post(url, {
- groupName: 'general',
- propertyName: 'welcome.message.html',
- propertyValue: encodeURIComponent(
- this.welcomeMessage !== '' ? this.welcomeMessage : ' ',
- ),
- });
- axios
- .post(url, {
+ this.updateConfigProperties([
+ {
+ groupName: 'general',
+ propertyName: 'welcome.message.html',
+ propertyValue: encodeURIComponent(
+ this.welcomeMessage !== '' ? this.welcomeMessage : ' ',
+ ),
+ },
+ {
groupName: 'general',
propertyName: 'welcome.message.enabled',
propertyValue: this.isWelcomeMessage,
- })
- .then((response) => {
- this.$toastr.s(this.$t('admin.configuration_saved'));
- })
- .catch((error) => {
- this.$toastr.w(this.$t('condition.unsuccessful_action'));
- });
+ },
+ ]);
},
},
};
diff --git a/src/views/globalAudit/VulnerabilityAuditByOccurrence.vue b/src/views/globalAudit/VulnerabilityAuditByOccurrence.vue
index 806e1f351..8942f65b9 100644
--- a/src/views/globalAudit/VulnerabilityAuditByOccurrence.vue
+++ b/src/views/globalAudit/VulnerabilityAuditByOccurrence.vue
@@ -491,7 +491,10 @@ export default {
sortable: true,
formatter(value, row, index) {
let url = xssFilters.uriInUnQuotedAttr(
- '../vulnerabilities/' + row.vulnerability.source + '/' + value,
+ '../vulnerabilities/' +
+ row.vulnerability.source +
+ '/' +
+ encodeURIComponent(value),
);
return (
common.formatSourceLabel(row.vulnerability.source) +
diff --git a/src/views/globalAudit/VulnerabilityAuditGroupedByVulnerability.vue b/src/views/globalAudit/VulnerabilityAuditGroupedByVulnerability.vue
index 893045c8e..5deb43191 100644
--- a/src/views/globalAudit/VulnerabilityAuditGroupedByVulnerability.vue
+++ b/src/views/globalAudit/VulnerabilityAuditGroupedByVulnerability.vue
@@ -456,7 +456,10 @@ export default {
sortable: true,
formatter(value, row, index) {
let url = xssFilters.uriInUnQuotedAttr(
- '../vulnerabilities/' + row.vulnerability.source + '/' + value,
+ '../vulnerabilities/' +
+ row.vulnerability.source +
+ '/' +
+ encodeURIComponent(value),
);
return (
common.formatSourceLabel(row.vulnerability.source) +
diff --git a/src/views/portfolio/projects/ComponentDetailsModal.vue b/src/views/portfolio/projects/ComponentDetailsModal.vue
index db8435a13..df25e253e 100644
--- a/src/views/portfolio/projects/ComponentDetailsModal.vue
+++ b/src/views/portfolio/projects/ComponentDetailsModal.vue
@@ -367,7 +367,7 @@
size="md"
variant="outline-primary"
v-b-modal.componentPropertiesModal
- v-permission="PERMISSIONS.PORTFOLIO_MANAGEMENT"
+ v-permission="PERMISSIONS.VIEW_PORTFOLIO"
>{{ $t('message.properties') }}
{{
diff --git a/src/views/portfolio/projects/ComponentPropertiesModal.vue b/src/views/portfolio/projects/ComponentPropertiesModal.vue
index de6aba266..8effce1d0 100644
--- a/src/views/portfolio/projects/ComponentPropertiesModal.vue
+++ b/src/views/portfolio/projects/ComponentPropertiesModal.vue
@@ -20,6 +20,7 @@
size="md"
variant="outline-danger"
@click="deleteProperty"
+ v-permission="PERMISSIONS.PORTFOLIO_MANAGEMENT"
:disabled="!hasRowsSelected"
>{{ $t('message.delete') }}
@@ -29,6 +30,7 @@
{{ $t('message.create_property') }}
@@ -39,9 +41,11 @@