From e6f3f52f72e2a56934aa6b84cc70d532abb0f606 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sat, 4 Jan 2025 09:37:35 +0100 Subject: [PATCH 01/20] Composer Vulnerability Mirroring Signed-off-by: Valentijn Scholten --- src/assets/scss/_custom.scss | 4 ++++ src/containers/DefaultContainer.vue | 2 +- src/shared/common.js | 14 ++++++++++++++ .../portfolio/vulnerabilities/Vulnerability.vue | 2 ++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/assets/scss/_custom.scss b/src/assets/scss/_custom.scss index 7da6502bb..0c20f5a9e 100644 --- a/src/assets/scss/_custom.scss +++ b/src/assets/scss/_custom.scss @@ -137,6 +137,10 @@ html { background-color: #EBE5A8; border: 1px solid #DCD167; } +.label-source-composer { + background-color: hsl(305, 43%, 51%); + border: 1px solid #7b3566; +} .label-source-unknown { background-color: $severity-unassigned; border: 1px solid $grey-900; diff --git a/src/containers/DefaultContainer.vue b/src/containers/DefaultContainer.vue index 98b9b369b..86b99d667 100644 --- a/src/containers/DefaultContainer.vue +++ b/src/containers/DefaultContainer.vue @@ -214,7 +214,7 @@ export default { }, mounted() { if (this.$dtrack && this.$dtrack.version.includes('SNAPSHOT')) { - this.$root.$emit('bv::show::modal', 'snapshotModal'); +// this.$root.$emit('bv::show::modal', 'snapshotModal'); } this.isSidebarMinimized = diff --git a/src/shared/common.js b/src/shared/common.js index 97c00134e..b48b0d799 100644 --- a/src/shared/common.js +++ b/src/shared/common.js @@ -225,6 +225,10 @@ $common.resolveSourceVulnInfo = function resolveSourceVulnInfo( sourceInfo.name = 'Global Security Database'; sourceInfo.url = 'https://github.com/cloudsecurityalliance/gsd-database'; break; + case 'COMPOSER': + sourceInfo.name = 'Composer'; + sourceInfo.url = 'https://packagist.org/apidoc'; + break; case 'VULNDB': sourceInfo.name = 'VulnDB'; sourceInfo.url = @@ -278,6 +282,16 @@ $common.resolveVulnAliases = function resolveVulnAliases(vulnSource, aliases) { $common.resolveSourceVulnInfo('VULNDB', alias.vulnDbId), ); } + if (vulnSource !== 'DRUPAL' && alias.drupalId) { + _resolvedAliases.push( + $common.resolveSourceVulnInfo('DRUPAL', alias.drupalId), + ); + } + if (vulnSource !== 'COMPOSER' && alias.composerId) { + _resolvedAliases.push( + $common.resolveSourceVulnInfo('COMPOSER', alias.composerId), + ); + } return _resolvedAliases; }); diff --git a/src/views/portfolio/vulnerabilities/Vulnerability.vue b/src/views/portfolio/vulnerabilities/Vulnerability.vue index 102f25f0d..85ab59724 100644 --- a/src/views/portfolio/vulnerabilities/Vulnerability.vue +++ b/src/views/portfolio/vulnerabilities/Vulnerability.vue @@ -370,6 +370,8 @@ export default { return 'Snyk'; case 'TRIVY': return 'Trivy'; + case 'COMPOSER': + return 'Composer'; default: return ''; } From 522f341ab519c1f59b1cfd8c0b1c0a5a7906d5a2 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sat, 4 Jan 2025 19:42:38 +0100 Subject: [PATCH 02/20] Composer Vulnerability Mirroring initial Signed-off-by: Valentijn Scholten --- src/assets/scss/_custom.scss | 4 ++ src/i18n/locales/en.json | 2 + .../administration/notifications/Alerts.vue | 4 -- .../repositories/Repositories.vue | 48 ++++++++++++++++--- .../vulnerabilities/Vulnerability.vue | 2 + 5 files changed, 50 insertions(+), 10 deletions(-) diff --git a/src/assets/scss/_custom.scss b/src/assets/scss/_custom.scss index 0c20f5a9e..28c9f9c82 100644 --- a/src/assets/scss/_custom.scss +++ b/src/assets/scss/_custom.scss @@ -137,6 +137,10 @@ html { background-color: #EBE5A8; border: 1px solid #DCD167; } +.label-source-drupal { + background-color: hsl(120, 75%, 39%); + border: 1px solid #06785a; +} .label-source-composer { background-color: hsl(305, 43%, 51%); border: 1px solid #7b3566; diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 703a02eb5..61c1be1b9 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -212,6 +212,8 @@ "repository_created": "Repository created", "repository_deleted": "Repository deleted", "repository_type": "Repository Type", + "repository_mirror_vulnerabilities": "Enable mirroring of Security Advisories", + "repository_mirror_vulnerability_aliases": "Enable Vulnerability alias synchronization", "required_confirmPassword": "Password confirmation is required and passwords must match", "required_email": "Email address is required", "required_fullname": "Fullname is required", diff --git a/src/views/administration/notifications/Alerts.vue b/src/views/administration/notifications/Alerts.vue index ae7a7c045..17d826c47 100644 --- a/src/views/administration/notifications/Alerts.vue +++ b/src/views/administration/notifications/Alerts.vue @@ -285,10 +285,6 @@ export default { }, created() { this.initializeTags(); - this.parseDestination(this.alert); - this.parseToken(this.alert); - this.parseTokenHeader(this.alert); - this.parseJiraTicketType(this.alert); }, watch: { alert() { diff --git a/src/views/administration/repositories/Repositories.vue b/src/views/administration/repositories/Repositories.vue index 7ea296d9f..974cb3fbc 100644 --- a/src/views/administration/repositories/Repositories.vue +++ b/src/views/administration/repositories/Repositories.vue @@ -149,12 +149,21 @@ export default {
- {{$t('admin.internal')}} + {{$t('admin.enabled')}}
- {{$t('admin.repository_authentication')}} + {{$t('admin.internal')}} +
+
+ {{$t('admin.repository_mirror_vulnerabilities')}} +
+
+ {{$t('admin.repository_mirror_vulnerability_aliases')}}
+
+ {{$t('admin.repository_authentication')}} +
-
- {{$t('admin.enabled')}} -
-
{{ $t('admin.delete_repository') }}
@@ -193,6 +198,7 @@ export default { data() { return { repository: row, + type: row.type, identifier: row.identifier, url: row.url, internal: row.internal, @@ -200,6 +206,8 @@ export default { username: row.username, password: row.password || 'HiddenDecryptedPropertyPlaceholder', enabled: row.enabled, + vulnerabilitiyMirroringEnabled: this.parseVulnerabilitiyMirroringEnabled(row), + vulnerabilityMirroringAliasSyncEnabled: this.parseVulnerabilityMirroringAliasSyncEnabled(row), uuid: row.uuid, labelIcon: { dataOn: '\u2713', @@ -217,8 +225,32 @@ export default { authenticationRequired() { this.updateRepository(); }, + vulnerabilitiyMirroringEnabled() { + this.updateRepository(); + }, + vulnerabilityMirroringAliasSyncEnabled() { + this.updateRepository(); + }, }, methods: { + parseVulnerabilitiyMirroringEnabled: function (repo) { + if (repo.config) { + let value = JSON.parse(repo.config); + if (value) { + return value.vulnerabilitiyMirroringEnabled; + } + return null; + } + }, + parseVulnerabilityMirroringAliasSyncEnabled: function (repo) { + if (repo.config) { + let value = JSON.parse(repo.config); + if (value) { + return value.vulnerabilityMirroringAliasSyncEnabled; + } + return null; + } + }, deleteRepository: function () { let url = `${this.$api.BASE_URL}/${this.$api.URL_REPOSITORY}/${this.uuid}`; this.axios @@ -239,6 +271,10 @@ export default { url: this.url, internal: this.internal, authenticationRequired: this.authenticationRequired, + config: JSON.stringify({ + vulnerabilitiyMirroringEnabled: this.vulnerabilitiyMirroringEnabled, + vulnerabilityMirroringAliasSyncEnabled: this.vulnerabilityMirroringAliasSyncEnabled, + }), username: this.username, password: this.password || 'HiddenDecryptedPropertyPlaceholder', diff --git a/src/views/portfolio/vulnerabilities/Vulnerability.vue b/src/views/portfolio/vulnerabilities/Vulnerability.vue index 85ab59724..97c0089ac 100644 --- a/src/views/portfolio/vulnerabilities/Vulnerability.vue +++ b/src/views/portfolio/vulnerabilities/Vulnerability.vue @@ -370,6 +370,8 @@ export default { return 'Snyk'; case 'TRIVY': return 'Trivy'; + case 'DRUPAL': + return 'Drupal'; case 'COMPOSER': return 'Composer'; default: From f47e71bc7f3e2e608dd2b2868dce719f8aff993c Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sat, 4 Jan 2025 23:52:03 +0100 Subject: [PATCH 03/20] Composer Vulnerability Mirroring initial Signed-off-by: Valentijn Scholten --- src/containers/DefaultContainer.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/containers/DefaultContainer.vue b/src/containers/DefaultContainer.vue index 86b99d667..7b2f14bdb 100644 --- a/src/containers/DefaultContainer.vue +++ b/src/containers/DefaultContainer.vue @@ -214,6 +214,7 @@ export default { }, mounted() { if (this.$dtrack && this.$dtrack.version.includes('SNAPSHOT')) { +//TODO VS reinstate // this.$root.$emit('bv::show::modal', 'snapshotModal'); } From 608da893b0d4d9060014eba628c144fe743a8157 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sat, 4 Jan 2025 23:59:08 +0100 Subject: [PATCH 04/20] Composer Vulnerability Mirroring initial Signed-off-by: Valentijn Scholten --- package-lock.json | 1 + src/containers/DefaultContainer.vue | 4 ++-- src/i18n/locales/en.json | 2 +- src/shared/common.js | 4 ++-- .../administration/repositories/Repositories.vue | 12 ++++++++---- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 594d12942..1dcebfc42 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14906,6 +14906,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, diff --git a/src/containers/DefaultContainer.vue b/src/containers/DefaultContainer.vue index 7b2f14bdb..17b0dd5d7 100644 --- a/src/containers/DefaultContainer.vue +++ b/src/containers/DefaultContainer.vue @@ -214,8 +214,8 @@ export default { }, mounted() { if (this.$dtrack && this.$dtrack.version.includes('SNAPSHOT')) { -//TODO VS reinstate -// this.$root.$emit('bv::show::modal', 'snapshotModal'); + //TODO VS reinstate + // this.$root.$emit('bv::show::modal', 'snapshotModal'); } this.isSidebarMinimized = diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 61c1be1b9..b938765ed 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -211,9 +211,9 @@ "repository_authentication": "Authentication required", "repository_created": "Repository created", "repository_deleted": "Repository deleted", - "repository_type": "Repository Type", "repository_mirror_vulnerabilities": "Enable mirroring of Security Advisories", "repository_mirror_vulnerability_aliases": "Enable Vulnerability alias synchronization", + "repository_type": "Repository Type", "required_confirmPassword": "Password confirmation is required and passwords must match", "required_email": "Email address is required", "required_fullname": "Fullname is required", diff --git a/src/shared/common.js b/src/shared/common.js index b48b0d799..d099eb4cb 100644 --- a/src/shared/common.js +++ b/src/shared/common.js @@ -226,8 +226,8 @@ $common.resolveSourceVulnInfo = function resolveSourceVulnInfo( sourceInfo.url = 'https://github.com/cloudsecurityalliance/gsd-database'; break; case 'COMPOSER': - sourceInfo.name = 'Composer'; - sourceInfo.url = 'https://packagist.org/apidoc'; + sourceInfo.name = 'Composer'; + sourceInfo.url = 'https://packagist.org/apidoc'; break; case 'VULNDB': sourceInfo.name = 'VulnDB'; diff --git a/src/views/administration/repositories/Repositories.vue b/src/views/administration/repositories/Repositories.vue index 974cb3fbc..dc957d228 100644 --- a/src/views/administration/repositories/Repositories.vue +++ b/src/views/administration/repositories/Repositories.vue @@ -206,8 +206,10 @@ export default { username: row.username, password: row.password || 'HiddenDecryptedPropertyPlaceholder', enabled: row.enabled, - vulnerabilitiyMirroringEnabled: this.parseVulnerabilitiyMirroringEnabled(row), - vulnerabilityMirroringAliasSyncEnabled: this.parseVulnerabilityMirroringAliasSyncEnabled(row), + vulnerabilitiyMirroringEnabled: + this.parseVulnerabilitiyMirroringEnabled(row), + vulnerabilityMirroringAliasSyncEnabled: + this.parseVulnerabilityMirroringAliasSyncEnabled(row), uuid: row.uuid, labelIcon: { dataOn: '\u2713', @@ -272,8 +274,10 @@ export default { internal: this.internal, authenticationRequired: this.authenticationRequired, config: JSON.stringify({ - vulnerabilitiyMirroringEnabled: this.vulnerabilitiyMirroringEnabled, - vulnerabilityMirroringAliasSyncEnabled: this.vulnerabilityMirroringAliasSyncEnabled, + vulnerabilitiyMirroringEnabled: + this.vulnerabilitiyMirroringEnabled, + vulnerabilityMirroringAliasSyncEnabled: + this.vulnerabilityMirroringAliasSyncEnabled, }), username: this.username, password: From 41e4454ddfa80ecb14b212287a42730969d68d64 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sun, 5 Jan 2025 14:53:40 +0100 Subject: [PATCH 05/20] Composer Security Advisory Mirror: add translations Signed-off-by: Valentijn Scholten --- src/i18n/locales/de.json | 4 +++- src/i18n/locales/es.json | 4 +++- src/i18n/locales/fr.json | 4 +++- src/i18n/locales/hi.json | 4 +++- src/i18n/locales/it.json | 4 +++- src/i18n/locales/ja.json | 4 +++- src/i18n/locales/pl.json | 4 +++- src/i18n/locales/pt-BR.json | 4 +++- src/i18n/locales/pt.json | 4 +++- src/i18n/locales/ru.json | 4 +++- src/i18n/locales/uk-UA.json | 4 +++- src/i18n/locales/zh.json | 4 +++- 12 files changed, 36 insertions(+), 12 deletions(-) diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index 0f07a01cf..b258c71ee 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "OSV-Basis-URL", "welcome_message": "Willkommensnachricht", "welcome_message_desc": "Passen Sie die Willkommensnachricht an, die auf der Startseite von Dependency-Track angezeigt wird, bevor sich Benutzer anmelden.", - "welcome_message_enable": "Willkommensnachricht aktivieren" + "welcome_message_enable": "Willkommensnachricht aktivieren", + "repository_mirror_vulnerabilities": "Aktivieren Sie die Spiegelung von Sicherheitshinweisen", + "repository_mirror_vulnerability_aliases": "Aktivieren Sie die Synchronisierung des Schwachstellen-Alias" }, "condition": { "forbidden": "Verboten (403)", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 865538b12..0649d51c5 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "URL base de OSV", "welcome_message": "Mensaje de bienvenida", "welcome_message_desc": "Personalice el mensaje de bienvenida que aparece en la página de inicio de Dependency-Track antes de que los usuarios inicien sesión.", - "welcome_message_enable": "Habilitar mensaje de bienvenida" + "welcome_message_enable": "Habilitar mensaje de bienvenida", + "repository_mirror_vulnerabilities": "Habilitar la duplicación de avisos de seguridad", + "repository_mirror_vulnerability_aliases": "Habilitar la sincronización de alias de vulnerabilidad" }, "condition": { "forbidden": "Prohibido (403)", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 7d3e5d85c..5733b1aff 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "URL de base OSV", "welcome_message": "Message de bienvenue", "welcome_message_desc": "Personnalisez le message de bienvenue qui apparaît sur la page de démarrage de Dependency-Track avant que les utilisateurs ne se connectent.", - "welcome_message_enable": "Activer le message de bienvenue" + "welcome_message_enable": "Activer le message de bienvenue", + "repository_mirror_vulnerabilities": "Activer la mise en miroir des avis de sécurité", + "repository_mirror_vulnerability_aliases": "Activer la synchronisation des alias de vulnérabilité" }, "condition": { "forbidden": "Interdit (403)", diff --git a/src/i18n/locales/hi.json b/src/i18n/locales/hi.json index d4161a36f..134b2fc0c 100644 --- a/src/i18n/locales/hi.json +++ b/src/i18n/locales/hi.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "OSV बेस यूआरएल", "welcome_message": "स्वागत संदेश", "welcome_message_desc": "उपयोगकर्ताओं के साइन इन करने से पहले डिपेंडेंसी-ट्रैक के आरंभ पृष्ठ पर दिखाई देने वाले स्वागत संदेश को अनुकूलित करें।", - "welcome_message_enable": "स्वागत संदेश सक्षम करें" + "welcome_message_enable": "स्वागत संदेश सक्षम करें", + "repository_mirror_vulnerabilities": "सुरक्षा सलाह को मिरर करना सक्षम करें", + "repository_mirror_vulnerability_aliases": "भेद्यता उपनाम सिंक्रनाइज़ेशन सक्षम करें" }, "condition": { "forbidden": "निषिद्ध (403)", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index 113c3b75e..7ff3106c3 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "URL di base OSV", "welcome_message": "Messaggio di benvenuto", "welcome_message_desc": "Personalizza il messaggio di benvenuto che appare nella pagina iniziale di Dependency-Track prima che gli utenti accedano.", - "welcome_message_enable": "Abilita il messaggio di benvenuto" + "welcome_message_enable": "Abilita il messaggio di benvenuto", + "repository_mirror_vulnerabilities": "Abilita il mirroring degli avvisi di sicurezza", + "repository_mirror_vulnerability_aliases": "Abilita la sincronizzazione degli alias di vulnerabilità" }, "condition": { "forbidden": "Proibito (403)", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index e10c7e5d2..797abb188 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "OSV ベース URL", "welcome_message": "ウェルカムメッセージ", "welcome_message_desc": "ユーザーがサインインする前に、Dependency-Track の開始ページに表示されるウェルカム メッセージをカスタマイズします。", - "welcome_message_enable": "ウェルカムメッセージを有効にする" + "welcome_message_enable": "ウェルカムメッセージを有効にする", + "repository_mirror_vulnerabilities": "セキュリティ アドバイザリのミラーリングを有効にする", + "repository_mirror_vulnerability_aliases": "脆弱性エイリアスの同期を有​​効にする" }, "condition": { "forbidden": "禁止 (403)", diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 009b80209..475a82caf 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "Podstawowy adres URL OSV", "welcome_message": "Wiadomość powitalna", "welcome_message_desc": "Dostosuj wiadomość powitalną wyświetlaną na stronie początkowej funkcji Depency-Track przed zalogowaniem się użytkownika.", - "welcome_message_enable": "Włącz wiadomość powitalną" + "welcome_message_enable": "Włącz wiadomość powitalną", + "repository_mirror_vulnerabilities": "Włącz dublowanie porad dotyczących bezpieczeństwa", + "repository_mirror_vulnerability_aliases": "Włącz synchronizację aliasów luk w zabezpieczeniach" }, "condition": { "forbidden": "Zabronione (403)", diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 26772990c..ec00d559d 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "URL base do OSV", "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", - "welcome_message_enable": "Ativar mensagem de boas-vindas" + "welcome_message_enable": "Ativar mensagem de boas-vindas", + "repository_mirror_vulnerabilities": "Habilitar espelhamento de avisos de segurança", + "repository_mirror_vulnerability_aliases": "Habilitar sincronização de alias de vulnerabilidade" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json index c739a682f..ea71db7e0 100644 --- a/src/i18n/locales/pt.json +++ b/src/i18n/locales/pt.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "URL base do OSV", "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", - "welcome_message_enable": "Ativar mensagem de boas-vindas" + "welcome_message_enable": "Ativar mensagem de boas-vindas", + "repository_mirror_vulnerabilities": "Habilitar espelhamento de avisos de segurança", + "repository_mirror_vulnerability_aliases": "Habilitar sincronização de alias de vulnerabilidade" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index 8003b18aa..03c39ebaa 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "Базовый URL OSV", "welcome_message": "Приветственное сообщение", "welcome_message_desc": "Настройте приветственное сообщение, которое отображается на стартовой странице Dependency-Track перед входом пользователей.", - "welcome_message_enable": "Включить приветственное сообщение" + "welcome_message_enable": "Включить приветственное сообщение", + "repository_mirror_vulnerabilities": "Включить зеркалирование рекомендаций по безопасности", + "repository_mirror_vulnerability_aliases": "Включить синхронизацию псевдонимов уязвимостей" }, "condition": { "forbidden": "Запрещено (403)", diff --git a/src/i18n/locales/uk-UA.json b/src/i18n/locales/uk-UA.json index ba2ae8aa9..8bb4c8a09 100644 --- a/src/i18n/locales/uk-UA.json +++ b/src/i18n/locales/uk-UA.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "Базовий URL OSV", "welcome_message": "Вітальне повідомлення", "welcome_message_desc": "Налаштуйте вітальне повідомлення, яке з’являється на початковій сторінці Dependency-Track перед входом користувачів.", - "welcome_message_enable": "Увімкнути вітальне повідомлення" + "welcome_message_enable": "Увімкнути вітальне повідомлення", + "repository_mirror_vulnerabilities": "Увімкнути дзеркальне відображення повідомлень безпеки", + "repository_mirror_vulnerability_aliases": "Увімкнути синхронізацію псевдонімів уразливостей" }, "condition": { "forbidden": "Заборонено (403)", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index c4ae4282b..6ddc75d5b 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -281,7 +281,9 @@ "vulnsource_osv_base_url": "OSV 基本 URL", "welcome_message": "欢迎辞", "welcome_message_desc": "自定义用户登录前 Dependency-Track 起始页上显示的欢迎消息。", - "welcome_message_enable": "启用欢迎消息" + "welcome_message_enable": "启用欢迎消息", + "repository_mirror_vulnerabilities": "启用安全公告的镜像", + "repository_mirror_vulnerability_aliases": "启用漏洞别名同步" }, "condition": { "forbidden": "禁止 (403)", From 696d960711a877533b98c66415a79699d6ab8a50 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Mon, 6 Jan 2025 21:51:32 +0100 Subject: [PATCH 06/20] consistent naming Signed-off-by: Valentijn Scholten --- src/assets/scss/_custom.scss | 177 +++++++++++------- src/i18n/locales/de.json | 4 +- src/i18n/locales/en.json | 4 +- src/i18n/locales/es.json | 4 +- src/i18n/locales/fr.json | 4 +- src/i18n/locales/hi.json | 4 +- src/i18n/locales/it.json | 4 +- src/i18n/locales/ja.json | 4 +- src/i18n/locales/pl.json | 4 +- src/i18n/locales/pt-BR.json | 4 +- src/i18n/locales/pt.json | 4 +- src/i18n/locales/ru.json | 4 +- src/i18n/locales/uk-UA.json | 4 +- src/i18n/locales/zh.json | 4 +- .../repositories/Repositories.vue | 32 ++-- 15 files changed, 148 insertions(+), 113 deletions(-) diff --git a/src/assets/scss/_custom.scss b/src/assets/scss/_custom.scss index 28c9f9c82..d8283d699 100644 --- a/src/assets/scss/_custom.scss +++ b/src/assets/scss/_custom.scss @@ -6,34 +6,39 @@ html { .modal-header { background-color: $grey-800; } -.modal-header, .modal-footer { - padding: .5rem .7rem; +.modal-header, +.modal-footer { + padding: 0.5rem 0.7rem; } -.severity-critical, .status-failed { +.severity-critical, +.status-failed { color: $severity-critical; .progress-bar { background-color: $severity-critical; } } .severity-high { - color:$severity-high; + color: $severity-high; .progress-bar { background-color: $severity-high; } } -.severity-medium, .status-warning { +.severity-medium, +.status-warning { color: $severity-medium; .progress-bar { background-color: $severity-medium; } } -.severity-low, .status-passed { +.severity-low, +.status-passed { color: $severity-low; .progress-bar { background-color: $severity-low; } } -.severity-info, .status-info { +.severity-info, +.status-info { color: $severity-info; .progress-bar { background-color: $severity-info; @@ -49,19 +54,29 @@ html { .table-progress { width: 100% !important; } -.severity-critical-bg, .bg-severity-critical, .bg-CRITICAL { +.severity-critical-bg, +.bg-severity-critical, +.bg-CRITICAL { background: $severity-critical none; } -.severity-high-bg, .bg-severity.high, .bg-HIGH { +.severity-high-bg, +.bg-severity.high, +.bg-HIGH { background: $severity-high none; } -.severity-medium-bg, .bg-severity-medium, .bg-MEDIUM { +.severity-medium-bg, +.bg-severity-medium, +.bg-MEDIUM { background: $severity-medium none; } -.severity-low-bg, .bg-severity-low, .bg-LOW { +.severity-low-bg, +.bg-severity-low, +.bg-LOW { background: $severity-low none; } -.severity-info-bg, .bg-severity-info, .bg-INFO { +.severity-info-bg, +.bg-severity-info, +.bg-INFO { background: $severity-info none; } .severity-warn-bg { @@ -73,69 +88,71 @@ html { .bg-violation-type { background: $widget-3; } -.severity-unassigned-bg, .bg-severity-unassigned, .bg-UNASSIGNED { +.severity-unassigned-bg, +.bg-severity-unassigned, +.bg-UNASSIGNED { background: $severity-unassigned none; } .severity-bug-icon { - width:40px; - height:40px; - color:#ffffff; + width: 40px; + height: 40px; + color: #ffffff; } .severity-bug-label { - height:40px; - color:#ffffff; + height: 40px; + color: #ffffff; background-color: $severity-label-bg; } .pointer:hover { cursor: pointer; } .label-analyzer { - border: 1px solid #5C9CCB; + border: 1px solid #5c9ccb; } .label-analyzer-internal { color: $white; } .label-source { color: #222222; - padding: .2em .6em .3em; + padding: 0.2em 0.6em 0.3em; font-weight: normal; font-size: 75%; } .label-source-nvd { - background-color: #AECEE5; - border: 1px solid #5C9CCB; + background-color: #aecee5; + border: 1px solid #5c9ccb; } .label-source-npm { - background-color: #B4AFE4; - border: 1px solid #6E63CC; + background-color: #b4afe4; + border: 1px solid #6e63cc; } .label-source-ossindex { - background-color: #AFE4BF; - border: 1px solid #73D08F; + background-color: #afe4bf; + border: 1px solid #73d08f; } .label-source-snyk { background-color: #afd2e4; border: 1px solid #73c1d0; } .label-source-vulndb { - background-color: #FFC78B; - border: 1px solid #FE9536; + background-color: #ffc78b; + border: 1px solid #fe9536; } .label-source-victims { - background-color: #E4AFAF; - border: 1px solid #CC6666; + background-color: #e4afaf; + border: 1px solid #cc6666; } .label-source-github { - background-color: #D4BBF7; - border: 1px solid #A66AF7; + background-color: #d4bbf7; + border: 1px solid #a66af7; } .label-source-osv { background-color: #f7bbdc; border: 1px solid #cc668a; } .label-source-internal { - background-color: #EBE5A8; - border: 1px solid #DCD167; + background-color: #ebe5a8; + border: 1px solid #dcd167; } .label-source-drupal { background-color: hsl(120, 75%, 39%); @@ -148,43 +165,48 @@ html { .label-source-unknown { background-color: $severity-unassigned; border: 1px solid $grey-900; - color: #FFFFFF; + color: #ffffff; } .label-notification { color: #222222; - padding: .2em .6em .3em; + padding: 0.2em 0.6em 0.3em; font-weight: normal; font-size: 75%; } .label-notification-fail { - background-color: lighten($notification-fail, 15% ); + background-color: lighten($notification-fail, 15%); border: 1px solid $notification-fail; } .label-notification-warn { - background-color: lighten($notification-warn, 15% ); + background-color: lighten($notification-warn, 15%); border: 1px solid $notification-warn; } .label-notification-info { - background-color: lighten($notification-info, 15% ); + background-color: lighten($notification-info, 15%); border: 1px solid $notification-info; } .table { background-color: $grey-750; } -.table td.tight, .table th.tight { +.table td.tight, +.table th.tight { width: 1%; } -.table td.expand, .table th.expand { +.table td.expand, +.table th.expand { width: 10%; } -.table td.expand-20, .table th.expand-20 { +.table td.expand-20, +.table th.expand-20 { width: 20%; } label.required:after { color: #d62728; - content:" *"; + content: ' *'; } -input.required, select.required, textarea.required { +input.required, +select.required, +textarea.required { border-color: #ffd700; } @@ -256,17 +278,17 @@ input.required, select.required, textarea.required { .callout-severity-unassigned { border-left-color: $severity-unassigned; } -.toast-container>div { +.toast-container > div { -moz-box-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; } .expanded-row { - margin-top:-12px; - margin-bottom:-12px; + margin-top: -12px; + margin-bottom: -12px; margin-right: -13px; - padding-top:20px; + padding-top: 20px; padding-bottom: 20px; background-color: $grey-800; } @@ -279,10 +301,11 @@ input.required, select.required, textarea.required { box-shadow: 0 0 0 0; } -.btn-outline-primary.disabled.active, .btn-outline-primary:disabled.active { +.btn-outline-primary.disabled.active, +.btn-outline-primary:disabled.active { background-color: darken($blue, 20); color: $white; - opacity: 1.0; + opacity: 1; } .formattedLicenseContent { @@ -293,24 +316,24 @@ input.required, select.required, textarea.required { /* Bootstrap Toggle v2.2.2 corrections for Bootsrtap 4*/ .toggle-off { - box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); } .toggle.off { - border-color: rgba(0, 0, 0, .25); + border-color: rgba(0, 0, 0, 0.25); } .toggle-handle { background-color: $toggle-handle-bg; - border: thin rgba(0, 0, 0, .25) solid; + border: thin rgba(0, 0, 0, 0.25) solid; } h6 { - font-size: 1.0em; + font-size: 1em; font-weight: 600; text-transform: uppercase; } .switch { vertical-align: middle; - margin-top: .5rem; - margin-bottom: .5rem; + margin-top: 0.5rem; + margin-bottom: 0.5rem; margin-right: 1rem; } .switch-slider { @@ -320,26 +343,39 @@ h6 { background-color: $grey-200; } .card-footer > :not(:last-child) { - margin-right: .25rem; + margin-right: 0.25rem; } .card-footer > :not(:first-child) { - margin-left: .25rem; + margin-left: 0.25rem; } .bs-table-custom-toolbar > :not(:last-child) { - margin-right: .25rem; + margin-right: 0.25rem; } .bs-table-custom-toolbar > :not(:first-child) { - margin-left: .25rem; + margin-left: 0.25rem; } .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading { - background: $grey-750 !important; -} -.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot, -.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after, -.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before { - background: $grey-750 !important;; -} -.was-validated .form-control:invalid, .form-control.is-invalid { + background: $grey-750 !important; +} +.bootstrap-table + .fixed-table-container + .fixed-table-body + .fixed-table-loading.table-dark + .animation-dot, +.bootstrap-table + .fixed-table-container + .fixed-table-body + .fixed-table-loading.table-dark + .animation-wrap::after, +.bootstrap-table + .fixed-table-container + .fixed-table-body + .fixed-table-loading.table-dark + .animation-wrap::before { + background: $grey-750 !important; +} +.was-validated .form-control:invalid, +.form-control.is-invalid { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); } .bg-widget { @@ -352,7 +388,7 @@ button:focus { border: 1px solid #60768c !important; background-color: $grey-900 !important; margin-left: 0.6em !important; - color: #21D983 !important; + color: #21d983 !important; } .badge-tab-fail { border: 1px solid #60768c !important; @@ -381,7 +417,7 @@ button:focus { } td a.detail-icon { font-size: 150%; - line-height: 1.0; + line-height: 1; color: $grey-600; } .b-calendar-grid-body .text-dark { @@ -517,7 +553,6 @@ td a.detail-icon { white-space: nowrap; } - .icon-cellend { float: right; padding-top: 0.3rem; diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index b258c71ee..dc89001fc 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -282,8 +282,8 @@ "welcome_message": "Willkommensnachricht", "welcome_message_desc": "Passen Sie die Willkommensnachricht an, die auf der Startseite von Dependency-Track angezeigt wird, bevor sich Benutzer anmelden.", "welcome_message_enable": "Willkommensnachricht aktivieren", - "repository_mirror_vulnerabilities": "Aktivieren Sie die Spiegelung von Sicherheitshinweisen", - "repository_mirror_vulnerability_aliases": "Aktivieren Sie die Synchronisierung des Schwachstellen-Alias" + "repository_advisory_alias_sync_enabled": "Aktivieren Sie die Synchronisierung des Sicherheitshinweis-Alias", + "repository_advisory_mirroring_enabled": "Aktivieren Sie die Spiegelung von Sicherheitshinweisen" }, "condition": { "forbidden": "Verboten (403)", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index b938765ed..d3950ae5e 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -211,8 +211,8 @@ "repository_authentication": "Authentication required", "repository_created": "Repository created", "repository_deleted": "Repository deleted", - "repository_mirror_vulnerabilities": "Enable mirroring of Security Advisories", - "repository_mirror_vulnerability_aliases": "Enable Vulnerability alias synchronization", + "repository_advisory_mirroring_enabled": "Enable mirroring of Security Advisories", + "repository_advisory_alias_sync_enabled": "Enable Security Advisory alias synchronization", "repository_type": "Repository Type", "required_confirmPassword": "Password confirmation is required and passwords must match", "required_email": "Email address is required", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 0649d51c5..b72fabf32 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -282,8 +282,8 @@ "welcome_message": "Mensaje de bienvenida", "welcome_message_desc": "Personalice el mensaje de bienvenida que aparece en la página de inicio de Dependency-Track antes de que los usuarios inicien sesión.", "welcome_message_enable": "Habilitar mensaje de bienvenida", - "repository_mirror_vulnerabilities": "Habilitar la duplicación de avisos de seguridad", - "repository_mirror_vulnerability_aliases": "Habilitar la sincronización de alias de vulnerabilidad" + "repository_advisory_alias_sync_enabled": "Habilitar la sincronización de alias de aviso de seguridad", + "repository_advisory_mirroring_enabled": "Habilitar la duplicación de avisos de seguridad" }, "condition": { "forbidden": "Prohibido (403)", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 5733b1aff..9e1563b79 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -282,8 +282,8 @@ "welcome_message": "Message de bienvenue", "welcome_message_desc": "Personnalisez le message de bienvenue qui apparaît sur la page de démarrage de Dependency-Track avant que les utilisateurs ne se connectent.", "welcome_message_enable": "Activer le message de bienvenue", - "repository_mirror_vulnerabilities": "Activer la mise en miroir des avis de sécurité", - "repository_mirror_vulnerability_aliases": "Activer la synchronisation des alias de vulnérabilité" + "repository_advisory_alias_sync_enabled": "Activer la synchronisation des alias des avis de sécurité", + "repository_advisory_mirroring_enabled": "Activer la mise en miroir des avis de sécurité" }, "condition": { "forbidden": "Interdit (403)", diff --git a/src/i18n/locales/hi.json b/src/i18n/locales/hi.json index 134b2fc0c..7c4dd95f4 100644 --- a/src/i18n/locales/hi.json +++ b/src/i18n/locales/hi.json @@ -282,8 +282,8 @@ "welcome_message": "स्वागत संदेश", "welcome_message_desc": "उपयोगकर्ताओं के साइन इन करने से पहले डिपेंडेंसी-ट्रैक के आरंभ पृष्ठ पर दिखाई देने वाले स्वागत संदेश को अनुकूलित करें।", "welcome_message_enable": "स्वागत संदेश सक्षम करें", - "repository_mirror_vulnerabilities": "सुरक्षा सलाह को मिरर करना सक्षम करें", - "repository_mirror_vulnerability_aliases": "भेद्यता उपनाम सिंक्रनाइज़ेशन सक्षम करें" + "repository_advisory_alias_sync_enabled": "सुरक्षा सलाहकार उपनाम सिंक्रनाइज़ेशन सक्षम करें", + "repository_advisory_mirroring_enabled": "सुरक्षा सलाह को मिरर करना सक्षम करें" }, "condition": { "forbidden": "निषिद्ध (403)", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index 7ff3106c3..c9c56dd32 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -282,8 +282,8 @@ "welcome_message": "Messaggio di benvenuto", "welcome_message_desc": "Personalizza il messaggio di benvenuto che appare nella pagina iniziale di Dependency-Track prima che gli utenti accedano.", "welcome_message_enable": "Abilita il messaggio di benvenuto", - "repository_mirror_vulnerabilities": "Abilita il mirroring degli avvisi di sicurezza", - "repository_mirror_vulnerability_aliases": "Abilita la sincronizzazione degli alias di vulnerabilità" + "repository_advisory_alias_sync_enabled": "Abilita la sincronizzazione degli alias degli avvisi di sicurezza", + "repository_advisory_mirroring_enabled": "Abilita il mirroring degli avvisi di sicurezza" }, "condition": { "forbidden": "Proibito (403)", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index 797abb188..9cd2e0c1e 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -282,8 +282,8 @@ "welcome_message": "ウェルカムメッセージ", "welcome_message_desc": "ユーザーがサインインする前に、Dependency-Track の開始ページに表示されるウェルカム メッセージをカスタマイズします。", "welcome_message_enable": "ウェルカムメッセージを有効にする", - "repository_mirror_vulnerabilities": "セキュリティ アドバイザリのミラーリングを有効にする", - "repository_mirror_vulnerability_aliases": "脆弱性エイリアスの同期を有​​効にする" + "repository_advisory_alias_sync_enabled": "セキュリティ アドバイザリのエイリアス同期を有効にする", + "repository_advisory_mirroring_enabled": "セキュリティ アドバイザリのミラーリングを有効にする" }, "condition": { "forbidden": "禁止 (403)", diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 475a82caf..835b2d68b 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json @@ -282,8 +282,8 @@ "welcome_message": "Wiadomość powitalna", "welcome_message_desc": "Dostosuj wiadomość powitalną wyświetlaną na stronie początkowej funkcji Depency-Track przed zalogowaniem się użytkownika.", "welcome_message_enable": "Włącz wiadomość powitalną", - "repository_mirror_vulnerabilities": "Włącz dublowanie porad dotyczących bezpieczeństwa", - "repository_mirror_vulnerability_aliases": "Włącz synchronizację aliasów luk w zabezpieczeniach" + "repository_advisory_alias_sync_enabled": "Włącz synchronizację aliasów Security Advisory", + "repository_advisory_mirroring_enabled": "Włącz dublowanie porad dotyczących bezpieczeństwa" }, "condition": { "forbidden": "Zabronione (403)", diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index ec00d559d..79a66fd6f 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -282,8 +282,8 @@ "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", "welcome_message_enable": "Ativar mensagem de boas-vindas", - "repository_mirror_vulnerabilities": "Habilitar espelhamento de avisos de segurança", - "repository_mirror_vulnerability_aliases": "Habilitar sincronização de alias de vulnerabilidade" + "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", + "repository_advisory_mirroring_enabled": "Habilitar espelhamento de avisos de segurança" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json index ea71db7e0..cbdcedc88 100644 --- a/src/i18n/locales/pt.json +++ b/src/i18n/locales/pt.json @@ -282,8 +282,8 @@ "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", "welcome_message_enable": "Ativar mensagem de boas-vindas", - "repository_mirror_vulnerabilities": "Habilitar espelhamento de avisos de segurança", - "repository_mirror_vulnerability_aliases": "Habilitar sincronização de alias de vulnerabilidade" + "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", + "repository_advisory_mirroring_enabled": "Habilitar espelhamento de avisos de segurança" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index 03c39ebaa..89367f49f 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json @@ -282,8 +282,8 @@ "welcome_message": "Приветственное сообщение", "welcome_message_desc": "Настройте приветственное сообщение, которое отображается на стартовой странице Dependency-Track перед входом пользователей.", "welcome_message_enable": "Включить приветственное сообщение", - "repository_mirror_vulnerabilities": "Включить зеркалирование рекомендаций по безопасности", - "repository_mirror_vulnerability_aliases": "Включить синхронизацию псевдонимов уязвимостей" + "repository_advisory_alias_sync_enabled": "Включить синхронизацию псевдонимов рекомендаций по безопасности", + "repository_advisory_mirroring_enabled": "Включить зеркалирование рекомендаций по безопасности" }, "condition": { "forbidden": "Запрещено (403)", diff --git a/src/i18n/locales/uk-UA.json b/src/i18n/locales/uk-UA.json index 8bb4c8a09..7d3381a8b 100644 --- a/src/i18n/locales/uk-UA.json +++ b/src/i18n/locales/uk-UA.json @@ -282,8 +282,8 @@ "welcome_message": "Вітальне повідомлення", "welcome_message_desc": "Налаштуйте вітальне повідомлення, яке з’являється на початковій сторінці Dependency-Track перед входом користувачів.", "welcome_message_enable": "Увімкнути вітальне повідомлення", - "repository_mirror_vulnerabilities": "Увімкнути дзеркальне відображення повідомлень безпеки", - "repository_mirror_vulnerability_aliases": "Увімкнути синхронізацію псевдонімів уразливостей" + "repository_advisory_alias_sync_enabled": "Увімкнути синхронізацію псевдонімів Security Advisory", + "repository_advisory_mirroring_enabled": "Увімкнути дзеркальне відображення повідомлень безпеки" }, "condition": { "forbidden": "Заборонено (403)", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index 6ddc75d5b..9dcf1814f 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -282,8 +282,8 @@ "welcome_message": "欢迎辞", "welcome_message_desc": "自定义用户登录前 Dependency-Track 起始页上显示的欢迎消息。", "welcome_message_enable": "启用欢迎消息", - "repository_mirror_vulnerabilities": "启用安全公告的镜像", - "repository_mirror_vulnerability_aliases": "启用漏洞别名同步" + "repository_advisory_alias_sync_enabled": "启用安全建议别名同步", + "repository_advisory_mirroring_enabled": "启用安全公告的镜像" }, "condition": { "forbidden": "禁止 (403)", diff --git a/src/views/administration/repositories/Repositories.vue b/src/views/administration/repositories/Repositories.vue index dc957d228..25abebd89 100644 --- a/src/views/administration/repositories/Repositories.vue +++ b/src/views/administration/repositories/Repositories.vue @@ -155,10 +155,10 @@ export default { {{$t('admin.internal')}}
- {{$t('admin.repository_mirror_vulnerabilities')}} + {{$t('admin.repository_advisory_mirroring_enabled')}}
-
- {{$t('admin.repository_mirror_vulnerability_aliases')}} +
+ {{$t('repository_advisory_alias_sync_enabled')}}
@@ -206,10 +206,10 @@ export default { username: row.username, password: row.password || 'HiddenDecryptedPropertyPlaceholder', enabled: row.enabled, - vulnerabilitiyMirroringEnabled: - this.parseVulnerabilitiyMirroringEnabled(row), - vulnerabilityMirroringAliasSyncEnabled: - this.parseVulnerabilityMirroringAliasSyncEnabled(row), + advisoryMirroringEnabled: + this.parseAdvisoryMirroringEnabled(row), + advisoryAliasSyncEnabled: + this.parseAdvisoryAliasSyncEnabled(row), uuid: row.uuid, labelIcon: { dataOn: '\u2713', @@ -227,28 +227,28 @@ export default { authenticationRequired() { this.updateRepository(); }, - vulnerabilitiyMirroringEnabled() { + advisoryMirroringEnabled() { this.updateRepository(); }, - vulnerabilityMirroringAliasSyncEnabled() { + advisoryAliasSyncEnabled() { this.updateRepository(); }, }, methods: { - parseVulnerabilitiyMirroringEnabled: function (repo) { + parseAdvisoryMirroringEnabled: function (repo) { if (repo.config) { let value = JSON.parse(repo.config); if (value) { - return value.vulnerabilitiyMirroringEnabled; + return value.advisoryMirroringEnabled; } return null; } }, - parseVulnerabilityMirroringAliasSyncEnabled: function (repo) { + parseAdvisoryAliasSyncEnabled: function (repo) { if (repo.config) { let value = JSON.parse(repo.config); if (value) { - return value.vulnerabilityMirroringAliasSyncEnabled; + return value.advisoryAliasSyncEnabled; } return null; } @@ -274,10 +274,10 @@ export default { internal: this.internal, authenticationRequired: this.authenticationRequired, config: JSON.stringify({ - vulnerabilitiyMirroringEnabled: + advisoryMirroringEnabled: this.vulnerabilitiyMirroringEnabled, - vulnerabilityMirroringAliasSyncEnabled: - this.vulnerabilityMirroringAliasSyncEnabled, + advisoryAliasSyncEnabled: + this.advisoryAliasSyncEnabled, }), username: this.username, password: From 5b7d68a4ad55655e7294a2952108b1212aabc83e Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Mon, 6 Jan 2025 21:54:26 +0100 Subject: [PATCH 07/20] consistent naming Signed-off-by: Valentijn Scholten --- src/i18n/locales/de.json | 6 +++--- src/i18n/locales/en.json | 4 ++-- src/i18n/locales/es.json | 6 +++--- src/i18n/locales/fr.json | 6 +++--- src/i18n/locales/hi.json | 6 +++--- src/i18n/locales/it.json | 6 +++--- src/i18n/locales/ja.json | 6 +++--- src/i18n/locales/pl.json | 6 +++--- src/i18n/locales/pt-BR.json | 6 +++--- src/i18n/locales/pt.json | 6 +++--- src/i18n/locales/ru.json | 6 +++--- src/i18n/locales/uk-UA.json | 6 +++--- src/i18n/locales/zh.json | 6 +++--- 13 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index dc89001fc..f23faf47b 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "Anfällige Software", "remove_api_key": "remove_api_key", "repositories": "Repositorys", + "repository_advisory_alias_sync_enabled": "Aktivieren Sie die Synchronisierung des Sicherheitshinweis-Alias", + "repository_advisory_mirroring_enabled": "Aktivieren Sie die Spiegelung von Sicherheitshinweisen", "repository_authentication": "Authentifizierung erforderlich", "repository_created": "Repository erstellt", "repository_deleted": "Repository gelöscht", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "OSV-Basis-URL", "welcome_message": "Willkommensnachricht", "welcome_message_desc": "Passen Sie die Willkommensnachricht an, die auf der Startseite von Dependency-Track angezeigt wird, bevor sich Benutzer anmelden.", - "welcome_message_enable": "Willkommensnachricht aktivieren", - "repository_advisory_alias_sync_enabled": "Aktivieren Sie die Synchronisierung des Sicherheitshinweis-Alias", - "repository_advisory_mirroring_enabled": "Aktivieren Sie die Spiegelung von Sicherheitshinweisen" + "welcome_message_enable": "Willkommensnachricht aktivieren" }, "condition": { "forbidden": "Verboten (403)", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index d3950ae5e..c6337184e 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -208,11 +208,11 @@ "reindex_vulnerable_software": "Vulnerable software", "remove_api_key": "Remove API Key", "repositories": "Repositories", + "repository_advisory_alias_sync_enabled": "Enable Security Advisory alias synchronization", + "repository_advisory_mirroring_enabled": "Enable mirroring of Security Advisories", "repository_authentication": "Authentication required", "repository_created": "Repository created", "repository_deleted": "Repository deleted", - "repository_advisory_mirroring_enabled": "Enable mirroring of Security Advisories", - "repository_advisory_alias_sync_enabled": "Enable Security Advisory alias synchronization", "repository_type": "Repository Type", "required_confirmPassword": "Password confirmation is required and passwords must match", "required_email": "Email address is required", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index b72fabf32..93167aeb0 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "software vulnerable", "remove_api_key": "Eliminar Clave API", "repositories": "Repositorios", + "repository_advisory_alias_sync_enabled": "Habilitar la sincronización de alias de aviso de seguridad", + "repository_advisory_mirroring_enabled": "Habilitar la duplicación de avisos de seguridad", "repository_authentication": "Autenticacion requerida", "repository_created": "Repositorio creado", "repository_deleted": "Repositorio eliminado", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "URL base de OSV", "welcome_message": "Mensaje de bienvenida", "welcome_message_desc": "Personalice el mensaje de bienvenida que aparece en la página de inicio de Dependency-Track antes de que los usuarios inicien sesión.", - "welcome_message_enable": "Habilitar mensaje de bienvenida", - "repository_advisory_alias_sync_enabled": "Habilitar la sincronización de alias de aviso de seguridad", - "repository_advisory_mirroring_enabled": "Habilitar la duplicación de avisos de seguridad" + "welcome_message_enable": "Habilitar mensaje de bienvenida" }, "condition": { "forbidden": "Prohibido (403)", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 9e1563b79..4a2422d24 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "Logiciels vulnérables", "remove_api_key": "Retirer la clé d'API", "repositories": "Dépôts", + "repository_advisory_alias_sync_enabled": "Activer la synchronisation des alias des avis de sécurité", + "repository_advisory_mirroring_enabled": "Activer la mise en miroir des avis de sécurité", "repository_authentication": "Authentification requise", "repository_created": "Dépôt créé", "repository_deleted": "Dépôt supprimé", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "URL de base OSV", "welcome_message": "Message de bienvenue", "welcome_message_desc": "Personnalisez le message de bienvenue qui apparaît sur la page de démarrage de Dependency-Track avant que les utilisateurs ne se connectent.", - "welcome_message_enable": "Activer le message de bienvenue", - "repository_advisory_alias_sync_enabled": "Activer la synchronisation des alias des avis de sécurité", - "repository_advisory_mirroring_enabled": "Activer la mise en miroir des avis de sécurité" + "welcome_message_enable": "Activer le message de bienvenue" }, "condition": { "forbidden": "Interdit (403)", diff --git a/src/i18n/locales/hi.json b/src/i18n/locales/hi.json index 7c4dd95f4..6d053e603 100644 --- a/src/i18n/locales/hi.json +++ b/src/i18n/locales/hi.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "कमजोर सॉफ्टवेयर", "remove_api_key": "remove_api_key", "repositories": "डेटा संग्रह स्थान", + "repository_advisory_alias_sync_enabled": "सुरक्षा सलाहकार उपनाम सिंक्रनाइज़ेशन सक्षम करें", + "repository_advisory_mirroring_enabled": "सुरक्षा सलाह को मिरर करना सक्षम करें", "repository_authentication": "प्रमाणित करना", "repository_created": "रिपोजिटरी बनाई गई", "repository_deleted": "रिपॉजिटरी हटा दी गई", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "OSV बेस यूआरएल", "welcome_message": "स्वागत संदेश", "welcome_message_desc": "उपयोगकर्ताओं के साइन इन करने से पहले डिपेंडेंसी-ट्रैक के आरंभ पृष्ठ पर दिखाई देने वाले स्वागत संदेश को अनुकूलित करें।", - "welcome_message_enable": "स्वागत संदेश सक्षम करें", - "repository_advisory_alias_sync_enabled": "सुरक्षा सलाहकार उपनाम सिंक्रनाइज़ेशन सक्षम करें", - "repository_advisory_mirroring_enabled": "सुरक्षा सलाह को मिरर करना सक्षम करें" + "welcome_message_enable": "स्वागत संदेश सक्षम करें" }, "condition": { "forbidden": "निषिद्ध (403)", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index c9c56dd32..d7544ac0c 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "Software vulnerabile", "remove_api_key": "remove_api_key", "repositories": "Repository", + "repository_advisory_alias_sync_enabled": "Abilita la sincronizzazione degli alias degli avvisi di sicurezza", + "repository_advisory_mirroring_enabled": "Abilita il mirroring degli avvisi di sicurezza", "repository_authentication": "Autenticazione richiesta", "repository_created": "Archivio creato", "repository_deleted": "Archivio eliminato", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "URL di base OSV", "welcome_message": "Messaggio di benvenuto", "welcome_message_desc": "Personalizza il messaggio di benvenuto che appare nella pagina iniziale di Dependency-Track prima che gli utenti accedano.", - "welcome_message_enable": "Abilita il messaggio di benvenuto", - "repository_advisory_alias_sync_enabled": "Abilita la sincronizzazione degli alias degli avvisi di sicurezza", - "repository_advisory_mirroring_enabled": "Abilita il mirroring degli avvisi di sicurezza" + "welcome_message_enable": "Abilita il messaggio di benvenuto" }, "condition": { "forbidden": "Proibito (403)", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index 9cd2e0c1e..e876db12c 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "脆弱なソフトウェア", "remove_api_key": "remove_api_key", "repositories": "リポジトリ", + "repository_advisory_alias_sync_enabled": "セキュリティ アドバイザリのエイリアス同期を有効にする", + "repository_advisory_mirroring_enabled": "セキュリティ アドバイザリのミラーリングを有効にする", "repository_authentication": "認証が必要", "repository_created": "リポジトリが作成されました", "repository_deleted": "リポジトリが削除されました", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "OSV ベース URL", "welcome_message": "ウェルカムメッセージ", "welcome_message_desc": "ユーザーがサインインする前に、Dependency-Track の開始ページに表示されるウェルカム メッセージをカスタマイズします。", - "welcome_message_enable": "ウェルカムメッセージを有効にする", - "repository_advisory_alias_sync_enabled": "セキュリティ アドバイザリのエイリアス同期を有効にする", - "repository_advisory_mirroring_enabled": "セキュリティ アドバイザリのミラーリングを有効にする" + "welcome_message_enable": "ウェルカムメッセージを有効にする" }, "condition": { "forbidden": "禁止 (403)", diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 835b2d68b..3bc8fcde1 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "Wrażliwe oprogramowanie", "remove_api_key": "remove_api_key", "repositories": "Repozytoria", + "repository_advisory_alias_sync_enabled": "Włącz synchronizację aliasów Security Advisory", + "repository_advisory_mirroring_enabled": "Włącz dublowanie porad dotyczących bezpieczeństwa", "repository_authentication": "Wymagane uwierzytelnienie", "repository_created": "Repozytorium zostało utworzone", "repository_deleted": "Repozytorium usunięte", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "Podstawowy adres URL OSV", "welcome_message": "Wiadomość powitalna", "welcome_message_desc": "Dostosuj wiadomość powitalną wyświetlaną na stronie początkowej funkcji Depency-Track przed zalogowaniem się użytkownika.", - "welcome_message_enable": "Włącz wiadomość powitalną", - "repository_advisory_alias_sync_enabled": "Włącz synchronizację aliasów Security Advisory", - "repository_advisory_mirroring_enabled": "Włącz dublowanie porad dotyczących bezpieczeństwa" + "welcome_message_enable": "Włącz wiadomość powitalną" }, "condition": { "forbidden": "Zabronione (403)", diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 79a66fd6f..5af6a88ea 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "Software vulnerável", "remove_api_key": "remove_api_key", "repositories": "Repositórios", + "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", + "repository_advisory_mirroring_enabled": "Habilitar espelhamento de avisos de segurança", "repository_authentication": "Autentificação requerida", "repository_created": "Repositório criado", "repository_deleted": "Repositório excluído", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "URL base do OSV", "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", - "welcome_message_enable": "Ativar mensagem de boas-vindas", - "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", - "repository_advisory_mirroring_enabled": "Habilitar espelhamento de avisos de segurança" + "welcome_message_enable": "Ativar mensagem de boas-vindas" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json index cbdcedc88..60686a987 100644 --- a/src/i18n/locales/pt.json +++ b/src/i18n/locales/pt.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "Software vulnerável", "remove_api_key": "remove_api_key", "repositories": "Repositórios", + "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", + "repository_advisory_mirroring_enabled": "Habilitar espelhamento de avisos de segurança", "repository_authentication": "Autentificação requerida", "repository_created": "Repositório criado", "repository_deleted": "Repositório excluído", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "URL base do OSV", "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", - "welcome_message_enable": "Ativar mensagem de boas-vindas", - "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", - "repository_advisory_mirroring_enabled": "Habilitar espelhamento de avisos de segurança" + "welcome_message_enable": "Ativar mensagem de boas-vindas" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index 89367f49f..74c2f98b9 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "Уязвимое ПО", "remove_api_key": "Удалить API-ключ", "repositories": "Репозитории", + "repository_advisory_alias_sync_enabled": "Включить синхронизацию псевдонимов рекомендаций по безопасности", + "repository_advisory_mirroring_enabled": "Включить зеркалирование рекомендаций по безопасности", "repository_authentication": "Требуется аутентификация", "repository_created": "Репозиторий создан", "repository_deleted": "Репозиторий удален", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "Базовый URL OSV", "welcome_message": "Приветственное сообщение", "welcome_message_desc": "Настройте приветственное сообщение, которое отображается на стартовой странице Dependency-Track перед входом пользователей.", - "welcome_message_enable": "Включить приветственное сообщение", - "repository_advisory_alias_sync_enabled": "Включить синхронизацию псевдонимов рекомендаций по безопасности", - "repository_advisory_mirroring_enabled": "Включить зеркалирование рекомендаций по безопасности" + "welcome_message_enable": "Включить приветственное сообщение" }, "condition": { "forbidden": "Запрещено (403)", diff --git a/src/i18n/locales/uk-UA.json b/src/i18n/locales/uk-UA.json index 7d3381a8b..65dacba3b 100644 --- a/src/i18n/locales/uk-UA.json +++ b/src/i18n/locales/uk-UA.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "Вразливе програмне забезпечення", "remove_api_key": "Видалити ключ API", "repositories": "Репозиторії", + "repository_advisory_alias_sync_enabled": "Увімкнути синхронізацію псевдонімів Security Advisory", + "repository_advisory_mirroring_enabled": "Увімкнути дзеркальне відображення повідомлень безпеки", "repository_authentication": "Потрібна автентифікація", "repository_created": "Репозиторій створено", "repository_deleted": "Репозиторій видалено", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "Базовий URL OSV", "welcome_message": "Вітальне повідомлення", "welcome_message_desc": "Налаштуйте вітальне повідомлення, яке з’являється на початковій сторінці Dependency-Track перед входом користувачів.", - "welcome_message_enable": "Увімкнути вітальне повідомлення", - "repository_advisory_alias_sync_enabled": "Увімкнути синхронізацію псевдонімів Security Advisory", - "repository_advisory_mirroring_enabled": "Увімкнути дзеркальне відображення повідомлень безпеки" + "welcome_message_enable": "Увімкнути вітальне повідомлення" }, "condition": { "forbidden": "Заборонено (403)", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index 9dcf1814f..eacb6631b 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -208,6 +208,8 @@ "reindex_vulnerable_software": "重新生成软件索引", "remove_api_key": "删除 API Key", "repositories": "存储库", + "repository_advisory_alias_sync_enabled": "启用安全建议别名同步", + "repository_advisory_mirroring_enabled": "启用安全公告的镜像", "repository_authentication": "存储库身份验证", "repository_created": "已创建存储库", "repository_deleted": "存储库已删除", @@ -281,9 +283,7 @@ "vulnsource_osv_base_url": "OSV 基本 URL", "welcome_message": "欢迎辞", "welcome_message_desc": "自定义用户登录前 Dependency-Track 起始页上显示的欢迎消息。", - "welcome_message_enable": "启用欢迎消息", - "repository_advisory_alias_sync_enabled": "启用安全建议别名同步", - "repository_advisory_mirroring_enabled": "启用安全公告的镜像" + "welcome_message_enable": "启用欢迎消息" }, "condition": { "forbidden": "禁止 (403)", From 8783f194535f6928798cfc6ddf637da431bc41b4 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Mon, 6 Jan 2025 21:57:50 +0100 Subject: [PATCH 08/20] consistent naming Signed-off-by: Valentijn Scholten --- src/views/administration/repositories/Repositories.vue | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/views/administration/repositories/Repositories.vue b/src/views/administration/repositories/Repositories.vue index 25abebd89..72795dd7a 100644 --- a/src/views/administration/repositories/Repositories.vue +++ b/src/views/administration/repositories/Repositories.vue @@ -276,8 +276,7 @@ export default { config: JSON.stringify({ advisoryMirroringEnabled: this.vulnerabilitiyMirroringEnabled, - advisoryAliasSyncEnabled: - this.advisoryAliasSyncEnabled, + advisoryAliasSyncEnabled: this.advisoryAliasSyncEnabled, }), username: this.username, password: From d9b9a975732d5f31fcf963b2de1aa79e029a9941 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Wed, 8 Jan 2025 14:32:45 +0100 Subject: [PATCH 09/20] unprettify _custom.css Signed-off-by: Valentijn Scholten --- src/assets/scss/_custom.scss | 177 ++++++++++++++--------------------- 1 file changed, 71 insertions(+), 106 deletions(-) diff --git a/src/assets/scss/_custom.scss b/src/assets/scss/_custom.scss index d8283d699..28c9f9c82 100644 --- a/src/assets/scss/_custom.scss +++ b/src/assets/scss/_custom.scss @@ -6,39 +6,34 @@ html { .modal-header { background-color: $grey-800; } -.modal-header, -.modal-footer { - padding: 0.5rem 0.7rem; +.modal-header, .modal-footer { + padding: .5rem .7rem; } -.severity-critical, -.status-failed { +.severity-critical, .status-failed { color: $severity-critical; .progress-bar { background-color: $severity-critical; } } .severity-high { - color: $severity-high; + color:$severity-high; .progress-bar { background-color: $severity-high; } } -.severity-medium, -.status-warning { +.severity-medium, .status-warning { color: $severity-medium; .progress-bar { background-color: $severity-medium; } } -.severity-low, -.status-passed { +.severity-low, .status-passed { color: $severity-low; .progress-bar { background-color: $severity-low; } } -.severity-info, -.status-info { +.severity-info, .status-info { color: $severity-info; .progress-bar { background-color: $severity-info; @@ -54,29 +49,19 @@ html { .table-progress { width: 100% !important; } -.severity-critical-bg, -.bg-severity-critical, -.bg-CRITICAL { +.severity-critical-bg, .bg-severity-critical, .bg-CRITICAL { background: $severity-critical none; } -.severity-high-bg, -.bg-severity.high, -.bg-HIGH { +.severity-high-bg, .bg-severity.high, .bg-HIGH { background: $severity-high none; } -.severity-medium-bg, -.bg-severity-medium, -.bg-MEDIUM { +.severity-medium-bg, .bg-severity-medium, .bg-MEDIUM { background: $severity-medium none; } -.severity-low-bg, -.bg-severity-low, -.bg-LOW { +.severity-low-bg, .bg-severity-low, .bg-LOW { background: $severity-low none; } -.severity-info-bg, -.bg-severity-info, -.bg-INFO { +.severity-info-bg, .bg-severity-info, .bg-INFO { background: $severity-info none; } .severity-warn-bg { @@ -88,71 +73,69 @@ html { .bg-violation-type { background: $widget-3; } -.severity-unassigned-bg, -.bg-severity-unassigned, -.bg-UNASSIGNED { +.severity-unassigned-bg, .bg-severity-unassigned, .bg-UNASSIGNED { background: $severity-unassigned none; } .severity-bug-icon { - width: 40px; - height: 40px; - color: #ffffff; + width:40px; + height:40px; + color:#ffffff; } .severity-bug-label { - height: 40px; - color: #ffffff; + height:40px; + color:#ffffff; background-color: $severity-label-bg; } .pointer:hover { cursor: pointer; } .label-analyzer { - border: 1px solid #5c9ccb; + border: 1px solid #5C9CCB; } .label-analyzer-internal { color: $white; } .label-source { color: #222222; - padding: 0.2em 0.6em 0.3em; + padding: .2em .6em .3em; font-weight: normal; font-size: 75%; } .label-source-nvd { - background-color: #aecee5; - border: 1px solid #5c9ccb; + background-color: #AECEE5; + border: 1px solid #5C9CCB; } .label-source-npm { - background-color: #b4afe4; - border: 1px solid #6e63cc; + background-color: #B4AFE4; + border: 1px solid #6E63CC; } .label-source-ossindex { - background-color: #afe4bf; - border: 1px solid #73d08f; + background-color: #AFE4BF; + border: 1px solid #73D08F; } .label-source-snyk { background-color: #afd2e4; border: 1px solid #73c1d0; } .label-source-vulndb { - background-color: #ffc78b; - border: 1px solid #fe9536; + background-color: #FFC78B; + border: 1px solid #FE9536; } .label-source-victims { - background-color: #e4afaf; - border: 1px solid #cc6666; + background-color: #E4AFAF; + border: 1px solid #CC6666; } .label-source-github { - background-color: #d4bbf7; - border: 1px solid #a66af7; + background-color: #D4BBF7; + border: 1px solid #A66AF7; } .label-source-osv { background-color: #f7bbdc; border: 1px solid #cc668a; } .label-source-internal { - background-color: #ebe5a8; - border: 1px solid #dcd167; + background-color: #EBE5A8; + border: 1px solid #DCD167; } .label-source-drupal { background-color: hsl(120, 75%, 39%); @@ -165,48 +148,43 @@ html { .label-source-unknown { background-color: $severity-unassigned; border: 1px solid $grey-900; - color: #ffffff; + color: #FFFFFF; } .label-notification { color: #222222; - padding: 0.2em 0.6em 0.3em; + padding: .2em .6em .3em; font-weight: normal; font-size: 75%; } .label-notification-fail { - background-color: lighten($notification-fail, 15%); + background-color: lighten($notification-fail, 15% ); border: 1px solid $notification-fail; } .label-notification-warn { - background-color: lighten($notification-warn, 15%); + background-color: lighten($notification-warn, 15% ); border: 1px solid $notification-warn; } .label-notification-info { - background-color: lighten($notification-info, 15%); + background-color: lighten($notification-info, 15% ); border: 1px solid $notification-info; } .table { background-color: $grey-750; } -.table td.tight, -.table th.tight { +.table td.tight, .table th.tight { width: 1%; } -.table td.expand, -.table th.expand { +.table td.expand, .table th.expand { width: 10%; } -.table td.expand-20, -.table th.expand-20 { +.table td.expand-20, .table th.expand-20 { width: 20%; } label.required:after { color: #d62728; - content: ' *'; + content:" *"; } -input.required, -select.required, -textarea.required { +input.required, select.required, textarea.required { border-color: #ffd700; } @@ -278,17 +256,17 @@ textarea.required { .callout-severity-unassigned { border-left-color: $severity-unassigned; } -.toast-container > div { +.toast-container>div { -moz-box-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; } .expanded-row { - margin-top: -12px; - margin-bottom: -12px; + margin-top:-12px; + margin-bottom:-12px; margin-right: -13px; - padding-top: 20px; + padding-top:20px; padding-bottom: 20px; background-color: $grey-800; } @@ -301,11 +279,10 @@ textarea.required { box-shadow: 0 0 0 0; } -.btn-outline-primary.disabled.active, -.btn-outline-primary:disabled.active { +.btn-outline-primary.disabled.active, .btn-outline-primary:disabled.active { background-color: darken($blue, 20); color: $white; - opacity: 1; + opacity: 1.0; } .formattedLicenseContent { @@ -316,24 +293,24 @@ textarea.required { /* Bootstrap Toggle v2.2.2 corrections for Bootsrtap 4*/ .toggle-off { - box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .toggle.off { - border-color: rgba(0, 0, 0, 0.25); + border-color: rgba(0, 0, 0, .25); } .toggle-handle { background-color: $toggle-handle-bg; - border: thin rgba(0, 0, 0, 0.25) solid; + border: thin rgba(0, 0, 0, .25) solid; } h6 { - font-size: 1em; + font-size: 1.0em; font-weight: 600; text-transform: uppercase; } .switch { vertical-align: middle; - margin-top: 0.5rem; - margin-bottom: 0.5rem; + margin-top: .5rem; + margin-bottom: .5rem; margin-right: 1rem; } .switch-slider { @@ -343,39 +320,26 @@ h6 { background-color: $grey-200; } .card-footer > :not(:last-child) { - margin-right: 0.25rem; + margin-right: .25rem; } .card-footer > :not(:first-child) { - margin-left: 0.25rem; + margin-left: .25rem; } .bs-table-custom-toolbar > :not(:last-child) { - margin-right: 0.25rem; + margin-right: .25rem; } .bs-table-custom-toolbar > :not(:first-child) { - margin-left: 0.25rem; + margin-left: .25rem; } .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading { - background: $grey-750 !important; -} -.bootstrap-table - .fixed-table-container - .fixed-table-body - .fixed-table-loading.table-dark - .animation-dot, -.bootstrap-table - .fixed-table-container - .fixed-table-body - .fixed-table-loading.table-dark - .animation-wrap::after, -.bootstrap-table - .fixed-table-container - .fixed-table-body - .fixed-table-loading.table-dark - .animation-wrap::before { - background: $grey-750 !important; -} -.was-validated .form-control:invalid, -.form-control.is-invalid { + background: $grey-750 !important; +} +.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-dot, +.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::after, +.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading.table-dark .animation-wrap::before { + background: $grey-750 !important;; +} +.was-validated .form-control:invalid, .form-control.is-invalid { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); } .bg-widget { @@ -388,7 +352,7 @@ button:focus { border: 1px solid #60768c !important; background-color: $grey-900 !important; margin-left: 0.6em !important; - color: #21d983 !important; + color: #21D983 !important; } .badge-tab-fail { border: 1px solid #60768c !important; @@ -417,7 +381,7 @@ button:focus { } td a.detail-icon { font-size: 150%; - line-height: 1; + line-height: 1.0; color: $grey-600; } .b-calendar-grid-body .text-dark { @@ -553,6 +517,7 @@ td a.detail-icon { white-space: nowrap; } + .icon-cellend { float: right; padding-top: 0.3rem; From e5c423baea4e0834aeb485999787bab14a35ea87 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Wed, 8 Jan 2025 14:45:03 +0100 Subject: [PATCH 10/20] fix translation key Signed-off-by: Valentijn Scholten --- src/views/administration/repositories/Repositories.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/administration/repositories/Repositories.vue b/src/views/administration/repositories/Repositories.vue index 72795dd7a..8a16025aa 100644 --- a/src/views/administration/repositories/Repositories.vue +++ b/src/views/administration/repositories/Repositories.vue @@ -158,7 +158,7 @@ export default { {{$t('admin.repository_advisory_mirroring_enabled')}}
- {{$t('repository_advisory_alias_sync_enabled')}} + {{$t('admin.repository_advisory_alias_sync_enabled')}}
From ea0176043cb9e376282e9678fb1bdbf7cf1d009b Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sat, 11 Jan 2025 18:17:37 +0100 Subject: [PATCH 11/20] add Composer data source admin info page Signed-off-by: Valentijn Scholten --- src/i18n/locales/en.json | 7 ++++++- src/router/index.js | 13 +++++++++++++ src/views/administration/AdminMenu.vue | 5 +++++ src/views/administration/Administration.vue | 3 +++ .../VulnSourceComposerAdvisories.vue | 19 +++++++++++++++++++ 5 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 src/views/administration/vuln-sources/VulnSourceComposerAdvisories.vue diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index c6337184e..0b0fffc9a 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -283,7 +283,12 @@ "vulnsource_osv_base_url": "OSV Base URL", "welcome_message": "Welcome Message", "welcome_message_desc": "Customize the welcome message that appears on the start page of Dependency-Track before users sign in.", - "welcome_message_enable": "Enable welcome message" + "welcome_message_enable": "Enable welcome message", + "composer_advisories": "Composer Security Advisories", + "vulnsource_composer_advisories_desc": "The Composer ecosystem provides security advisories via its Composer repositories. Examples are https://packagist.org and https://packages.drupal.org/8. These security advisories are used by Composer to provide the composer audit command.", + "vulnsource_composer_to_enable": "Composer advisory mirroring can be enabled for a repository via it configuration:", + "composer_repositories": "Composer Repositories", + "documentation": "Documentation" }, "condition": { "forbidden": "Forbidden (403)", diff --git a/src/router/index.js b/src/router/index.js index 977ff6069..bdcb2f06d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -58,6 +58,8 @@ const VulnSourceGitHubAdvisories = () => import('@/views/administration/vuln-sources/VulnSourceGitHubAdvisories'); const VulnSourceOSVAdvisories = () => import('@/views/administration/vuln-sources/VulnSourceOSVAdvisories'); +const VulnSourceComposerAdvisories = () => + import('@/views/administration/vuln-sources/VulnSourceComposerAdvisories'); const Cargo = () => import('@/views/administration/repositories/Cargo'); const Composer = () => import('@/views/administration/repositories/Composer'); @@ -552,6 +554,17 @@ function configRoutes() { permission: 'SYSTEM_CONFIGURATION', }, }, + { + path: 'vulnerabilitySources/composer', + component: VulnSourceComposerAdvisories, + meta: { + title: i18n.t('message.administration'), + i18n: 'message.administration', + sectionPath: '/admin', + sectionName: 'Admin', + permission: 'SYSTEM_CONFIGURATION', + }, + }, { path: 'repositories/cargo', alias: ['repositories'], diff --git a/src/views/administration/AdminMenu.vue b/src/views/administration/AdminMenu.vue index 47f86976f..a055779ab 100644 --- a/src/views/administration/AdminMenu.vue +++ b/src/views/administration/AdminMenu.vue @@ -176,6 +176,11 @@ export default { name: this.$t('admin.osv_advisories'), route: 'vulnerabilitySources/osv', }, + { + component: 'VulnSourceComposerAdvisories', + name: this.$t('admin.composer_advisories'), + route: 'vulnerabilitySources/composer', + }, ], }, { diff --git a/src/views/administration/Administration.vue b/src/views/administration/Administration.vue index 5034e2931..6818f11ac 100644 --- a/src/views/administration/Administration.vue +++ b/src/views/administration/Administration.vue @@ -38,6 +38,8 @@ import VulnDbAnalyzer from './analyzers/VulnDbAnalyzer'; import VulnSourceGitHubAdvisories from './vuln-sources/VulnSourceGitHubAdvisories'; import VulnSourceNvd from './vuln-sources/VulnSourceNvd'; import VulnSourceOSVAdvisories from './vuln-sources/VulnSourceOSVAdvisories'; +import VulnSourceComposerAdvisories from './vuln-sources/VulnSourceComposerAdvisories'; + // Repositories import Cargo from './repositories/Cargo'; import Composer from './repositories/Composer'; @@ -89,6 +91,7 @@ export default { VulnSourceNvd, VulnSourceGitHubAdvisories, VulnSourceOSVAdvisories, + VulnSourceComposerAdvisories, Cargo, Composer, Gem, diff --git a/src/views/administration/vuln-sources/VulnSourceComposerAdvisories.vue b/src/views/administration/vuln-sources/VulnSourceComposerAdvisories.vue new file mode 100644 index 000000000..cab7e0604 --- /dev/null +++ b/src/views/administration/vuln-sources/VulnSourceComposerAdvisories.vue @@ -0,0 +1,19 @@ + From 6f47af338fecd15890c56128bd4e03bcdeaadd66 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sat, 11 Jan 2025 18:25:00 +0100 Subject: [PATCH 12/20] fix missed rename Signed-off-by: Valentijn Scholten --- src/views/administration/repositories/Repositories.vue | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/views/administration/repositories/Repositories.vue b/src/views/administration/repositories/Repositories.vue index 8a16025aa..4bfafccb4 100644 --- a/src/views/administration/repositories/Repositories.vue +++ b/src/views/administration/repositories/Repositories.vue @@ -217,6 +217,11 @@ export default { }, }; }, + // TODO remove this dead code + // created() { + // this.parseAdvisoryMirroringEnabled(this.repository); + // this.parseAdvisoryAliasSyncEnabled(this.repository); + // }, watch: { internal() { this.updateRepository(); @@ -274,8 +279,7 @@ export default { internal: this.internal, authenticationRequired: this.authenticationRequired, config: JSON.stringify({ - advisoryMirroringEnabled: - this.vulnerabilitiyMirroringEnabled, + advisoryMirroringEnabled: this.advisoryMirroringEnabled, advisoryAliasSyncEnabled: this.advisoryAliasSyncEnabled, }), username: this.username, From 7bea720e97d31513c08dddaa530f3d3603842a36 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sat, 11 Jan 2025 23:09:58 +0100 Subject: [PATCH 13/20] prettify Signed-off-by: Valentijn Scholten --- src/i18n/locales/en.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 0b0fffc9a..6e0493e54 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -52,6 +52,8 @@ "change_password_next_login": "User must change password at next login", "clone_template": "Clone Template", "composer": "Composer", + "composer_advisories": "Composer Security Advisories", + "composer_repositories": "Composer Repositories", "configuration": "Configuration", "configuration_saved": "Configuration saved", "configuration_test": "Configuration Test", @@ -83,6 +85,7 @@ "disabled": "Disabled", "disabled_for_tags": "Disabled for tags", "distinguished_name": "Distinguished name", + "documentation": "Documentation", "edit_api_key_comment": "Edit API Key Comment", "email": "Email", "email_address": "Email address", @@ -271,6 +274,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Enable vulnerability alias synchronization", "vulnsource_alias_sync_enable_tooltip": "Alias data can help in identifying identical vulnerabilities across multiple databases. If the source provides this data, synchronize it with Dependency-Track's database.", + "vulnsource_composer_advisories_desc": "The Composer ecosystem provides security advisories via its Composer repositories. Examples are https://packagist.org and https://packages.drupal.org/8. These security advisories are used by Composer to provide the composer audit command.", + "vulnsource_composer_to_enable": "Composer advisory mirroring can be enabled for a repository via it configuration:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) is a database of CVEs and GitHub-originated security advisories affecting the open source world. Dependency-Track integrates with GHSA by mirroring advisories via GitHub's public GraphQL API. The mirror is refreshed daily, or upon restart of the Dependency-Track instance. A personal access token (PAT) is required in order to authenticate with GitHub, but no scopes need to be assigned to it.", "vulnsource_github_advisories_enable": "Enable GitHub Advisory mirroring", "vulnsource_nvd_desc": "The National Vulnerability Database (NVD) is the largest publicly available source of vulnerability intelligence. It is maintained by a group within the National Institute of Standards and Technology (NIST) and builds upon the work of MITRE and others. Vulnerabilities in the NVD are called Common Vulnerabilities and Exposures (CVE). There are over 100,000 CVEs documented in the NVD spanning from the 1990’s to the present.", @@ -283,12 +288,7 @@ "vulnsource_osv_base_url": "OSV Base URL", "welcome_message": "Welcome Message", "welcome_message_desc": "Customize the welcome message that appears on the start page of Dependency-Track before users sign in.", - "welcome_message_enable": "Enable welcome message", - "composer_advisories": "Composer Security Advisories", - "vulnsource_composer_advisories_desc": "The Composer ecosystem provides security advisories via its Composer repositories. Examples are https://packagist.org and https://packages.drupal.org/8. These security advisories are used by Composer to provide the composer audit command.", - "vulnsource_composer_to_enable": "Composer advisory mirroring can be enabled for a repository via it configuration:", - "composer_repositories": "Composer Repositories", - "documentation": "Documentation" + "welcome_message_enable": "Enable welcome message" }, "condition": { "forbidden": "Forbidden (403)", From 82c8b588b463dd6afe63b524547749f185823475 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sat, 11 Jan 2025 23:10:51 +0100 Subject: [PATCH 14/20] add missing logo Signed-off-by: Valentijn Scholten --- src/assets/img/composer-logo.png | Bin 0 -> 24766 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/assets/img/composer-logo.png diff --git a/src/assets/img/composer-logo.png b/src/assets/img/composer-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8c80eec6cfa9dfd897a5d86eeecc6b13e7d11613 GIT binary patch literal 24766 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 Date: Sun, 26 Jan 2025 17:54:08 +0100 Subject: [PATCH 15/20] finalize Signed-off-by: Valentijn Scholten --- src/i18n/locales/de.json | 1 - src/i18n/locales/en.json | 3 ++- src/i18n/locales/es.json | 1 - src/i18n/locales/fr.json | 1 - src/i18n/locales/hi.json | 1 - src/i18n/locales/it.json | 1 - src/i18n/locales/ja.json | 1 - src/i18n/locales/pl.json | 1 - src/i18n/locales/pt-BR.json | 1 - src/i18n/locales/pt.json | 1 - src/i18n/locales/ru.json | 1 - src/i18n/locales/uk-UA.json | 1 - src/i18n/locales/zh.json | 1 - .../repositories/Repositories.vue | 17 +++++++++++++++++ .../RepositoryCreateRepositoryModal.vue | 9 +++++++++ 15 files changed, 28 insertions(+), 13 deletions(-) diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index f23faf47b..00d24516f 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -209,7 +209,6 @@ "remove_api_key": "remove_api_key", "repositories": "Repositorys", "repository_advisory_alias_sync_enabled": "Aktivieren Sie die Synchronisierung des Sicherheitshinweis-Alias", - "repository_advisory_mirroring_enabled": "Aktivieren Sie die Spiegelung von Sicherheitshinweisen", "repository_authentication": "Authentifizierung erforderlich", "repository_created": "Repository erstellt", "repository_deleted": "Repository gelöscht", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 6e0493e54..e4a00a86d 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -81,6 +81,7 @@ "delete_team": "Delete Team", "delete_template": "Delete Template", "delete_user": "Delete User", + "description": "Description", "destination": "Destination", "disabled": "Disabled", "disabled_for_tags": "Disabled for tags", @@ -212,7 +213,7 @@ "remove_api_key": "Remove API Key", "repositories": "Repositories", "repository_advisory_alias_sync_enabled": "Enable Security Advisory alias synchronization", - "repository_advisory_mirroring_enabled": "Enable mirroring of Security Advisories", + "repository_advisory_mirroring_enabled": "Enable mirroring of Security Advisories (Beta)", "repository_authentication": "Authentication required", "repository_created": "Repository created", "repository_deleted": "Repository deleted", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 93167aeb0..1939acd62 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -209,7 +209,6 @@ "remove_api_key": "Eliminar Clave API", "repositories": "Repositorios", "repository_advisory_alias_sync_enabled": "Habilitar la sincronización de alias de aviso de seguridad", - "repository_advisory_mirroring_enabled": "Habilitar la duplicación de avisos de seguridad", "repository_authentication": "Autenticacion requerida", "repository_created": "Repositorio creado", "repository_deleted": "Repositorio eliminado", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 4a2422d24..53d444a67 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -209,7 +209,6 @@ "remove_api_key": "Retirer la clé d'API", "repositories": "Dépôts", "repository_advisory_alias_sync_enabled": "Activer la synchronisation des alias des avis de sécurité", - "repository_advisory_mirroring_enabled": "Activer la mise en miroir des avis de sécurité", "repository_authentication": "Authentification requise", "repository_created": "Dépôt créé", "repository_deleted": "Dépôt supprimé", diff --git a/src/i18n/locales/hi.json b/src/i18n/locales/hi.json index 6d053e603..c4036002f 100644 --- a/src/i18n/locales/hi.json +++ b/src/i18n/locales/hi.json @@ -209,7 +209,6 @@ "remove_api_key": "remove_api_key", "repositories": "डेटा संग्रह स्थान", "repository_advisory_alias_sync_enabled": "सुरक्षा सलाहकार उपनाम सिंक्रनाइज़ेशन सक्षम करें", - "repository_advisory_mirroring_enabled": "सुरक्षा सलाह को मिरर करना सक्षम करें", "repository_authentication": "प्रमाणित करना", "repository_created": "रिपोजिटरी बनाई गई", "repository_deleted": "रिपॉजिटरी हटा दी गई", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index d7544ac0c..0084dfb0e 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -209,7 +209,6 @@ "remove_api_key": "remove_api_key", "repositories": "Repository", "repository_advisory_alias_sync_enabled": "Abilita la sincronizzazione degli alias degli avvisi di sicurezza", - "repository_advisory_mirroring_enabled": "Abilita il mirroring degli avvisi di sicurezza", "repository_authentication": "Autenticazione richiesta", "repository_created": "Archivio creato", "repository_deleted": "Archivio eliminato", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index e876db12c..e103ed92a 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -209,7 +209,6 @@ "remove_api_key": "remove_api_key", "repositories": "リポジトリ", "repository_advisory_alias_sync_enabled": "セキュリティ アドバイザリのエイリアス同期を有効にする", - "repository_advisory_mirroring_enabled": "セキュリティ アドバイザリのミラーリングを有効にする", "repository_authentication": "認証が必要", "repository_created": "リポジトリが作成されました", "repository_deleted": "リポジトリが削除されました", diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 3bc8fcde1..5933f00ca 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json @@ -209,7 +209,6 @@ "remove_api_key": "remove_api_key", "repositories": "Repozytoria", "repository_advisory_alias_sync_enabled": "Włącz synchronizację aliasów Security Advisory", - "repository_advisory_mirroring_enabled": "Włącz dublowanie porad dotyczących bezpieczeństwa", "repository_authentication": "Wymagane uwierzytelnienie", "repository_created": "Repozytorium zostało utworzone", "repository_deleted": "Repozytorium usunięte", diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 5af6a88ea..663dc4149 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -209,7 +209,6 @@ "remove_api_key": "remove_api_key", "repositories": "Repositórios", "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", - "repository_advisory_mirroring_enabled": "Habilitar espelhamento de avisos de segurança", "repository_authentication": "Autentificação requerida", "repository_created": "Repositório criado", "repository_deleted": "Repositório excluído", diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json index 60686a987..18ff0958b 100644 --- a/src/i18n/locales/pt.json +++ b/src/i18n/locales/pt.json @@ -209,7 +209,6 @@ "remove_api_key": "remove_api_key", "repositories": "Repositórios", "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", - "repository_advisory_mirroring_enabled": "Habilitar espelhamento de avisos de segurança", "repository_authentication": "Autentificação requerida", "repository_created": "Repositório criado", "repository_deleted": "Repositório excluído", diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index 74c2f98b9..b9c48a7b1 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json @@ -209,7 +209,6 @@ "remove_api_key": "Удалить API-ключ", "repositories": "Репозитории", "repository_advisory_alias_sync_enabled": "Включить синхронизацию псевдонимов рекомендаций по безопасности", - "repository_advisory_mirroring_enabled": "Включить зеркалирование рекомендаций по безопасности", "repository_authentication": "Требуется аутентификация", "repository_created": "Репозиторий создан", "repository_deleted": "Репозиторий удален", diff --git a/src/i18n/locales/uk-UA.json b/src/i18n/locales/uk-UA.json index 65dacba3b..b72c705b6 100644 --- a/src/i18n/locales/uk-UA.json +++ b/src/i18n/locales/uk-UA.json @@ -209,7 +209,6 @@ "remove_api_key": "Видалити ключ API", "repositories": "Репозиторії", "repository_advisory_alias_sync_enabled": "Увімкнути синхронізацію псевдонімів Security Advisory", - "repository_advisory_mirroring_enabled": "Увімкнути дзеркальне відображення повідомлень безпеки", "repository_authentication": "Потрібна автентифікація", "repository_created": "Репозиторій створено", "repository_deleted": "Репозиторій видалено", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index eacb6631b..60801154c 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -209,7 +209,6 @@ "remove_api_key": "删除 API Key", "repositories": "存储库", "repository_advisory_alias_sync_enabled": "启用安全建议别名同步", - "repository_advisory_mirroring_enabled": "启用安全公告的镜像", "repository_authentication": "存储库身份验证", "repository_created": "已创建存储库", "repository_deleted": "存储库已删除", diff --git a/src/views/administration/repositories/Repositories.vue b/src/views/administration/repositories/Repositories.vue index 4bfafccb4..ef2c4002c 100644 --- a/src/views/administration/repositories/Repositories.vue +++ b/src/views/administration/repositories/Repositories.vue @@ -88,6 +88,14 @@ export default { return xssFilters.inHTMLData(common.valueWithDefault(value, '')); }, }, + { + title: this.$t('admin.description'), + field: 'description', + sortable: true, + formatter(value, row, index) { + return xssFilters.inHTMLData(common.valueWithDefault(value, '')); + }, + }, { title: this.$t('admin.internal'), field: 'internal', @@ -145,6 +153,13 @@ export default { type="url" v-model="url" autofocus="true" v-debounce:750ms="updateRepository" :debounce-events="'keyup'"/> + + @@ -200,6 +215,7 @@ export default { repository: row, type: row.type, identifier: row.identifier, + description: row.description, url: row.url, internal: row.internal, authenticationRequired: row.authenticationRequired, @@ -275,6 +291,7 @@ export default { this.axios .post(url, { identifier: this.identifier, + description: this.description, url: this.url, internal: this.internal, authenticationRequired: this.authenticationRequired, diff --git a/src/views/administration/repositories/RepositoryCreateRepositoryModal.vue b/src/views/administration/repositories/RepositoryCreateRepositoryModal.vue index 23a759e5d..ca091a475 100644 --- a/src/views/administration/repositories/RepositoryCreateRepositoryModal.vue +++ b/src/views/administration/repositories/RepositoryCreateRepositoryModal.vue @@ -22,6 +22,12 @@ type="url" v-model="url" /> + Date: Sun, 26 Jan 2025 18:25:09 +0100 Subject: [PATCH 16/20] add columns Signed-off-by: Valentijn Scholten --- src/i18n/locales/en.json | 6 +- src/shared/utils.js | 28 +++++++++ .../repositories/Repositories.vue | 59 ++++++++++--------- 3 files changed, 62 insertions(+), 31 deletions(-) diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index e4a00a86d..138c1d58e 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -212,8 +212,10 @@ "reindex_vulnerable_software": "Vulnerable software", "remove_api_key": "Remove API Key", "repositories": "Repositories", - "repository_advisory_alias_sync_enabled": "Enable Security Advisory alias synchronization", - "repository_advisory_mirroring_enabled": "Enable mirroring of Security Advisories (Beta)", + "repository_advisory_alias_sync_enabled": "Alias Sync", + "repository_advisory_mirroring_enabled": "Advisory Sync", + "repository_advisory_alias_sync_toggle": "Enable Security Advisory alias synchronization", + "repository_advisory_mirroring_toggle": "Enable mirroring of Security Advisories (Beta)", "repository_authentication": "Authentication required", "repository_created": "Repository created", "repository_deleted": "Repository deleted", diff --git a/src/shared/utils.js b/src/shared/utils.js index 9bad6c62b..d44da01d0 100644 --- a/src/shared/utils.js +++ b/src/shared/utils.js @@ -128,6 +128,34 @@ export function loadUserPreferencesForBootstrapTable(_this, id, columns) { }); } +/** + * Parses advisoryMirroringEnabled from repository.config. + * Needed in multiple places, so extracted to a common function. + */ +export function parseAdvisoryMirroringEnabled(repo) { + if (repo.config) { + let value = JSON.parse(repo.config); + if (value) { + return value.advisoryMirroringEnabled; + } + return false; + } +} + +/** + * Parses parseAdvisoryAliasSyncEnabled from repository.config. + * Needed in multiple places, so extracted to a common function. + */ +export function parseAdvisoryAliasSyncEnabled(repo) { + if (repo.config) { + let value = JSON.parse(repo.config); + if (value) { + return value.advisoryAliasSyncEnabled; + } + return false; + } +} + export function compareVersions(v1, v2) { if (!v1) { return 1; diff --git a/src/views/administration/repositories/Repositories.vue b/src/views/administration/repositories/Repositories.vue index ef2c4002c..18399b682 100644 --- a/src/views/administration/repositories/Repositories.vue +++ b/src/views/administration/repositories/Repositories.vue @@ -34,6 +34,8 @@ import bootstrapTableMixin from '../../../mixins/bootstrapTableMixin'; import common from '../../../shared/common'; import EventBus from '../../../shared/eventbus'; import RepositoryCreateRepositoryModal from './RepositoryCreateRepositoryModal'; +import { parseAdvisoryMirroringEnabled } from '@/shared/utils'; +import { parseAdvisoryAliasSyncEnabled } from '@/shared/utils'; export default { props: { @@ -123,6 +125,30 @@ export default { return value === true ? '' : ''; }, }, + { + title: this.$t('admin.repository_advisory_mirroring_enabled'), + field: 'advisoryMirroringEnabled', + class: 'tight', + sortable: true, + visible: this.type === 'COMPOSER', + formatter(value, row, index) { + return parseAdvisoryMirroringEnabled(row) === true + ? '' + : ''; + }, + }, + { + title: this.$t('admin.repository_advisory_alias_sync_enabled'), + field: 'advisoryAliasSyncEnabled', + class: 'tight', + sortable: true, + visible: this.type === 'COMPOSER', + formatter(value, row, index) { + return parseAdvisoryAliasSyncEnabled(row) === true + ? '' + : ''; + }, + }, ], data: [], options: { @@ -170,10 +196,10 @@ export default { {{$t('admin.internal')}}
- {{$t('admin.repository_advisory_mirroring_enabled')}} + {{$t('admin.repository_advisory_mirroring_toggle')}}
- {{$t('admin.repository_advisory_alias_sync_enabled')}} + {{$t('admin.repository_advisory_alias_sync_toggle')}}
@@ -222,10 +248,8 @@ export default { username: row.username, password: row.password || 'HiddenDecryptedPropertyPlaceholder', enabled: row.enabled, - advisoryMirroringEnabled: - this.parseAdvisoryMirroringEnabled(row), - advisoryAliasSyncEnabled: - this.parseAdvisoryAliasSyncEnabled(row), + advisoryMirroringEnabled: parseAdvisoryMirroringEnabled(row), + advisoryAliasSyncEnabled: parseAdvisoryAliasSyncEnabled(row), uuid: row.uuid, labelIcon: { dataOn: '\u2713', @@ -233,11 +257,6 @@ export default { }, }; }, - // TODO remove this dead code - // created() { - // this.parseAdvisoryMirroringEnabled(this.repository); - // this.parseAdvisoryAliasSyncEnabled(this.repository); - // }, watch: { internal() { this.updateRepository(); @@ -256,24 +275,6 @@ export default { }, }, methods: { - parseAdvisoryMirroringEnabled: function (repo) { - if (repo.config) { - let value = JSON.parse(repo.config); - if (value) { - return value.advisoryMirroringEnabled; - } - return null; - } - }, - parseAdvisoryAliasSyncEnabled: function (repo) { - if (repo.config) { - let value = JSON.parse(repo.config); - if (value) { - return value.advisoryAliasSyncEnabled; - } - return null; - } - }, deleteRepository: function () { let url = `${this.$api.BASE_URL}/${this.$api.URL_REPOSITORY}/${this.uuid}`; this.axios From e4e9904f299a784ac7334d6581214601da2cc9f0 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Sun, 26 Jan 2025 19:11:50 +0100 Subject: [PATCH 17/20] prettier Signed-off-by: Valentijn Scholten --- src/i18n/locales/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 138c1d58e..7e23b77ae 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -213,8 +213,8 @@ "remove_api_key": "Remove API Key", "repositories": "Repositories", "repository_advisory_alias_sync_enabled": "Alias Sync", - "repository_advisory_mirroring_enabled": "Advisory Sync", "repository_advisory_alias_sync_toggle": "Enable Security Advisory alias synchronization", + "repository_advisory_mirroring_enabled": "Advisory Sync", "repository_advisory_mirroring_toggle": "Enable mirroring of Security Advisories (Beta)", "repository_authentication": "Authentication required", "repository_created": "Repository created", From 4cc8ceeed054681849832ed542b2f3f06c5cf119 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Tue, 28 Jan 2025 12:50:47 +0100 Subject: [PATCH 18/20] finalize texts Signed-off-by: Valentijn Scholten --- src/containers/DefaultContainer.vue | 3 +- src/i18n/locales/de.json | 11 ++++++- src/i18n/locales/en.json | 4 +-- src/i18n/locales/es.json | 11 ++++++- src/i18n/locales/fr.json | 11 ++++++- src/i18n/locales/hi.json | 11 ++++++- src/i18n/locales/it.json | 11 ++++++- src/i18n/locales/ja.json | 11 ++++++- src/i18n/locales/pl.json | 11 ++++++- src/i18n/locales/pt-BR.json | 11 ++++++- src/i18n/locales/pt.json | 11 ++++++- src/i18n/locales/ru.json | 11 ++++++- src/i18n/locales/uk-UA.json | 9 +++++- src/i18n/locales/zh.json | 11 ++++++- src/shared/utils.js | 31 ++++++++----------- .../repositories/Repositories.vue | 13 ++++---- .../VulnSourceComposerAdvisories.vue | 2 +- 17 files changed, 142 insertions(+), 41 deletions(-) diff --git a/src/containers/DefaultContainer.vue b/src/containers/DefaultContainer.vue index 17b0dd5d7..98b9b369b 100644 --- a/src/containers/DefaultContainer.vue +++ b/src/containers/DefaultContainer.vue @@ -214,8 +214,7 @@ export default { }, mounted() { if (this.$dtrack && this.$dtrack.version.includes('SNAPSHOT')) { - //TODO VS reinstate - // this.$root.$emit('bv::show::modal', 'snapshotModal'); + this.$root.$emit('bv::show::modal', 'snapshotModal'); } this.isSidebarMinimized = diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index 00d24516f..46a8ad198 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "OSV-Basis-URL", "welcome_message": "Willkommensnachricht", "welcome_message_desc": "Passen Sie die Willkommensnachricht an, die auf der Startseite von Dependency-Track angezeigt wird, bevor sich Benutzer anmelden.", - "welcome_message_enable": "Willkommensnachricht aktivieren" + "welcome_message_enable": "Willkommensnachricht aktivieren", + "composer_advisories": "Komponisten -Ratschläge (Beta)", + "composer_repositories": "Komponisten -Repositories", + "description": "Beschreibung", + "documentation": "Dokumentation", + "repository_advisory_alias_sync_toggle": "Aktivieren Sie die Alias ​​-Synchronisation von Sicherheitsberatungen", + "repository_advisory_mirroring_enabled": "Beratungssynchronisation", + "repository_advisory_mirroring_toggle": "Aktivieren Sie die Spiegelung von Sicherheitsanwälten (Beta)", + "vulnsource_composer_advisories_desc": "Das Komponist -Ökosystem bietet Sicherheitsberatungen über seine Komponisten -Repositorys an. \nBeispiele sind https://packagist.org und https://packages.drupal.org/8. \nDiese Sicherheitsanwälte werden vom Komponisten verwendet, um den Befehl Composer Audit bereitzustellen.", + "vulnsource_composer_to_enable": "Die Komponisten -Beratungsspiegelung kann für ein Repository über seine Konfiguration aktiviert werden:" }, "condition": { "forbidden": "Verboten (403)", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 7e23b77ae..cf6130e59 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -52,7 +52,7 @@ "change_password_next_login": "User must change password at next login", "clone_template": "Clone Template", "composer": "Composer", - "composer_advisories": "Composer Security Advisories", + "composer_advisories": "Composer Advisories (Beta)", "composer_repositories": "Composer Repositories", "configuration": "Configuration", "configuration_saved": "Configuration saved", @@ -278,7 +278,7 @@ "vulnsource_alias_sync_enable": "Enable vulnerability alias synchronization", "vulnsource_alias_sync_enable_tooltip": "Alias data can help in identifying identical vulnerabilities across multiple databases. If the source provides this data, synchronize it with Dependency-Track's database.", "vulnsource_composer_advisories_desc": "The Composer ecosystem provides security advisories via its Composer repositories. Examples are https://packagist.org and https://packages.drupal.org/8. These security advisories are used by Composer to provide the composer audit command.", - "vulnsource_composer_to_enable": "Composer advisory mirroring can be enabled for a repository via it configuration:", + "vulnsource_composer_to_enable": "Composer advisory mirroring can be enabled for a repository via its configuration:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) is a database of CVEs and GitHub-originated security advisories affecting the open source world. Dependency-Track integrates with GHSA by mirroring advisories via GitHub's public GraphQL API. The mirror is refreshed daily, or upon restart of the Dependency-Track instance. A personal access token (PAT) is required in order to authenticate with GitHub, but no scopes need to be assigned to it.", "vulnsource_github_advisories_enable": "Enable GitHub Advisory mirroring", "vulnsource_nvd_desc": "The National Vulnerability Database (NVD) is the largest publicly available source of vulnerability intelligence. It is maintained by a group within the National Institute of Standards and Technology (NIST) and builds upon the work of MITRE and others. Vulnerabilities in the NVD are called Common Vulnerabilities and Exposures (CVE). There are over 100,000 CVEs documented in the NVD spanning from the 1990’s to the present.", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 1939acd62..7b987b26e 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "URL base de OSV", "welcome_message": "Mensaje de bienvenida", "welcome_message_desc": "Personalice el mensaje de bienvenida que aparece en la página de inicio de Dependency-Track antes de que los usuarios inicien sesión.", - "welcome_message_enable": "Habilitar mensaje de bienvenida" + "welcome_message_enable": "Habilitar mensaje de bienvenida", + "composer_advisories": "Aventivos del compositor (beta)", + "composer_repositories": "Repositorios del compositor", + "description": "Descripción", + "documentation": "Documentación", + "repository_advisory_alias_sync_toggle": "Habilitar la sincronización de alias de asesoramiento de seguridad", + "repository_advisory_mirroring_enabled": "Sincronización de asesoramiento", + "repository_advisory_mirroring_toggle": "Habilitar el reflejo de los avisos de seguridad (beta)", + "vulnsource_composer_advisories_desc": "El ecosistema compositor proporciona avisos de seguridad a través de sus repositorios compositor. \nLos ejemplos son https://packagist.org y https://packages.drupal.org/8. \nEl compositor utiliza estos avisos de seguridad para proporcionar el comando de auditoría del compositor.", + "vulnsource_composer_to_enable": "El reflejo de asesoramiento del compositor se puede habilitar para un repositorio a través de su configuración:" }, "condition": { "forbidden": "Prohibido (403)", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index 53d444a67..ce7d26f1a 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "URL de base OSV", "welcome_message": "Message de bienvenue", "welcome_message_desc": "Personnalisez le message de bienvenue qui apparaît sur la page de démarrage de Dependency-Track avant que les utilisateurs ne se connectent.", - "welcome_message_enable": "Activer le message de bienvenue" + "welcome_message_enable": "Activer le message de bienvenue", + "composer_advisories": "Conseils des compositeurs (bêta)", + "composer_repositories": "Référentiels des compositeurs", + "description": "Description", + "documentation": "Documentation", + "repository_advisory_alias_sync_toggle": "Activer la synchronisation des alias consultatifs de la sécurité", + "repository_advisory_mirroring_enabled": "Synchronisation consultative", + "repository_advisory_mirroring_toggle": "Activer le reflétement des avis de sécurité (bêta)", + "vulnsource_composer_advisories_desc": "L'écosystème du compositeur fournit des avis de sécurité via ses référentiels de compositeurs. \nLes exemples sont https://packagist.org et https://packages.drupal.org/8. \nCes avis de sécurité sont utilisés par le compositeur pour fournir la commande d'audit compositeur.", + "vulnsource_composer_to_enable": "La mise en miroir consultative des compositeurs peut être activée pour un référentiel via sa configuration:" }, "condition": { "forbidden": "Interdit (403)", diff --git a/src/i18n/locales/hi.json b/src/i18n/locales/hi.json index c4036002f..f6ea46430 100644 --- a/src/i18n/locales/hi.json +++ b/src/i18n/locales/hi.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "OSV बेस यूआरएल", "welcome_message": "स्वागत संदेश", "welcome_message_desc": "उपयोगकर्ताओं के साइन इन करने से पहले डिपेंडेंसी-ट्रैक के आरंभ पृष्ठ पर दिखाई देने वाले स्वागत संदेश को अनुकूलित करें।", - "welcome_message_enable": "स्वागत संदेश सक्षम करें" + "welcome_message_enable": "स्वागत संदेश सक्षम करें", + "composer_advisories": "संगीतकार सलाह (बीटा)", + "composer_repositories": "संगीतकार रिपॉजिटरी", + "description": "विवरण", + "documentation": "प्रलेखन", + "repository_advisory_alias_sync_toggle": "सुरक्षा सलाहकार उपनाम सिंक्रनाइज़ेशन सक्षम करें", + "repository_advisory_mirroring_enabled": "सलाहकार सिंक", + "repository_advisory_mirroring_toggle": "सुरक्षा सलाह (बीटा) के मिररिंग को सक्षम करें", + "vulnsource_composer_advisories_desc": "संगीतकार पारिस्थितिकी तंत्र अपने संगीतकार रिपॉजिटरी के माध्यम से सुरक्षा सलाह प्रदान करता है। \nउदाहरण हैं https://packagist.org और https://packages.drupal.org/8। \nइन सुरक्षा सलाहकारों का उपयोग संगीतकार द्वारा संगीतकार ऑडिट कमांड प्रदान करने के लिए किया जाता है।", + "vulnsource_composer_to_enable": "संगीतकार सलाहकार मिररिंग को इसके कॉन्फ़िगरेशन के माध्यम से एक रिपॉजिटरी के लिए सक्षम किया जा सकता है:" }, "condition": { "forbidden": "निषिद्ध (403)", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index 0084dfb0e..b7434e398 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "URL di base OSV", "welcome_message": "Messaggio di benvenuto", "welcome_message_desc": "Personalizza il messaggio di benvenuto che appare nella pagina iniziale di Dependency-Track prima che gli utenti accedano.", - "welcome_message_enable": "Abilita il messaggio di benvenuto" + "welcome_message_enable": "Abilita il messaggio di benvenuto", + "composer_advisories": "Composir Advisories (beta)", + "composer_repositories": "Repository del compositore", + "description": "Descrizione", + "documentation": "Documentazione", + "repository_advisory_alias_sync_toggle": "Abilita la sincronizzazione alias di consulenza sulla sicurezza", + "repository_advisory_mirroring_enabled": "Sincronizzazione consultiva", + "repository_advisory_mirroring_toggle": "Abilita Mirroring of Security Advisories (Beta)", + "vulnsource_composer_advisories_desc": "L'ecosistema compositore fornisce consulenze sulla sicurezza tramite i suoi repository compositori. \nEsempi sono https://packagist.org e https://packages.drupal.org/8. \nQuesti avvisi di sicurezza vengono utilizzati dal compositore per fornire il comando di audit compositore.", + "vulnsource_composer_to_enable": "Il mirroring di consulenza compositore può essere abilitato per un repository tramite la sua configurazione:" }, "condition": { "forbidden": "Proibito (403)", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index e103ed92a..d59fc72e9 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "OSV ベース URL", "welcome_message": "ウェルカムメッセージ", "welcome_message_desc": "ユーザーがサインインする前に、Dependency-Track の開始ページに表示されるウェルカム メッセージをカスタマイズします。", - "welcome_message_enable": "ウェルカムメッセージを有効にする" + "welcome_message_enable": "ウェルカムメッセージを有効にする", + "composer_advisories": "作曲家アドバイザリー(ベータ)", + "composer_repositories": "作曲家リポジトリ", + "description": "説明", + "documentation": "ドキュメント", + "repository_advisory_alias_sync_toggle": "セキュリティアドバイザリーエイリアスの同期を有​​効にします", + "repository_advisory_mirroring_enabled": "アドバイザリー同期", + "repository_advisory_mirroring_toggle": "セキュリティアドバイザリのミラーリング(ベータ)を有効にする", + "vulnsource_composer_advisories_desc": "Composer Ecosystemは、Composerリポジトリを介してセキュリティアドバイザリーを提供します。\n例は、https://packagist.orgとhttps://packages.drupal.org/8です。\nこれらのセキュリティアドバイザリは、作曲家がComposer監査コマンドを提供するために使用されます。", + "vulnsource_composer_to_enable": "Composer Advisory Mirroringは、その構成を介してリポジトリを有効にすることができます。" }, "condition": { "forbidden": "禁止 (403)", diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 5933f00ca..563d2a688 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "Podstawowy adres URL OSV", "welcome_message": "Wiadomość powitalna", "welcome_message_desc": "Dostosuj wiadomość powitalną wyświetlaną na stronie początkowej funkcji Depency-Track przed zalogowaniem się użytkownika.", - "welcome_message_enable": "Włącz wiadomość powitalną" + "welcome_message_enable": "Włącz wiadomość powitalną", + "composer_advisories": "Composer Advisories (beta)", + "composer_repositories": "Repozytoria kompozytora", + "description": "Opis", + "documentation": "Dokumentacja", + "repository_advisory_alias_sync_toggle": "Włącz synchronizację aliasu doradczego bezpieczeństwa", + "repository_advisory_mirroring_enabled": "Synchronizacja doradcza", + "repository_advisory_mirroring_toggle": "Włącz lustrzanie doradców bezpieczeństwa (beta)", + "vulnsource_composer_advisories_desc": "Ekosystem kompozytora zapewnia porady bezpieczeństwa za pośrednictwem repozytoriów kompozytora. \nPrzykładami są https://packagist.org i https://packages.drupal.org/8. \nTe porady bezpieczeństwa są wykorzystywane przez kompozytora do dostarczenia polecenia audytu kompozytora.", + "vulnsource_composer_to_enable": "Kompozytorowe lustrzanie doradcze można włączyć dla repozytorium za pomocą jego konfiguracji:" }, "condition": { "forbidden": "Zabronione (403)", diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index 663dc4149..b56b1c278 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "URL base do OSV", "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", - "welcome_message_enable": "Ativar mensagem de boas-vindas" + "welcome_message_enable": "Ativar mensagem de boas-vindas", + "composer_advisories": "Avistas do compositor (beta)", + "composer_repositories": "Repositórios de compositores", + "description": "Descrição", + "documentation": "Documentação", + "repository_advisory_alias_sync_toggle": "Ativar sincronização de alias de consultoria de segurança", + "repository_advisory_mirroring_enabled": "Sincronização consultiva", + "repository_advisory_mirroring_toggle": "Ativar espelhamento de avisos de segurança (beta)", + "vulnsource_composer_advisories_desc": "O ecossistema do compositor fornece avisos de segurança por meio de seus repositórios de compositores. \nOs exemplos são https://packagist.org e https://packages.drupal.org/8. \nEsses avisos de segurança são usados ​​pelo Composer para fornecer o comando de auditoria do compositor.", + "vulnsource_composer_to_enable": "O espelhamento consultivo do compositor pode ser ativado para um repositório por meio de sua configuração:" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json index 18ff0958b..6d939bea9 100644 --- a/src/i18n/locales/pt.json +++ b/src/i18n/locales/pt.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "URL base do OSV", "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", - "welcome_message_enable": "Ativar mensagem de boas-vindas" + "welcome_message_enable": "Ativar mensagem de boas-vindas", + "composer_advisories": "Avistas do compositor (beta)", + "composer_repositories": "Repositórios de compositores", + "description": "Descrição", + "documentation": "Documentação", + "repository_advisory_alias_sync_toggle": "Ativar sincronização de alias de consultoria de segurança", + "repository_advisory_mirroring_enabled": "Sincronização consultiva", + "repository_advisory_mirroring_toggle": "Ativar espelhamento de avisos de segurança (beta)", + "vulnsource_composer_advisories_desc": "O ecossistema do compositor fornece avisos de segurança por meio de seus repositórios de compositores. \nOs exemplos são https://packagist.org e https://packages.drupal.org/8. \nEsses avisos de segurança são usados ​​pelo Composer para fornecer o comando de auditoria do compositor.", + "vulnsource_composer_to_enable": "O espelhamento consultivo do compositor pode ser ativado para um repositório por meio de sua configuração:" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index b9c48a7b1..37e45ae1f 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "Базовый URL OSV", "welcome_message": "Приветственное сообщение", "welcome_message_desc": "Настройте приветственное сообщение, которое отображается на стартовой странице Dependency-Track перед входом пользователей.", - "welcome_message_enable": "Включить приветственное сообщение" + "welcome_message_enable": "Включить приветственное сообщение", + "composer_advisories": "Консультанты композиторов (бета)", + "composer_repositories": "Репозитории композитора", + "description": "Описание", + "documentation": "Документация", + "repository_advisory_alias_sync_toggle": "Включить синхронизацию консультативных консультаций по обеспечению безопасности", + "repository_advisory_mirroring_enabled": "Консультативная синхронизация", + "repository_advisory_mirroring_toggle": "Включить зеркалирование консультаций по безопасности (бета)", + "vulnsource_composer_advisories_desc": "Композиторная экосистема предоставляет рекомендации по обеспечению безопасности через свои репозитории композитора. \nПримерами являются https://packagist.org и https://packages.drupal.org/8. \nЭти рекомендации по безопасности используются композитором для предоставления команды аудита композитора.", + "vulnsource_composer_to_enable": "Консультативное зеркалирование композитора может быть включено для репозитория через его конфигурацию:" }, "condition": { "forbidden": "Запрещено (403)", diff --git a/src/i18n/locales/uk-UA.json b/src/i18n/locales/uk-UA.json index b72c705b6..3d272caf6 100644 --- a/src/i18n/locales/uk-UA.json +++ b/src/i18n/locales/uk-UA.json @@ -282,7 +282,14 @@ "vulnsource_osv_base_url": "Базовий URL OSV", "welcome_message": "Вітальне повідомлення", "welcome_message_desc": "Налаштуйте вітальне повідомлення, яке з’являється на початковій сторінці Dependency-Track перед входом користувачів.", - "welcome_message_enable": "Увімкнути вітальне повідомлення" + "welcome_message_enable": "Увімкнути вітальне повідомлення", + "composer_advisories": "Консультації композитора (бета)", + "composer_repositories": "Сховища композитора", + "description": "Опис", + "documentation": "Документація", + "repository_advisory_alias_sync_toggle": "Увімкнути консультаційну синхронізацію консультацій з безпеки", + "repository_advisory_mirroring_enabled": "Консультативна синхронізація", + "vulnsource_composer_to_enable": "Консультаційне дзеркальне відображення композитора може бути включене для сховища за допомогою його конфігурації:" }, "condition": { "forbidden": "Заборонено (403)", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index 60801154c..242d151b2 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -282,7 +282,16 @@ "vulnsource_osv_base_url": "OSV 基本 URL", "welcome_message": "欢迎辞", "welcome_message_desc": "自定义用户登录前 Dependency-Track 起始页上显示的欢迎消息。", - "welcome_message_enable": "启用欢迎消息" + "welcome_message_enable": "启用欢迎消息", + "composer_advisories": "作曲家咨询(Beta)", + "composer_repositories": "作曲家存储库", + "description": "描述", + "documentation": "文档", + "repository_advisory_alias_sync_toggle": "启用安全咨询别名同步", + "repository_advisory_mirroring_enabled": "咨询同步", + "repository_advisory_mirroring_toggle": "启用安全咨询的镜像(Beta)", + "vulnsource_composer_advisories_desc": "作曲家生态系统通过其作曲家存储库提供安全咨询。\n示例是https://packagist.org和https://packages.drupal.org/8。\n作曲家使用这些安全咨询来提供作曲家审计命令。", + "vulnsource_composer_to_enable": "可以通过其配置来启用Composer Advisory Rimeroring的镜像:" }, "condition": { "forbidden": "禁止 (403)", diff --git a/src/shared/utils.js b/src/shared/utils.js index d44da01d0..5c5917dc2 100644 --- a/src/shared/utils.js +++ b/src/shared/utils.js @@ -127,33 +127,28 @@ export function loadUserPreferencesForBootstrapTable(_this, id, columns) { } }); } - /** - * Parses advisoryMirroringEnabled from repository.config. + * Parses advisoryMirroringEnabled and advisoryAliasSyncEnabled from repository.config. * Needed in multiple places, so extracted to a common function. + * @param {Object} repo - The repository object containing the config. + * @returns {Object} An object with properties advisoryMirroringEnabled and advisoryAliasSyncEnabled. */ -export function parseAdvisoryMirroringEnabled(repo) { - if (repo.config) { - let value = JSON.parse(repo.config); - if (value) { - return value.advisoryMirroringEnabled; - } - return false; - } -} +export function parseRepositoryConfig(repo) { + let advisoryMirroringEnabled = false; + let advisoryAliasSyncEnabled = false; -/** - * Parses parseAdvisoryAliasSyncEnabled from repository.config. - * Needed in multiple places, so extracted to a common function. - */ -export function parseAdvisoryAliasSyncEnabled(repo) { if (repo.config) { let value = JSON.parse(repo.config); if (value) { - return value.advisoryAliasSyncEnabled; + advisoryMirroringEnabled = value.advisoryMirroringEnabled || false; + advisoryAliasSyncEnabled = value.advisoryAliasSyncEnabled || false; } - return false; } + + return { + advisoryMirroringEnabled, + advisoryAliasSyncEnabled, + }; } export function compareVersions(v1, v2) { diff --git a/src/views/administration/repositories/Repositories.vue b/src/views/administration/repositories/Repositories.vue index 18399b682..fd87b1f21 100644 --- a/src/views/administration/repositories/Repositories.vue +++ b/src/views/administration/repositories/Repositories.vue @@ -34,8 +34,7 @@ import bootstrapTableMixin from '../../../mixins/bootstrapTableMixin'; import common from '../../../shared/common'; import EventBus from '../../../shared/eventbus'; import RepositoryCreateRepositoryModal from './RepositoryCreateRepositoryModal'; -import { parseAdvisoryMirroringEnabled } from '@/shared/utils'; -import { parseAdvisoryAliasSyncEnabled } from '@/shared/utils'; +import { parseRepositoryConfig } from '@/shared/utils'; export default { props: { @@ -132,7 +131,7 @@ export default { sortable: true, visible: this.type === 'COMPOSER', formatter(value, row, index) { - return parseAdvisoryMirroringEnabled(row) === true + return parseRepositoryConfig(row).advisoryMirroringEnabled === true ? '' : ''; }, @@ -144,7 +143,7 @@ export default { sortable: true, visible: this.type === 'COMPOSER', formatter(value, row, index) { - return parseAdvisoryAliasSyncEnabled(row) === true + return parseRepositoryConfig(row).advisoryAliasSyncEnabled === true ? '' : ''; }, @@ -248,8 +247,10 @@ export default { username: row.username, password: row.password || 'HiddenDecryptedPropertyPlaceholder', enabled: row.enabled, - advisoryMirroringEnabled: parseAdvisoryMirroringEnabled(row), - advisoryAliasSyncEnabled: parseAdvisoryAliasSyncEnabled(row), + advisoryMirroringEnabled: + parseRepositoryConfig(row).advisoryMirroringEnabled, + advisoryAliasSyncEnabled: + parseRepositoryConfig(row).advisoryAliasSyncEnabled, uuid: row.uuid, labelIcon: { dataOn: '\u2713', diff --git a/src/views/administration/vuln-sources/VulnSourceComposerAdvisories.vue b/src/views/administration/vuln-sources/VulnSourceComposerAdvisories.vue index cab7e0604..963546fba 100644 --- a/src/views/administration/vuln-sources/VulnSourceComposerAdvisories.vue +++ b/src/views/administration/vuln-sources/VulnSourceComposerAdvisories.vue @@ -10,7 +10,7 @@ {{ $t('admin.composer_repositories') }} .
- {{ $t('admin.documentation') }} + {{ $t('admin.documentation') }}: https://docs.dependencytrack.org/datasources/composer/. From b748f588d05f4599dfb4cad6e62c3b6ad5ac0f65 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Tue, 28 Jan 2025 12:54:47 +0100 Subject: [PATCH 19/20] prettier Signed-off-by: Valentijn Scholten --- src/i18n/locales/de.json | 20 ++++++++++---------- src/i18n/locales/es.json | 20 ++++++++++---------- src/i18n/locales/fr.json | 20 ++++++++++---------- src/i18n/locales/hi.json | 20 ++++++++++---------- src/i18n/locales/it.json | 20 ++++++++++---------- src/i18n/locales/ja.json | 20 ++++++++++---------- src/i18n/locales/pl.json | 20 ++++++++++---------- src/i18n/locales/pt-BR.json | 20 ++++++++++---------- src/i18n/locales/pt.json | 20 ++++++++++---------- src/i18n/locales/ru.json | 20 ++++++++++---------- src/i18n/locales/uk-UA.json | 16 ++++++++-------- src/i18n/locales/zh.json | 20 ++++++++++---------- 12 files changed, 118 insertions(+), 118 deletions(-) diff --git a/src/i18n/locales/de.json b/src/i18n/locales/de.json index 46a8ad198..6f876aa19 100644 --- a/src/i18n/locales/de.json +++ b/src/i18n/locales/de.json @@ -52,6 +52,8 @@ "change_password_next_login": "Der Benutzer muss bei der nächsten Anmeldung sein Passwort ändern", "clone_template": "Vorlage klonen", "composer": "Composer", + "composer_advisories": "Komponisten -Ratschläge (Beta)", + "composer_repositories": "Komponisten -Repositories", "configuration": "Konfiguration", "configuration_saved": "Konfiguration gespeichert", "configuration_test": "Konfigurationstest", @@ -79,10 +81,12 @@ "delete_team": "Team löschen", "delete_template": "Vorlage löschen", "delete_user": "Benutzer löschen", + "description": "Beschreibung", "destination": "Ziel", "disabled": "Deaktiviert", "disabled_for_tags": "Deaktiviert für Tags", "distinguished_name": "Distinguished Name", + "documentation": "Dokumentation", "edit_api_key_comment": "Kommentar zum API-Schlüssel bearbeiten", "email": "E-Mail", "email_address": "E-Mail-Adresse", @@ -209,6 +213,9 @@ "remove_api_key": "remove_api_key", "repositories": "Repositorys", "repository_advisory_alias_sync_enabled": "Aktivieren Sie die Synchronisierung des Sicherheitshinweis-Alias", + "repository_advisory_alias_sync_toggle": "Aktivieren Sie die Alias ​​-Synchronisation von Sicherheitsberatungen", + "repository_advisory_mirroring_enabled": "Beratungssynchronisation", + "repository_advisory_mirroring_toggle": "Aktivieren Sie die Spiegelung von Sicherheitsanwälten (Beta)", "repository_authentication": "Authentifizierung erforderlich", "repository_created": "Repository erstellt", "repository_deleted": "Repository gelöscht", @@ -270,6 +277,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Synchronisierung von Schwachstellenaliasen aktivieren", "vulnsource_alias_sync_enable_tooltip": "Alias-Daten können dabei helfen, identische Schwachstellen in mehreren Datenbanken zu identifizieren. Wenn die Quelle diese Daten bereitstellt, synchronisieren Sie sie mit der Datenbank von Dependency-Track.", + "vulnsource_composer_advisories_desc": "Das Komponist -Ökosystem bietet Sicherheitsberatungen über seine Komponisten -Repositorys an. \nBeispiele sind https://packagist.org und https://packages.drupal.org/8. \nDiese Sicherheitsanwälte werden vom Komponisten verwendet, um den Befehl Composer Audit bereitzustellen.", + "vulnsource_composer_to_enable": "Die Komponisten -Beratungsspiegelung kann für ein Repository über seine Konfiguration aktiviert werden:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) ist eine Datenbank mit CVEs und von GitHub stammenden Sicherheitshinweisen, die die Open-Source-Welt betreffen. Dependency-Track integriert sich in GHSA, indem Hinweise über die öffentliche GraphQL-API von GitHub gespiegelt werden. Der Spiegel wird täglich oder beim Neustart der Dependency-Track-Instanz aktualisiert. Zur Authentifizierung bei GitHub ist ein persönlicher Zugriffstoken (PAT) erforderlich, ihm müssen jedoch keine Bereiche zugewiesen werden.", "vulnsource_github_advisories_enable": "GitHub Advisory-Spiegelung aktivieren", "vulnsource_nvd_desc": "Die National Vulnerability Database (NVD) ist die größte öffentlich zugängliche Quelle für Informationen zu Schwachstellen. Sie wird von einer Gruppe innerhalb des National Institute of Standards and Technology (NIST) gepflegt und basiert auf der Arbeit von MITRE und anderen. Schwachstellen in der NVD werden Common Vulnerabilities and Exposures (CVE) genannt. In der NVD sind über 100.000 CVEs dokumentiert, die von den 1990er Jahren bis heute reichen.", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "OSV-Basis-URL", "welcome_message": "Willkommensnachricht", "welcome_message_desc": "Passen Sie die Willkommensnachricht an, die auf der Startseite von Dependency-Track angezeigt wird, bevor sich Benutzer anmelden.", - "welcome_message_enable": "Willkommensnachricht aktivieren", - "composer_advisories": "Komponisten -Ratschläge (Beta)", - "composer_repositories": "Komponisten -Repositories", - "description": "Beschreibung", - "documentation": "Dokumentation", - "repository_advisory_alias_sync_toggle": "Aktivieren Sie die Alias ​​-Synchronisation von Sicherheitsberatungen", - "repository_advisory_mirroring_enabled": "Beratungssynchronisation", - "repository_advisory_mirroring_toggle": "Aktivieren Sie die Spiegelung von Sicherheitsanwälten (Beta)", - "vulnsource_composer_advisories_desc": "Das Komponist -Ökosystem bietet Sicherheitsberatungen über seine Komponisten -Repositorys an. \nBeispiele sind https://packagist.org und https://packages.drupal.org/8. \nDiese Sicherheitsanwälte werden vom Komponisten verwendet, um den Befehl Composer Audit bereitzustellen.", - "vulnsource_composer_to_enable": "Die Komponisten -Beratungsspiegelung kann für ein Repository über seine Konfiguration aktiviert werden:" + "welcome_message_enable": "Willkommensnachricht aktivieren" }, "condition": { "forbidden": "Verboten (403)", diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index 7b987b26e..cfa2a0b24 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -52,6 +52,8 @@ "change_password_next_login": "El usuario debe cambiar la contraseña en el próximo inicio de sesión", "clone_template": "Plantilla de clonación", "composer": "Compositor", + "composer_advisories": "Aventivos del compositor (beta)", + "composer_repositories": "Repositorios del compositor", "configuration": "Configuración", "configuration_saved": "Configuración guardada", "configuration_test": "Prueba de configuración", @@ -79,10 +81,12 @@ "delete_team": "Eliminar equipo", "delete_template": "Eliminar plantilla", "delete_user": "Borrar usuario", + "description": "Descripción", "destination": "Destino", "disabled": "Desactivado", "disabled_for_tags": "Deshabilitado para etiquetas", "distinguished_name": "Nombre distinguido", + "documentation": "Documentación", "edit_api_key_comment": "edit_api_key_comment", "email": "Correo electrónico", "email_address": "Dirección de correo electrónico", @@ -209,6 +213,9 @@ "remove_api_key": "Eliminar Clave API", "repositories": "Repositorios", "repository_advisory_alias_sync_enabled": "Habilitar la sincronización de alias de aviso de seguridad", + "repository_advisory_alias_sync_toggle": "Habilitar la sincronización de alias de asesoramiento de seguridad", + "repository_advisory_mirroring_enabled": "Sincronización de asesoramiento", + "repository_advisory_mirroring_toggle": "Habilitar el reflejo de los avisos de seguridad (beta)", "repository_authentication": "Autenticacion requerida", "repository_created": "Repositorio creado", "repository_deleted": "Repositorio eliminado", @@ -270,6 +277,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Habilitar la sincronización de alias de vulnerabilidad", "vulnsource_alias_sync_enable_tooltip": "Los datos de alias pueden ayudar a identificar vulnerabilidades idénticas en múltiples bases de datos. Si la fuente proporciona estos datos, sincronícelos con la base de datos de Dependency-Track.", + "vulnsource_composer_advisories_desc": "El ecosistema compositor proporciona avisos de seguridad a través de sus repositorios compositor. \nLos ejemplos son https://packagist.org y https://packages.drupal.org/8. \nEl compositor utiliza estos avisos de seguridad para proporcionar el comando de auditoría del compositor.", + "vulnsource_composer_to_enable": "El reflejo de asesoramiento del compositor se puede habilitar para un repositorio a través de su configuración:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) es una base de datos de CVE y avisos de seguridad originados en GitHub que afectan al mundo del código abierto. Dependency-Track se integra con GHSA reflejando avisos a través de la API pública GraphQL de GitHub. El espejo se actualiza diariamente o al reiniciar la instancia de Dependency-Track. Se requiere un token de acceso personal (PAT) para autenticarse con GitHub, pero no es necesario asignarle ámbitos.", "vulnsource_github_advisories_enable": "Habilitar la duplicación de asesoramiento de GitHub", "vulnsource_nvd_desc": "La Base de Datos Nacional de Vulnerabilidad (NVD) es la mayor fuente de inteligencia sobre vulnerabilidades disponible públicamente. Lo mantiene un grupo dentro del Instituto Nacional de Estándares y Tecnología (NIST) y se basa en el trabajo de MITRE y otros. Las vulnerabilidades en NVD se denominan vulnerabilidades y exposiciones comunes (CVE). Hay más de 100.000 CVE documentados en el NVD desde la década de 1990 hasta la actualidad.", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "URL base de OSV", "welcome_message": "Mensaje de bienvenida", "welcome_message_desc": "Personalice el mensaje de bienvenida que aparece en la página de inicio de Dependency-Track antes de que los usuarios inicien sesión.", - "welcome_message_enable": "Habilitar mensaje de bienvenida", - "composer_advisories": "Aventivos del compositor (beta)", - "composer_repositories": "Repositorios del compositor", - "description": "Descripción", - "documentation": "Documentación", - "repository_advisory_alias_sync_toggle": "Habilitar la sincronización de alias de asesoramiento de seguridad", - "repository_advisory_mirroring_enabled": "Sincronización de asesoramiento", - "repository_advisory_mirroring_toggle": "Habilitar el reflejo de los avisos de seguridad (beta)", - "vulnsource_composer_advisories_desc": "El ecosistema compositor proporciona avisos de seguridad a través de sus repositorios compositor. \nLos ejemplos son https://packagist.org y https://packages.drupal.org/8. \nEl compositor utiliza estos avisos de seguridad para proporcionar el comando de auditoría del compositor.", - "vulnsource_composer_to_enable": "El reflejo de asesoramiento del compositor se puede habilitar para un repositorio a través de su configuración:" + "welcome_message_enable": "Habilitar mensaje de bienvenida" }, "condition": { "forbidden": "Prohibido (403)", diff --git a/src/i18n/locales/fr.json b/src/i18n/locales/fr.json index ce7d26f1a..b257538cc 100644 --- a/src/i18n/locales/fr.json +++ b/src/i18n/locales/fr.json @@ -52,6 +52,8 @@ "change_password_next_login": "L'utilisateur doit changer son mot de passe lors de sa prochaine connexion", "clone_template": "Cloner le modèle", "composer": "Composer", + "composer_advisories": "Conseils des compositeurs (bêta)", + "composer_repositories": "Référentiels des compositeurs", "configuration": "Configuration", "configuration_saved": "Configuration enregistrée", "configuration_test": "Test de configuration", @@ -79,10 +81,12 @@ "delete_team": "Supprimer l'équipe", "delete_template": "Supprimer le modèle", "delete_user": "Supprimer l'utilisateur", + "description": "Description", "destination": "Destination", "disabled": "Désactivé", "disabled_for_tags": "Désactivé pour les balises", "distinguished_name": "Nom distinctif (DN)", + "documentation": "Documentation", "edit_api_key_comment": "Éditer le commentaire de clé d'API", "email": "Courriel", "email_address": "Adresse de courriel", @@ -209,6 +213,9 @@ "remove_api_key": "Retirer la clé d'API", "repositories": "Dépôts", "repository_advisory_alias_sync_enabled": "Activer la synchronisation des alias des avis de sécurité", + "repository_advisory_alias_sync_toggle": "Activer la synchronisation des alias consultatifs de la sécurité", + "repository_advisory_mirroring_enabled": "Synchronisation consultative", + "repository_advisory_mirroring_toggle": "Activer le reflétement des avis de sécurité (bêta)", "repository_authentication": "Authentification requise", "repository_created": "Dépôt créé", "repository_deleted": "Dépôt supprimé", @@ -270,6 +277,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Activer la synchronisation des alias de vulnérabilité", "vulnsource_alias_sync_enable_tooltip": "Les données d'alias peuvent aider à identifier des vulnérabilités identiques dans plusieurs bases de données. Si la source fournit ces données, synchronisez-les avec la base de données de Dependency-Track.", + "vulnsource_composer_advisories_desc": "L'écosystème du compositeur fournit des avis de sécurité via ses référentiels de compositeurs. \nLes exemples sont https://packagist.org et https://packages.drupal.org/8. \nCes avis de sécurité sont utilisés par le compositeur pour fournir la commande d'audit compositeur.", + "vulnsource_composer_to_enable": "La mise en miroir consultative des compositeurs peut être activée pour un référentiel via sa configuration:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) est une base de données de CVE et d'avis de sécurité provenant de GitHub affectant le monde open source. Dependency-Track s'intègre à GHSA en reflétant les avis via l'API publique GraphQL de GitHub. Le miroir est actualisé quotidiennement ou au redémarrage de l'instance Dependency-Track. Un jeton d'accès personnel (PAT) est requis pour s'authentifier auprès de GitHub, mais aucun périmètre ne doit lui être attribuée.", "vulnsource_github_advisories_enable": "Activer la réplication des GitHub Advisories", "vulnsource_nvd_desc": "La National Vulnerability Database (NVD) est la plus grande source publique de renseignements sur les vulnérabilités. Il est géré par un groupe au sein du National Institute of Standards and Technology (NIST) et s'appuie sur les travaux de MITRE et d'autres. Les vulnérabilités du NVD sont appelées Common Vulnerabilities and Exposures (CVE). Il existe plus de 100 000 CVE documentés dans le NVD depuis les années 1990 jusqu’à nos jours.", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "URL de base OSV", "welcome_message": "Message de bienvenue", "welcome_message_desc": "Personnalisez le message de bienvenue qui apparaît sur la page de démarrage de Dependency-Track avant que les utilisateurs ne se connectent.", - "welcome_message_enable": "Activer le message de bienvenue", - "composer_advisories": "Conseils des compositeurs (bêta)", - "composer_repositories": "Référentiels des compositeurs", - "description": "Description", - "documentation": "Documentation", - "repository_advisory_alias_sync_toggle": "Activer la synchronisation des alias consultatifs de la sécurité", - "repository_advisory_mirroring_enabled": "Synchronisation consultative", - "repository_advisory_mirroring_toggle": "Activer le reflétement des avis de sécurité (bêta)", - "vulnsource_composer_advisories_desc": "L'écosystème du compositeur fournit des avis de sécurité via ses référentiels de compositeurs. \nLes exemples sont https://packagist.org et https://packages.drupal.org/8. \nCes avis de sécurité sont utilisés par le compositeur pour fournir la commande d'audit compositeur.", - "vulnsource_composer_to_enable": "La mise en miroir consultative des compositeurs peut être activée pour un référentiel via sa configuration:" + "welcome_message_enable": "Activer le message de bienvenue" }, "condition": { "forbidden": "Interdit (403)", diff --git a/src/i18n/locales/hi.json b/src/i18n/locales/hi.json index f6ea46430..6daa571fe 100644 --- a/src/i18n/locales/hi.json +++ b/src/i18n/locales/hi.json @@ -52,6 +52,8 @@ "change_password_next_login": "उपयोगकर्ता को अगली बार लॉगइन करते समय पासवर्ड बदलना होगा", "clone_template": "क्लोन टेम्पलेट", "composer": "संगीतकार", + "composer_advisories": "संगीतकार सलाह (बीटा)", + "composer_repositories": "संगीतकार रिपॉजिटरी", "configuration": "विन्यास", "configuration_saved": "कॉन्फ़िगरेशन सहेजा गया", "configuration_test": "कॉन्फ़िगरेशन परीक्षण", @@ -79,10 +81,12 @@ "delete_team": "टीम हटाएँ", "delete_template": "टेम्पलेट हटाएं", "delete_user": "उपभोक्ता मिटायें", + "description": "विवरण", "destination": "गंतव्य", "disabled": "अक्षम", "disabled_for_tags": "टैग के लिए अक्षम", "distinguished_name": "विशिष्ट नाम", + "documentation": "प्रलेखन", "edit_api_key_comment": "edit_api_key_comment", "email": "ईमेल", "email_address": "मेल पता", @@ -209,6 +213,9 @@ "remove_api_key": "remove_api_key", "repositories": "डेटा संग्रह स्थान", "repository_advisory_alias_sync_enabled": "सुरक्षा सलाहकार उपनाम सिंक्रनाइज़ेशन सक्षम करें", + "repository_advisory_alias_sync_toggle": "सुरक्षा सलाहकार उपनाम सिंक्रनाइज़ेशन सक्षम करें", + "repository_advisory_mirroring_enabled": "सलाहकार सिंक", + "repository_advisory_mirroring_toggle": "सुरक्षा सलाह (बीटा) के मिररिंग को सक्षम करें", "repository_authentication": "प्रमाणित करना", "repository_created": "रिपोजिटरी बनाई गई", "repository_deleted": "रिपॉजिटरी हटा दी गई", @@ -270,6 +277,8 @@ "vulndb": "वुल्नडीबी", "vulnsource_alias_sync_enable": "भेद्यता उपनाम सिंक्रनाइज़ेशन सक्षम करें", "vulnsource_alias_sync_enable_tooltip": "उपनाम डेटा कई डेटाबेस में समान कमजोरियों की पहचान करने में मदद कर सकता है। यदि स्रोत यह डेटा प्रदान करता है, तो इसे डिपेंडेंसी-ट्रैक के डेटाबेस के साथ सिंक्रनाइज़ करें।", + "vulnsource_composer_advisories_desc": "संगीतकार पारिस्थितिकी तंत्र अपने संगीतकार रिपॉजिटरी के माध्यम से सुरक्षा सलाह प्रदान करता है। \nउदाहरण हैं https://packagist.org और https://packages.drupal.org/8। \nइन सुरक्षा सलाहकारों का उपयोग संगीतकार द्वारा संगीतकार ऑडिट कमांड प्रदान करने के लिए किया जाता है।", + "vulnsource_composer_to_enable": "संगीतकार सलाहकार मिररिंग को इसके कॉन्फ़िगरेशन के माध्यम से एक रिपॉजिटरी के लिए सक्षम किया जा सकता है:", "vulnsource_github_advisories_desc": "GitHub एडवाइज़रीज (GHSA) CVE और GitHub द्वारा उत्पन्न सुरक्षा सलाह का एक डेटाबेस है जो ओपन सोर्स दुनिया को प्रभावित करता है। डिपेंडेंसी-ट्रैक GitHub के सार्वजनिक GraphQL API के माध्यम से सलाह को मिरर करके GHSA के साथ एकीकृत होता है। मिरर को प्रतिदिन या डिपेंडेंसी-ट्रैक इंस्टेंस के पुनरारंभ होने पर रिफ्रेश किया जाता है। GitHub के साथ प्रमाणीकरण के लिए एक व्यक्तिगत एक्सेस टोकन (PAT) की आवश्यकता होती है, लेकिन इसके लिए कोई स्कोप असाइन करने की आवश्यकता नहीं होती है।", "vulnsource_github_advisories_enable": "GitHub सलाहकार मिररिंग सक्षम करें", "vulnsource_nvd_desc": "राष्ट्रीय भेद्यता डेटाबेस (NVD) भेद्यता खुफिया जानकारी का सबसे बड़ा सार्वजनिक रूप से उपलब्ध स्रोत है। इसे राष्ट्रीय मानक और प्रौद्योगिकी संस्थान (NIST) के भीतर एक समूह द्वारा बनाए रखा जाता है और यह MITRE और अन्य के काम पर आधारित है। NVD में भेद्यताओं को सामान्य भेद्यता और जोखिम (CVE) कहा जाता है। 1990 के दशक से लेकर अब तक NVD में 100,000 से अधिक CVE दर्ज हैं।", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "OSV बेस यूआरएल", "welcome_message": "स्वागत संदेश", "welcome_message_desc": "उपयोगकर्ताओं के साइन इन करने से पहले डिपेंडेंसी-ट्रैक के आरंभ पृष्ठ पर दिखाई देने वाले स्वागत संदेश को अनुकूलित करें।", - "welcome_message_enable": "स्वागत संदेश सक्षम करें", - "composer_advisories": "संगीतकार सलाह (बीटा)", - "composer_repositories": "संगीतकार रिपॉजिटरी", - "description": "विवरण", - "documentation": "प्रलेखन", - "repository_advisory_alias_sync_toggle": "सुरक्षा सलाहकार उपनाम सिंक्रनाइज़ेशन सक्षम करें", - "repository_advisory_mirroring_enabled": "सलाहकार सिंक", - "repository_advisory_mirroring_toggle": "सुरक्षा सलाह (बीटा) के मिररिंग को सक्षम करें", - "vulnsource_composer_advisories_desc": "संगीतकार पारिस्थितिकी तंत्र अपने संगीतकार रिपॉजिटरी के माध्यम से सुरक्षा सलाह प्रदान करता है। \nउदाहरण हैं https://packagist.org और https://packages.drupal.org/8। \nइन सुरक्षा सलाहकारों का उपयोग संगीतकार द्वारा संगीतकार ऑडिट कमांड प्रदान करने के लिए किया जाता है।", - "vulnsource_composer_to_enable": "संगीतकार सलाहकार मिररिंग को इसके कॉन्फ़िगरेशन के माध्यम से एक रिपॉजिटरी के लिए सक्षम किया जा सकता है:" + "welcome_message_enable": "स्वागत संदेश सक्षम करें" }, "condition": { "forbidden": "निषिद्ध (403)", diff --git a/src/i18n/locales/it.json b/src/i18n/locales/it.json index b7434e398..a96d3706d 100644 --- a/src/i18n/locales/it.json +++ b/src/i18n/locales/it.json @@ -52,6 +52,8 @@ "change_password_next_login": "L'utente deve modificare la password al prossimo accesso", "clone_template": "Modello clone", "composer": "Compositore", + "composer_advisories": "Composir Advisories (beta)", + "composer_repositories": "Repository del compositore", "configuration": "Configurazione", "configuration_saved": "Configurazione salvata", "configuration_test": "Prova di configurazione", @@ -79,10 +81,12 @@ "delete_team": "Elimina squadra", "delete_template": "Elimina modello", "delete_user": "Elimina utente", + "description": "Descrizione", "destination": "Destinazione", "disabled": "Disabilitato", "disabled_for_tags": "Disabilitato per i tag", "distinguished_name": "Nome distinto", + "documentation": "Documentazione", "edit_api_key_comment": "edit_api_key_comment", "email": "E-mail", "email_address": "Indirizzo e-mail", @@ -209,6 +213,9 @@ "remove_api_key": "remove_api_key", "repositories": "Repository", "repository_advisory_alias_sync_enabled": "Abilita la sincronizzazione degli alias degli avvisi di sicurezza", + "repository_advisory_alias_sync_toggle": "Abilita la sincronizzazione alias di consulenza sulla sicurezza", + "repository_advisory_mirroring_enabled": "Sincronizzazione consultiva", + "repository_advisory_mirroring_toggle": "Abilita Mirroring of Security Advisories (Beta)", "repository_authentication": "Autenticazione richiesta", "repository_created": "Archivio creato", "repository_deleted": "Archivio eliminato", @@ -270,6 +277,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Abilita la sincronizzazione degli alias di vulnerabilità", "vulnsource_alias_sync_enable_tooltip": "I dati alias possono aiutare a identificare vulnerabilità identiche su più database. Se la fonte fornisce questi dati, sincronizzali con il database di Dependency-Track.", + "vulnsource_composer_advisories_desc": "L'ecosistema compositore fornisce consulenze sulla sicurezza tramite i suoi repository compositori. \nEsempi sono https://packagist.org e https://packages.drupal.org/8. \nQuesti avvisi di sicurezza vengono utilizzati dal compositore per fornire il comando di audit compositore.", + "vulnsource_composer_to_enable": "Il mirroring di consulenza compositore può essere abilitato per un repository tramite la sua configurazione:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) è un database di CVE e avvisi di sicurezza originati da GitHub che interessano il mondo open source. Dependency-Track si integra con GHSA eseguendo il mirroring degli avvisi tramite l'API GraphQL pubblica di GitHub. Il mirror viene aggiornato quotidianamente o al riavvio dell'istanza Dependency-Track. Per eseguire l'autenticazione con GitHub è necessario un token di accesso personale (PAT), ma non è necessario assegnargli alcun ambito.", "vulnsource_github_advisories_enable": "Abilita il mirroring di GitHub Advisory", "vulnsource_nvd_desc": "Il National Vulnerability Database (NVD) è la più grande fonte pubblica di informazioni sulle vulnerabilità. È gestito da un gruppo interno al National Institute of Standards and Technology (NIST) e si basa sul lavoro di MITRE e altri. Le vulnerabilità nella NVD sono chiamate vulnerabilità ed esposizioni comuni (CVE). Ci sono oltre 100.000 CVE documentati nella NVD dagli anni ’90 ad oggi.", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "URL di base OSV", "welcome_message": "Messaggio di benvenuto", "welcome_message_desc": "Personalizza il messaggio di benvenuto che appare nella pagina iniziale di Dependency-Track prima che gli utenti accedano.", - "welcome_message_enable": "Abilita il messaggio di benvenuto", - "composer_advisories": "Composir Advisories (beta)", - "composer_repositories": "Repository del compositore", - "description": "Descrizione", - "documentation": "Documentazione", - "repository_advisory_alias_sync_toggle": "Abilita la sincronizzazione alias di consulenza sulla sicurezza", - "repository_advisory_mirroring_enabled": "Sincronizzazione consultiva", - "repository_advisory_mirroring_toggle": "Abilita Mirroring of Security Advisories (Beta)", - "vulnsource_composer_advisories_desc": "L'ecosistema compositore fornisce consulenze sulla sicurezza tramite i suoi repository compositori. \nEsempi sono https://packagist.org e https://packages.drupal.org/8. \nQuesti avvisi di sicurezza vengono utilizzati dal compositore per fornire il comando di audit compositore.", - "vulnsource_composer_to_enable": "Il mirroring di consulenza compositore può essere abilitato per un repository tramite la sua configurazione:" + "welcome_message_enable": "Abilita il messaggio di benvenuto" }, "condition": { "forbidden": "Proibito (403)", diff --git a/src/i18n/locales/ja.json b/src/i18n/locales/ja.json index d59fc72e9..bbaae86a5 100644 --- a/src/i18n/locales/ja.json +++ b/src/i18n/locales/ja.json @@ -52,6 +52,8 @@ "change_password_next_login": "次回ログイン時にパスワード変更を要求", "clone_template": "テンプレートの複製", "composer": "Composer", + "composer_advisories": "作曲家アドバイザリー(ベータ)", + "composer_repositories": "作曲家リポジトリ", "configuration": "設定", "configuration_saved": "設定を保存しました", "configuration_test": "設定テスト", @@ -79,10 +81,12 @@ "delete_team": "チームを削除", "delete_template": "テンプレートを削除", "delete_user": "ユーザーを削除", + "description": "説明", "destination": "宛先", "disabled": "無効", "disabled_for_tags": "タグが無効になっています", "distinguished_name": "識別名", + "documentation": "ドキュメント", "edit_api_key_comment": "edit_api_key_comment", "email": "Eメール", "email_address": "Eメールアドレス", @@ -209,6 +213,9 @@ "remove_api_key": "remove_api_key", "repositories": "リポジトリ", "repository_advisory_alias_sync_enabled": "セキュリティ アドバイザリのエイリアス同期を有効にする", + "repository_advisory_alias_sync_toggle": "セキュリティアドバイザリーエイリアスの同期を有​​効にします", + "repository_advisory_mirroring_enabled": "アドバイザリー同期", + "repository_advisory_mirroring_toggle": "セキュリティアドバイザリのミラーリング(ベータ)を有効にする", "repository_authentication": "認証が必要", "repository_created": "リポジトリが作成されました", "repository_deleted": "リポジトリが削除されました", @@ -270,6 +277,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "脆弱性エイリアスの同期を有効にする", "vulnsource_alias_sync_enable_tooltip": "エイリアス データは、複数のデータベース間で同一の脆弱性を識別するのに役立ちます。ソースがこのデータを提供する場合は、Dependency-Track のデータベースと同期します。", + "vulnsource_composer_advisories_desc": "Composer Ecosystemは、Composerリポジトリを介してセキュリティアドバイザリーを提供します。\n例は、https://packagist.orgとhttps://packages.drupal.org/8です。\nこれらのセキュリティアドバイザリは、作曲家がComposer監査コマンドを提供するために使用されます。", + "vulnsource_composer_to_enable": "Composer Advisory Mirroringは、その構成を介してリポジトリを有効にすることができます。", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) は、オープンソースの世界に影響を与える CVE と GitHub 発のセキュリティ アドバイザリのデータベースです。Dependency-Track は、GitHub のパブリック GraphQL API を介してアドバイザリをミラーリングすることで GHSA と統合します。ミラーは毎日、または Dependency-Track インスタンスの再起動時に更新されます。GitHub で認証するには個人アクセス トークン (PAT) が必要ですが、スコープを割り当てる必要はありません。", "vulnsource_github_advisories_enable": "GitHub Advisories のミラーリングを有効にする", "vulnsource_nvd_desc": "National Vulnerability Database (NVD) は、公開されている脆弱性情報の最大規模の情報源です。これは、米国国立標準技術研究所 (NIST) 内のグループによって管理されており、MITRE などの成果を基に構築されています。NVD 内の脆弱性は、Common Vulnerabilities and Exposures (CVE) と呼ばれます。NVD には、1990 年代から現在に至るまでの 100,000 件を超える CVE が記録されています。", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "OSV ベース URL", "welcome_message": "ウェルカムメッセージ", "welcome_message_desc": "ユーザーがサインインする前に、Dependency-Track の開始ページに表示されるウェルカム メッセージをカスタマイズします。", - "welcome_message_enable": "ウェルカムメッセージを有効にする", - "composer_advisories": "作曲家アドバイザリー(ベータ)", - "composer_repositories": "作曲家リポジトリ", - "description": "説明", - "documentation": "ドキュメント", - "repository_advisory_alias_sync_toggle": "セキュリティアドバイザリーエイリアスの同期を有​​効にします", - "repository_advisory_mirroring_enabled": "アドバイザリー同期", - "repository_advisory_mirroring_toggle": "セキュリティアドバイザリのミラーリング(ベータ)を有効にする", - "vulnsource_composer_advisories_desc": "Composer Ecosystemは、Composerリポジトリを介してセキュリティアドバイザリーを提供します。\n例は、https://packagist.orgとhttps://packages.drupal.org/8です。\nこれらのセキュリティアドバイザリは、作曲家がComposer監査コマンドを提供するために使用されます。", - "vulnsource_composer_to_enable": "Composer Advisory Mirroringは、その構成を介してリポジトリを有効にすることができます。" + "welcome_message_enable": "ウェルカムメッセージを有効にする" }, "condition": { "forbidden": "禁止 (403)", diff --git a/src/i18n/locales/pl.json b/src/i18n/locales/pl.json index 563d2a688..ebb9f2000 100644 --- a/src/i18n/locales/pl.json +++ b/src/i18n/locales/pl.json @@ -52,6 +52,8 @@ "change_password_next_login": "Użytkownik musi zmienić hasło przy następnym logowaniu", "clone_template": "Szablon klonowania", "composer": "Kompozytor", + "composer_advisories": "Composer Advisories (beta)", + "composer_repositories": "Repozytoria kompozytora", "configuration": "Konfiguracja", "configuration_saved": "Konfiguracja została zapisana", "configuration_test": "Test konfiguracji", @@ -79,10 +81,12 @@ "delete_team": "Usuń zespół", "delete_template": "Usuń szablon", "delete_user": "Usuń użytkownika", + "description": "Opis", "destination": "Miejsce docelowe", "disabled": "Wyłączony", "disabled_for_tags": "Wyłączone dla tagów", "distinguished_name": "Wytworne imię", + "documentation": "Dokumentacja", "edit_api_key_comment": "edit_api_key_comment", "email": "E-mail", "email_address": "Adres e-mail", @@ -209,6 +213,9 @@ "remove_api_key": "remove_api_key", "repositories": "Repozytoria", "repository_advisory_alias_sync_enabled": "Włącz synchronizację aliasów Security Advisory", + "repository_advisory_alias_sync_toggle": "Włącz synchronizację aliasu doradczego bezpieczeństwa", + "repository_advisory_mirroring_enabled": "Synchronizacja doradcza", + "repository_advisory_mirroring_toggle": "Włącz lustrzanie doradców bezpieczeństwa (beta)", "repository_authentication": "Wymagane uwierzytelnienie", "repository_created": "Repozytorium zostało utworzone", "repository_deleted": "Repozytorium usunięte", @@ -270,6 +277,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Włącz synchronizację aliasów luk w zabezpieczeniach", "vulnsource_alias_sync_enable_tooltip": "Dane aliasów mogą pomóc w identyfikacji identycznych luk w zabezpieczeniach wielu baz danych. Jeśli źródło dostarcza te dane, zsynchronizuj je z bazą danych Depency-Track.", + "vulnsource_composer_advisories_desc": "Ekosystem kompozytora zapewnia porady bezpieczeństwa za pośrednictwem repozytoriów kompozytora. \nPrzykładami są https://packagist.org i https://packages.drupal.org/8. \nTe porady bezpieczeństwa są wykorzystywane przez kompozytora do dostarczenia polecenia audytu kompozytora.", + "vulnsource_composer_to_enable": "Kompozytorowe lustrzanie doradcze można włączyć dla repozytorium za pomocą jego konfiguracji:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) to baza danych CVE i porad bezpieczeństwa pochodzących z GitHub, mających wpływ na świat open source. Zależność-Track integruje się z GHSA, odzwierciedlając porady za pośrednictwem publicznego API GraphQL GitHuba. Lustro jest odświeżane codziennie lub po ponownym uruchomieniu instancji Depency-Track. Do uwierzytelnienia w GitHub wymagany jest osobisty token dostępu (PAT), ale nie trzeba do niego przypisywać żadnych zakresów.", "vulnsource_github_advisories_enable": "Włącz dublowanie Doradcze GitHub", "vulnsource_nvd_desc": "Krajowa baza danych o lukach w zabezpieczeniach (NVD) jest największym publicznie dostępnym źródłem informacji o lukach w zabezpieczeniach. Jest on prowadzony przez grupę w ramach Narodowego Instytutu Standardów i Technologii (NIST) i opiera się na pracach MITRE i innych. Luki w NVD nazywane są typowymi lukami i zagrożeniami (CVE). W NVD udokumentowano ponad 100 000 CVE od lat 90. XX wieku do chwili obecnej.", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "Podstawowy adres URL OSV", "welcome_message": "Wiadomość powitalna", "welcome_message_desc": "Dostosuj wiadomość powitalną wyświetlaną na stronie początkowej funkcji Depency-Track przed zalogowaniem się użytkownika.", - "welcome_message_enable": "Włącz wiadomość powitalną", - "composer_advisories": "Composer Advisories (beta)", - "composer_repositories": "Repozytoria kompozytora", - "description": "Opis", - "documentation": "Dokumentacja", - "repository_advisory_alias_sync_toggle": "Włącz synchronizację aliasu doradczego bezpieczeństwa", - "repository_advisory_mirroring_enabled": "Synchronizacja doradcza", - "repository_advisory_mirroring_toggle": "Włącz lustrzanie doradców bezpieczeństwa (beta)", - "vulnsource_composer_advisories_desc": "Ekosystem kompozytora zapewnia porady bezpieczeństwa za pośrednictwem repozytoriów kompozytora. \nPrzykładami są https://packagist.org i https://packages.drupal.org/8. \nTe porady bezpieczeństwa są wykorzystywane przez kompozytora do dostarczenia polecenia audytu kompozytora.", - "vulnsource_composer_to_enable": "Kompozytorowe lustrzanie doradcze można włączyć dla repozytorium za pomocą jego konfiguracji:" + "welcome_message_enable": "Włącz wiadomość powitalną" }, "condition": { "forbidden": "Zabronione (403)", diff --git a/src/i18n/locales/pt-BR.json b/src/i18n/locales/pt-BR.json index b56b1c278..c348ff580 100644 --- a/src/i18n/locales/pt-BR.json +++ b/src/i18n/locales/pt-BR.json @@ -52,6 +52,8 @@ "change_password_next_login": "O usuário deve alterar a senha no próximo login", "clone_template": "Clonar modelo", "composer": "Compositor", + "composer_advisories": "Avistas do compositor (beta)", + "composer_repositories": "Repositórios de compositores", "configuration": "Configuração", "configuration_saved": "Configuração salva", "configuration_test": "Teste de configuração", @@ -79,10 +81,12 @@ "delete_team": "Excluir equipe", "delete_template": "Excluir modelo", "delete_user": "Deletar usuário", + "description": "Descrição", "destination": "Destino", "disabled": "Desabilitado", "disabled_for_tags": "Desativado para tags", "distinguished_name": "Nome Distinto", + "documentation": "Documentação", "edit_api_key_comment": "edit_api_key_comment", "email": "E-mail", "email_address": "Endereço de email", @@ -209,6 +213,9 @@ "remove_api_key": "remove_api_key", "repositories": "Repositórios", "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", + "repository_advisory_alias_sync_toggle": "Ativar sincronização de alias de consultoria de segurança", + "repository_advisory_mirroring_enabled": "Sincronização consultiva", + "repository_advisory_mirroring_toggle": "Ativar espelhamento de avisos de segurança (beta)", "repository_authentication": "Autentificação requerida", "repository_created": "Repositório criado", "repository_deleted": "Repositório excluído", @@ -270,6 +277,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Habilitar sincronização de alias de vulnerabilidade", "vulnsource_alias_sync_enable_tooltip": "Os dados de alias podem ajudar a identificar vulnerabilidades idênticas em vários bancos de dados. Se a fonte fornecer esses dados, sincronize-os com o banco de dados do Dependency-Track.", + "vulnsource_composer_advisories_desc": "O ecossistema do compositor fornece avisos de segurança por meio de seus repositórios de compositores. \nOs exemplos são https://packagist.org e https://packages.drupal.org/8. \nEsses avisos de segurança são usados ​​pelo Composer para fornecer o comando de auditoria do compositor.", + "vulnsource_composer_to_enable": "O espelhamento consultivo do compositor pode ser ativado para um repositório por meio de sua configuração:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) é um banco de dados de CVEs e avisos de segurança originados no GitHub que afetam o mundo do código aberto. Dependency-Track integra-se ao GHSA espelhando avisos por meio da API GraphQL pública do GitHub. O espelho é atualizado diariamente ou na reinicialização da instância Dependency-Track. Um token de acesso pessoal (PAT) é necessário para autenticar no GitHub, mas nenhum escopo precisa ser atribuído a ele.", "vulnsource_github_advisories_enable": "Habilitar espelhamento do GitHub Advisory", "vulnsource_nvd_desc": "O Banco de Dados Nacional de Vulnerabilidades (NVD) é a maior fonte pública de inteligência sobre vulnerabilidades. É mantido por um grupo do Instituto Nacional de Padrões e Tecnologia (NIST) e baseia-se no trabalho do MITRE e outros. As vulnerabilidades no NVD são chamadas de Vulnerabilidades e Exposições Comuns (CVE). Existem mais de 100.000 CVEs documentados no NVD desde a década de 1990 até o presente.", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "URL base do OSV", "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", - "welcome_message_enable": "Ativar mensagem de boas-vindas", - "composer_advisories": "Avistas do compositor (beta)", - "composer_repositories": "Repositórios de compositores", - "description": "Descrição", - "documentation": "Documentação", - "repository_advisory_alias_sync_toggle": "Ativar sincronização de alias de consultoria de segurança", - "repository_advisory_mirroring_enabled": "Sincronização consultiva", - "repository_advisory_mirroring_toggle": "Ativar espelhamento de avisos de segurança (beta)", - "vulnsource_composer_advisories_desc": "O ecossistema do compositor fornece avisos de segurança por meio de seus repositórios de compositores. \nOs exemplos são https://packagist.org e https://packages.drupal.org/8. \nEsses avisos de segurança são usados ​​pelo Composer para fornecer o comando de auditoria do compositor.", - "vulnsource_composer_to_enable": "O espelhamento consultivo do compositor pode ser ativado para um repositório por meio de sua configuração:" + "welcome_message_enable": "Ativar mensagem de boas-vindas" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/pt.json b/src/i18n/locales/pt.json index 6d939bea9..d32177b37 100644 --- a/src/i18n/locales/pt.json +++ b/src/i18n/locales/pt.json @@ -52,6 +52,8 @@ "change_password_next_login": "O utilizador deve alterar a palavra passe no próximo login", "clone_template": "Clonar modelo", "composer": "Compositor", + "composer_advisories": "Avistas do compositor (beta)", + "composer_repositories": "Repositórios de compositores", "configuration": "Configuração", "configuration_saved": "Configuração salva", "configuration_test": "Teste de configuração", @@ -79,10 +81,12 @@ "delete_team": "Excluir equipe", "delete_template": "Excluir modelo", "delete_user": "Deletar utilizador", + "description": "Descrição", "destination": "Destino", "disabled": "Desabilitado", "disabled_for_tags": "Desativado para tags", "distinguished_name": "Nome Distinto", + "documentation": "Documentação", "edit_api_key_comment": "edit_api_key_comment", "email": "E-mail", "email_address": "Endereço de email", @@ -209,6 +213,9 @@ "remove_api_key": "remove_api_key", "repositories": "Repositórios", "repository_advisory_alias_sync_enabled": "Habilitar sincronização de alias do Comunicado de Segurança", + "repository_advisory_alias_sync_toggle": "Ativar sincronização de alias de consultoria de segurança", + "repository_advisory_mirroring_enabled": "Sincronização consultiva", + "repository_advisory_mirroring_toggle": "Ativar espelhamento de avisos de segurança (beta)", "repository_authentication": "Autentificação requerida", "repository_created": "Repositório criado", "repository_deleted": "Repositório excluído", @@ -270,6 +277,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Habilitar sincronização de alias de vulnerabilidade", "vulnsource_alias_sync_enable_tooltip": "Os dados de alias podem ajudar a identificar vulnerabilidades idênticas em vários bancos de dados. Se a fonte fornecer esses dados, sincronize-os com o banco de dados do Dependency-Track.", + "vulnsource_composer_advisories_desc": "O ecossistema do compositor fornece avisos de segurança por meio de seus repositórios de compositores. \nOs exemplos são https://packagist.org e https://packages.drupal.org/8. \nEsses avisos de segurança são usados ​​pelo Composer para fornecer o comando de auditoria do compositor.", + "vulnsource_composer_to_enable": "O espelhamento consultivo do compositor pode ser ativado para um repositório por meio de sua configuração:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) é um banco de dados de CVEs e avisos de segurança originados no GitHub que afetam o mundo do código aberto. Dependency-Track integra-se ao GHSA espelhando avisos por meio da API GraphQL pública do GitHub. O espelho é atualizado diariamente ou na reinicialização da instância Dependency-Track. Um token de acesso pessoal (PAT) é necessário para autenticar no GitHub, mas nenhum escopo precisa ser atribuído a ele.", "vulnsource_github_advisories_enable": "Habilitar espelhamento do GitHub Advisory", "vulnsource_nvd_desc": "O Banco de Dados Nacional de Vulnerabilidades (NVD) é a maior fonte pública de inteligência sobre vulnerabilidades. É mantido por um grupo do Instituto Nacional de Padrões e Tecnologia (NIST) e baseia-se no trabalho do MITRE e outros. As vulnerabilidades no NVD são chamadas de Vulnerabilidades e Exposições Comuns (CVE). Existem mais de 100.000 CVEs documentados no NVD desde a década de 1990 até o presente.", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "URL base do OSV", "welcome_message": "Mensagem de boas-vindas", "welcome_message_desc": "Personalize a mensagem de boas-vindas que aparece na página inicial do Dependency-Track antes dos usuários fazerem login.", - "welcome_message_enable": "Ativar mensagem de boas-vindas", - "composer_advisories": "Avistas do compositor (beta)", - "composer_repositories": "Repositórios de compositores", - "description": "Descrição", - "documentation": "Documentação", - "repository_advisory_alias_sync_toggle": "Ativar sincronização de alias de consultoria de segurança", - "repository_advisory_mirroring_enabled": "Sincronização consultiva", - "repository_advisory_mirroring_toggle": "Ativar espelhamento de avisos de segurança (beta)", - "vulnsource_composer_advisories_desc": "O ecossistema do compositor fornece avisos de segurança por meio de seus repositórios de compositores. \nOs exemplos são https://packagist.org e https://packages.drupal.org/8. \nEsses avisos de segurança são usados ​​pelo Composer para fornecer o comando de auditoria do compositor.", - "vulnsource_composer_to_enable": "O espelhamento consultivo do compositor pode ser ativado para um repositório por meio de sua configuração:" + "welcome_message_enable": "Ativar mensagem de boas-vindas" }, "condition": { "forbidden": "Proibido (403)", diff --git a/src/i18n/locales/ru.json b/src/i18n/locales/ru.json index 37e45ae1f..7e7395682 100644 --- a/src/i18n/locales/ru.json +++ b/src/i18n/locales/ru.json @@ -52,6 +52,8 @@ "change_password_next_login": "Пользователь должен сменить пароль при следующем входе", "clone_template": "Клонировать шаблон", "composer": "Composer", + "composer_advisories": "Консультанты композиторов (бета)", + "composer_repositories": "Репозитории композитора", "configuration": "Конфигурация", "configuration_saved": "Конфигурация сохранена", "configuration_test": "Тест конфигурации", @@ -79,10 +81,12 @@ "delete_team": "Удалить команду", "delete_template": "Удалить шаблон", "delete_user": "Удалить пользователя", + "description": "Описание", "destination": "Назначение", "disabled": "Отключено", "disabled_for_tags": "Отключено для тегов", "distinguished_name": "Уникальное имя", + "documentation": "Документация", "edit_api_key_comment": "Редактировать комментарий к ключу API", "email": "Электронная почта", "email_address": "Адрес электронной почты", @@ -209,6 +213,9 @@ "remove_api_key": "Удалить API-ключ", "repositories": "Репозитории", "repository_advisory_alias_sync_enabled": "Включить синхронизацию псевдонимов рекомендаций по безопасности", + "repository_advisory_alias_sync_toggle": "Включить синхронизацию консультативных консультаций по обеспечению безопасности", + "repository_advisory_mirroring_enabled": "Консультативная синхронизация", + "repository_advisory_mirroring_toggle": "Включить зеркалирование консультаций по безопасности (бета)", "repository_authentication": "Требуется аутентификация", "repository_created": "Репозиторий создан", "repository_deleted": "Репозиторий удален", @@ -270,6 +277,8 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Включить синхронизацию псевдонимов уязвимостей", "vulnsource_alias_sync_enable_tooltip": "Данные псевдонимов могут помочь в идентификации одинаковых уязвимостей в разных базах данных. Если источник предоставляет такие данные, синхронизируйте их с базой данных Dependency-Track.", + "vulnsource_composer_advisories_desc": "Композиторная экосистема предоставляет рекомендации по обеспечению безопасности через свои репозитории композитора. \nПримерами являются https://packagist.org и https://packages.drupal.org/8. \nЭти рекомендации по безопасности используются композитором для предоставления команды аудита композитора.", + "vulnsource_composer_to_enable": "Консультативное зеркалирование композитора может быть включено для репозитория через его конфигурацию:", "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). В NVD задокументировано более 100 000 CVE с 1990-х годов до настоящего времени.", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "Базовый URL OSV", "welcome_message": "Приветственное сообщение", "welcome_message_desc": "Настройте приветственное сообщение, которое отображается на стартовой странице Dependency-Track перед входом пользователей.", - "welcome_message_enable": "Включить приветственное сообщение", - "composer_advisories": "Консультанты композиторов (бета)", - "composer_repositories": "Репозитории композитора", - "description": "Описание", - "documentation": "Документация", - "repository_advisory_alias_sync_toggle": "Включить синхронизацию консультативных консультаций по обеспечению безопасности", - "repository_advisory_mirroring_enabled": "Консультативная синхронизация", - "repository_advisory_mirroring_toggle": "Включить зеркалирование консультаций по безопасности (бета)", - "vulnsource_composer_advisories_desc": "Композиторная экосистема предоставляет рекомендации по обеспечению безопасности через свои репозитории композитора. \nПримерами являются https://packagist.org и https://packages.drupal.org/8. \nЭти рекомендации по безопасности используются композитором для предоставления команды аудита композитора.", - "vulnsource_composer_to_enable": "Консультативное зеркалирование композитора может быть включено для репозитория через его конфигурацию:" + "welcome_message_enable": "Включить приветственное сообщение" }, "condition": { "forbidden": "Запрещено (403)", diff --git a/src/i18n/locales/uk-UA.json b/src/i18n/locales/uk-UA.json index 3d272caf6..0115c571a 100644 --- a/src/i18n/locales/uk-UA.json +++ b/src/i18n/locales/uk-UA.json @@ -52,6 +52,8 @@ "change_password_next_login": "Користувач повинен змінити пароль під час наступного входу", "clone_template": "Шаблон клонування", "composer": "Композитор", + "composer_advisories": "Консультації композитора (бета)", + "composer_repositories": "Сховища композитора", "configuration": "Конфігурація", "configuration_saved": "Конфігурацію збережено", "configuration_test": "Тест конфігурації", @@ -79,10 +81,12 @@ "delete_team": "Видалити команду", "delete_template": "Видалити шаблон", "delete_user": "Видалити користувача", + "description": "Опис", "destination": "Пункт призначення", "disabled": "Вимкнено", "disabled_for_tags": "Вимкнено для тегів", "distinguished_name": "Помітне ім'я", + "documentation": "Документація", "edit_api_key_comment": "Редагувати коментар до ключа API", "email": "Електронна пошта", "email_address": "Адреса електронної пошти", @@ -209,6 +213,8 @@ "remove_api_key": "Видалити ключ API", "repositories": "Репозиторії", "repository_advisory_alias_sync_enabled": "Увімкнути синхронізацію псевдонімів Security Advisory", + "repository_advisory_alias_sync_toggle": "Увімкнути консультаційну синхронізацію консультацій з безпеки", + "repository_advisory_mirroring_enabled": "Консультативна синхронізація", "repository_authentication": "Потрібна автентифікація", "repository_created": "Репозиторій створено", "repository_deleted": "Репозиторій видалено", @@ -270,6 +276,7 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Увімкнути синхронізацію псевдонімів уразливостей", "vulnsource_alias_sync_enable_tooltip": "Дані про псевдоніми можуть допомогти виявити ідентичні вразливості в кількох базах даних. \nЯкщо джерело надає ці дані, синхронізуйте його з базою даних Dependency-Track.", + "vulnsource_composer_to_enable": "Консультаційне дзеркальне відображення композитора може бути включене для сховища за допомогою його конфігурації:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) — це база даних CVE і порад щодо безпеки, створених GitHub, які впливають на світ з відкритим кодом. \nDependency-Track інтегрується з GHSA, віддзеркалюючи поради через загальнодоступний API GraphQL GitHub. \nДзеркало оновлюється щодня або після перезапуску екземпляра Dependency-Track. \nДля автентифікації за допомогою GitHub потрібен персональний маркер доступу (PAT), але йому не потрібно призначати жодні області.", "vulnsource_github_advisories_enable": "Увімкнути віддзеркалення GitHub Advisory", "vulnsource_nvd_desc": "Національна база даних про вразливості (NVD) є найбільшим загальнодоступним джерелом інформації про вразливості. \nВін підтримується групою в Національному інституті стандартів і технологій (NIST) і базується на роботі MITRE та інших. \nУразливості в NVD називаються загальними вразливими місцями та експозиціями (CVE). \nІснує понад 100 000 CVE, задокументованих у NVD, починаючи з 1990-х років і до сьогодні.", @@ -282,14 +289,7 @@ "vulnsource_osv_base_url": "Базовий URL OSV", "welcome_message": "Вітальне повідомлення", "welcome_message_desc": "Налаштуйте вітальне повідомлення, яке з’являється на початковій сторінці Dependency-Track перед входом користувачів.", - "welcome_message_enable": "Увімкнути вітальне повідомлення", - "composer_advisories": "Консультації композитора (бета)", - "composer_repositories": "Сховища композитора", - "description": "Опис", - "documentation": "Документація", - "repository_advisory_alias_sync_toggle": "Увімкнути консультаційну синхронізацію консультацій з безпеки", - "repository_advisory_mirroring_enabled": "Консультативна синхронізація", - "vulnsource_composer_to_enable": "Консультаційне дзеркальне відображення композитора може бути включене для сховища за допомогою його конфігурації:" + "welcome_message_enable": "Увімкнути вітальне повідомлення" }, "condition": { "forbidden": "Заборонено (403)", diff --git a/src/i18n/locales/zh.json b/src/i18n/locales/zh.json index 242d151b2..c019f331c 100644 --- a/src/i18n/locales/zh.json +++ b/src/i18n/locales/zh.json @@ -52,6 +52,8 @@ "change_password_next_login": "用户必须在下次登录时更改密码", "clone_template": "克隆模板", "composer": "Composer (PHP 依赖管理工具)", + "composer_advisories": "作曲家咨询(Beta)", + "composer_repositories": "作曲家存储库", "configuration": "配置", "configuration_saved": "配置已保存", "configuration_test": "配置测试", @@ -79,10 +81,12 @@ "delete_team": "删除团队", "delete_template": "删除模板", "delete_user": "删除用户", + "description": "描述", "destination": "目的地", "disabled": "残疾人", "disabled_for_tags": "禁用标签", "distinguished_name": "专有名称", + "documentation": "文档", "edit_api_key_comment": "修改 API Key 备注", "email": "电子邮件", "email_address": "电子邮件地址", @@ -209,6 +213,9 @@ "remove_api_key": "删除 API Key", "repositories": "存储库", "repository_advisory_alias_sync_enabled": "启用安全建议别名同步", + "repository_advisory_alias_sync_toggle": "启用安全咨询别名同步", + "repository_advisory_mirroring_enabled": "咨询同步", + "repository_advisory_mirroring_toggle": "启用安全咨询的镜像(Beta)", "repository_authentication": "存储库身份验证", "repository_created": "已创建存储库", "repository_deleted": "存储库已删除", @@ -270,6 +277,8 @@ "vulndb": "漏洞数据库", "vulnsource_alias_sync_enable": "启用漏洞别名同步", "vulnsource_alias_sync_enable_tooltip": "别名数据有助于识别多个数据库中的相同漏洞。如果源提供了此数据,请将其与 Dependency-Track 的数据库同步。", + "vulnsource_composer_advisories_desc": "作曲家生态系统通过其作曲家存储库提供安全咨询。\n示例是https://packagist.org和https://packages.drupal.org/8。\n作曲家使用这些安全咨询来提供作曲家审计命令。", + "vulnsource_composer_to_enable": "可以通过其配置来启用Composer Advisory Rimeroring的镜像:", "vulnsource_github_advisories_desc": "GitHub 公告 (GHSA) 是一个 CVE 数据库,其中包含影响开源世界的 GitHub 安全公告。Dependency-Track 通过 GitHub 的公共 GraphQL API 镜像公告,与 GHSA 集成。镜像每天刷新一次,或在重新启动 Dependency-Track 实例时刷新。需要个人访问令牌 (PAT) 才能通过 GitHub 进行身份验证,但无需为其分配范围。", "vulnsource_github_advisories_enable": "启用 GitHub Advisory 镜像", "vulnsource_nvd_desc": "国家漏洞数据库 (NVD) 是最大的公开漏洞情报来源。它由美国国家标准与技术研究院 (NIST) 的一个小组维护,并以 MITRE 和其他机构的工作为基础。NVD 中的漏洞称为常见漏洞和暴露 (CVE)。从 1990 年代到现在,NVD 中记录了超过 100,000 个 CVE。", @@ -282,16 +291,7 @@ "vulnsource_osv_base_url": "OSV 基本 URL", "welcome_message": "欢迎辞", "welcome_message_desc": "自定义用户登录前 Dependency-Track 起始页上显示的欢迎消息。", - "welcome_message_enable": "启用欢迎消息", - "composer_advisories": "作曲家咨询(Beta)", - "composer_repositories": "作曲家存储库", - "description": "描述", - "documentation": "文档", - "repository_advisory_alias_sync_toggle": "启用安全咨询别名同步", - "repository_advisory_mirroring_enabled": "咨询同步", - "repository_advisory_mirroring_toggle": "启用安全咨询的镜像(Beta)", - "vulnsource_composer_advisories_desc": "作曲家生态系统通过其作曲家存储库提供安全咨询。\n示例是https://packagist.org和https://packages.drupal.org/8。\n作曲家使用这些安全咨询来提供作曲家审计命令。", - "vulnsource_composer_to_enable": "可以通过其配置来启用Composer Advisory Rimeroring的镜像:" + "welcome_message_enable": "启用欢迎消息" }, "condition": { "forbidden": "禁止 (403)", From 3f47ca1988ecdb2cf7c434ea2b15f6be7e8e6217 Mon Sep 17 00:00:00 2001 From: Valentijn Scholten Date: Tue, 28 Jan 2025 13:25:03 +0100 Subject: [PATCH 20/20] prettier Signed-off-by: Valentijn Scholten --- src/i18n/locales/uk-UA.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/i18n/locales/uk-UA.json b/src/i18n/locales/uk-UA.json index 0115c571a..09a2a6ef0 100644 --- a/src/i18n/locales/uk-UA.json +++ b/src/i18n/locales/uk-UA.json @@ -215,6 +215,7 @@ "repository_advisory_alias_sync_enabled": "Увімкнути синхронізацію псевдонімів Security Advisory", "repository_advisory_alias_sync_toggle": "Увімкнути консультаційну синхронізацію консультацій з безпеки", "repository_advisory_mirroring_enabled": "Консультативна синхронізація", + "repository_advisory_mirroring_toggle": "Увімкнути дзеркальне відображення консультацій з безпеки (бета)", "repository_authentication": "Потрібна автентифікація", "repository_created": "Репозиторій створено", "repository_deleted": "Репозиторій видалено", @@ -276,6 +277,7 @@ "vulndb": "VulnDB", "vulnsource_alias_sync_enable": "Увімкнути синхронізацію псевдонімів уразливостей", "vulnsource_alias_sync_enable_tooltip": "Дані про псевдоніми можуть допомогти виявити ідентичні вразливості в кількох базах даних. \nЯкщо джерело надає ці дані, синхронізуйте його з базою даних Dependency-Track.", + "vulnsource_composer_advisories_desc": "Екосистема композитора забезпечує консультації з безпеки через свої композиторні сховища. \nПрикладами є https://packagist.org та https://packages.drupal.org/8. \nЦі консультації з безпеки використовуються композитором для надання командної команди аудиту композитора.", "vulnsource_composer_to_enable": "Консультаційне дзеркальне відображення композитора може бути включене для сховища за допомогою його конфігурації:", "vulnsource_github_advisories_desc": "GitHub Advisories (GHSA) — це база даних CVE і порад щодо безпеки, створених GitHub, які впливають на світ з відкритим кодом. \nDependency-Track інтегрується з GHSA, віддзеркалюючи поради через загальнодоступний API GraphQL GitHub. \nДзеркало оновлюється щодня або після перезапуску екземпляра Dependency-Track. \nДля автентифікації за допомогою GitHub потрібен персональний маркер доступу (PAT), але йому не потрібно призначати жодні області.", "vulnsource_github_advisories_enable": "Увімкнути віддзеркалення GitHub Advisory",