@cccsaurora/howler-ui 2.17.0-dev.502 → 2.17.0-dev.513
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/index.d.ts +2 -0
- package/api/index.js +4 -2
- package/api/search/case.d.ts +4 -0
- package/api/search/case.js +8 -0
- package/api/search/index.d.ts +2 -1
- package/api/search/index.js +2 -1
- package/api/v2/case/index.d.ts +6 -0
- package/api/v2/case/index.js +18 -0
- package/api/v2/index.d.ts +4 -0
- package/api/v2/index.js +6 -0
- package/api/v2/search/facet.d.ts +3 -0
- package/api/v2/search/facet.js +12 -0
- package/api/v2/search/index.d.ts +6 -0
- package/api/v2/search/index.js +18 -0
- package/commons/components/leftnav/LeftNavDrawer.js +1 -1
- package/components/app/App.js +14 -0
- package/components/app/providers/FavouritesProvider.js +2 -2
- package/components/{routes/overviews/OverviewEditor.js → elements/MarkdownEditor.js} +3 -3
- package/components/elements/{hit/HitDetails.d.ts → ObjectDetails.d.ts} +2 -1
- package/components/elements/{hit/HitDetails.js → ObjectDetails.js} +14 -14
- package/components/elements/PluginTypography.d.ts +2 -1
- package/components/elements/PluginTypography.js +3 -2
- package/components/elements/UserList.d.ts +5 -2
- package/components/elements/UserList.js +14 -5
- package/components/elements/addons/search/phrase/Phrase.js +1 -1
- package/components/elements/display/HowlerCard.js +1 -1
- package/components/elements/hit/HitBanner.js +19 -31
- package/components/elements/hit/outlines/DefaultOutline.js +1 -1
- package/components/elements/view/ViewTitle.js +1 -1
- package/components/hooks/useHitSelection.js +1 -35
- package/components/hooks/useMyPreferences.js +10 -1
- package/components/hooks/useMySitemap.js +3 -1
- package/components/hooks/useMyTheme.js +9 -2
- package/components/routes/action/view/ActionSearch.js +1 -1
- package/components/routes/action/view/Integrations.js +1 -9
- package/components/routes/advanced/QueryBuilder.js +1 -1
- package/components/routes/analytics/AnalyticDetails.js +2 -2
- package/components/routes/analytics/AnalyticSearch.js +1 -1
- package/components/routes/cases/CaseCard.d.ts +8 -0
- package/components/routes/cases/CaseCard.js +34 -0
- package/components/routes/cases/CaseViewer.d.ts +2 -0
- package/components/routes/cases/CaseViewer.js +24 -0
- package/components/routes/cases/Cases.d.ts +2 -0
- package/components/routes/cases/Cases.js +101 -0
- package/components/routes/cases/constants.d.ts +5 -0
- package/components/routes/cases/constants.js +5 -0
- package/components/routes/cases/detail/AlertPanel.d.ts +6 -0
- package/components/routes/cases/detail/AlertPanel.js +32 -0
- package/components/routes/cases/detail/CaseDashboard.d.ts +7 -0
- package/components/routes/cases/detail/CaseDashboard.js +46 -0
- package/components/routes/cases/detail/CaseDetails.d.ts +6 -0
- package/components/routes/cases/detail/CaseDetails.js +49 -0
- package/components/routes/cases/detail/CaseOverview.d.ts +7 -0
- package/components/routes/cases/detail/CaseOverview.js +43 -0
- package/components/routes/cases/detail/CaseSidebar.d.ts +6 -0
- package/components/routes/cases/detail/CaseSidebar.js +36 -0
- package/components/routes/cases/detail/CaseTask.d.ts +10 -0
- package/components/routes/cases/detail/CaseTask.js +46 -0
- package/components/routes/cases/detail/ItemPage.d.ts +6 -0
- package/components/routes/cases/detail/ItemPage.js +93 -0
- package/components/routes/cases/detail/RelatedCasePanel.d.ts +6 -0
- package/components/routes/cases/detail/RelatedCasePanel.js +31 -0
- package/components/routes/cases/detail/TaskPanel.d.ts +7 -0
- package/components/routes/cases/detail/TaskPanel.js +23 -0
- package/components/routes/cases/detail/aggregates/CaseAggregate.d.ts +12 -0
- package/components/routes/cases/detail/aggregates/CaseAggregate.js +19 -0
- package/components/routes/cases/detail/aggregates/SourceAggregate.d.ts +6 -0
- package/components/routes/cases/detail/aggregates/SourceAggregate.js +27 -0
- package/components/routes/cases/detail/sidebar/CaseFolder.d.ts +12 -0
- package/components/routes/cases/detail/sidebar/CaseFolder.js +114 -0
- package/components/routes/cases/detail/sidebar/types.d.ts +3 -0
- package/components/routes/cases/hooks/useCase.d.ts +13 -0
- package/components/routes/cases/hooks/useCase.js +38 -0
- package/components/routes/help/ApiDocumentation.js +1 -1
- package/components/routes/help/HitDocumentation.js +1 -3
- package/components/routes/hits/search/HitContextMenu.js +4 -27
- package/components/routes/hits/search/HitContextMenu.test.js +0 -140
- package/components/routes/hits/search/InformationPane.d.ts +1 -0
- package/components/routes/hits/search/InformationPane.js +6 -29
- package/components/routes/hits/search/SearchPane.js +3 -5
- package/components/routes/hits/search/ViewLink.js +1 -1
- package/components/routes/hits/search/grid/EnhancedCell.js +1 -1
- package/components/routes/hits/view/HitViewer.js +3 -4
- package/components/routes/home/ViewCard.js +1 -1
- package/components/routes/observables/ObservableViewer.d.ts +7 -0
- package/components/routes/observables/ObservableViewer.js +27 -0
- package/components/routes/overviews/OverviewViewer.js +2 -2
- package/locales/en/translation.json +422 -397
- package/locales/fr/translation.json +429 -406
- package/models/entities/generated/AttachmentsFile.d.ts +12 -0
- package/models/entities/generated/Case.d.ts +28 -0
- package/models/entities/generated/DestinationOriginal.d.ts +19 -0
- package/models/entities/generated/EmailAttachment.d.ts +8 -0
- package/models/entities/generated/EmailParent.d.ts +19 -0
- package/models/entities/generated/Enrichments.d.ts +7 -0
- package/models/entities/generated/EnrichmentsIndicator.d.ts +21 -0
- package/models/entities/generated/Howler.d.ts +0 -4
- package/models/entities/generated/HttpResponse.d.ts +11 -0
- package/models/entities/generated/Item.d.ts +9 -0
- package/models/entities/generated/Observable.d.ts +84 -0
- package/models/entities/generated/ObservableCloud.d.ts +20 -0
- package/models/entities/generated/ObservableDestination.d.ts +23 -0
- package/models/entities/generated/ObservableEmail.d.ts +30 -0
- package/models/entities/generated/ObservableFile.d.ts +36 -0
- package/models/entities/generated/ObservableHowler.d.ts +44 -0
- package/models/entities/generated/ObservableHttp.d.ts +11 -0
- package/models/entities/generated/ObservableObserver.d.ts +21 -0
- package/models/entities/generated/ObservableOrganization.d.ts +7 -0
- package/models/entities/generated/ObservableProcess.d.ts +34 -0
- package/models/entities/generated/ObservableSource.d.ts +23 -0
- package/models/entities/generated/ObservableThreat.d.ts +21 -0
- package/models/entities/generated/ObservableTls.d.ts +12 -0
- package/models/entities/generated/ObserverIngress.d.ts +9 -0
- package/models/entities/generated/Rule.d.ts +2 -10
- package/models/entities/generated/Task.d.ts +10 -0
- package/models/entities/generated/Threat.d.ts +2 -2
- package/models/entities/generated/{Enrichment.d.ts → ThreatEnrichment.d.ts} +1 -1
- package/package.json +125 -114
- package/plugins/clue/components/ClueTypography.js +2 -2
- package/plugins/clue/utils.d.ts +2 -1
- package/components/elements/display/icons/BundleButton.d.ts +0 -6
- package/components/elements/display/icons/BundleButton.js +0 -32
- package/components/routes/action/view/markdown/integrations.en.md.js +0 -1
- package/components/routes/action/view/markdown/integrations.fr.md.js +0 -1
- package/components/routes/help/BundleDocumentation.d.ts +0 -3
- package/components/routes/help/BundleDocumentation.js +0 -12
- package/components/routes/help/markdown/en/bundles.md.js +0 -1
- package/components/routes/help/markdown/fr/bundles.md.js +0 -1
- package/components/routes/hits/search/BundleParentMenu.d.ts +0 -6
- package/components/routes/hits/search/BundleParentMenu.js +0 -32
- /package/components/{routes/overviews/OverviewEditor.d.ts → elements/MarkdownEditor.d.ts} +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
+
"*": "All values",
|
|
3
|
+
"actions.running": "Action \"{{action}}\" is executing.",
|
|
4
|
+
"actions.succeeded": "Action \"{{action}}\" completed successfully.",
|
|
5
|
+
"add": "Add",
|
|
2
6
|
"adminmenu": "Admin menu",
|
|
3
7
|
"adminmenu.config": "Configuration",
|
|
4
8
|
"adminmenu.users": "Users",
|
|
5
|
-
"add": "Add",
|
|
6
9
|
"all": "All",
|
|
7
|
-
"
|
|
10
|
+
"analytic.notebook.dropdown.none": "No specific detection",
|
|
11
|
+
"analytic.notebook.error.minFields": "Name and link are required.",
|
|
12
|
+
"analytic.notebook.link": "Link",
|
|
13
|
+
"analytic.notebook.name": "Name",
|
|
8
14
|
"any": "Any",
|
|
9
|
-
"asc": "Ascending",
|
|
10
|
-
"close": "Close",
|
|
11
|
-
"desc": "Descending",
|
|
12
|
-
"to": "to",
|
|
13
|
-
"actions.running": "Action \"{{action}}\" is executing.",
|
|
14
|
-
"actions.succeeded": "Action \"{{action}}\" completed successfully.",
|
|
15
|
-
"api.user.apikey.updated": "New API key added successfully.",
|
|
16
15
|
"api.user.apikey.removed": "API key removed successfully.",
|
|
16
|
+
"api.user.apikey.updated": "New API key added successfully.",
|
|
17
17
|
"api.user.email.updated": "User's email updated successfully.",
|
|
18
18
|
"api.user.name.updated": "User's name updated successfully.",
|
|
19
19
|
"api.user.quota.updated": "API quota updated successfully.",
|
|
@@ -27,6 +27,15 @@
|
|
|
27
27
|
"app.drawer.hit.assignment.success": "User assigned to hit sucessfully.",
|
|
28
28
|
"app.drawer.hit.assignment.unassigned.email": "Mark hit as unassigned",
|
|
29
29
|
"app.drawer.hit.assignment.unassigned.name": "Unassigned",
|
|
30
|
+
"app.drawer.user.apikey.description": "Randomly generated password used in scripts to gain limited data access for any combination of reading, writing, and making changes to your user account (extended keys).<br><br>Can also be used by others to impersonate your account when only permitting read/write permissions.",
|
|
31
|
+
"app.drawer.user.apikey.expiry.date": "Add Expiry Date",
|
|
32
|
+
"app.drawer.user.apikey.field.name": "Key Name",
|
|
33
|
+
"app.drawer.user.apikey.limit.description": "Due to the configuration of this Howler deployment, the permitted expiry date for API keys created now is very soon.",
|
|
34
|
+
"app.drawer.user.apikey.limit.title": "Warning: Short Expiry Duration",
|
|
35
|
+
"app.drawer.user.apikey.permissions": "Key Permissions",
|
|
36
|
+
"app.drawer.user.apikey.title": "Add API Key",
|
|
37
|
+
"app.drawer.user.groups.title": "Your Groups",
|
|
38
|
+
"app.drawer.user.roles.title": "Add Role",
|
|
30
39
|
"app.drawer.view.description.create": "Create a new view.",
|
|
31
40
|
"app.drawer.view.description.edit": "Edit an existing view.",
|
|
32
41
|
"app.drawer.view.global": "Global",
|
|
@@ -34,114 +43,109 @@
|
|
|
34
43
|
"app.drawer.view.personal": "Personal",
|
|
35
44
|
"app.drawer.view.query": "View Query",
|
|
36
45
|
"app.drawer.view.title": "View Name",
|
|
37
|
-
"app.drawer.user.apikey.description": "Randomly generated password used in scripts to gain limited data access for any combination of reading, writing, and making changes to your user account (extended keys).<br><br>Can also be used by others to impersonate your account when only permitting read/write permissions.",
|
|
38
|
-
"app.drawer.user.apikey.field.name": "Key Name",
|
|
39
|
-
"app.drawer.user.apikey.permissions": "Key Permissions",
|
|
40
|
-
"app.drawer.user.apikey.expiry.date": "Add Expiry Date",
|
|
41
|
-
"app.drawer.user.apikey.title": "Add API Key",
|
|
42
|
-
"app.drawer.user.apikey.limit.title": "Warning: Short Expiry Duration",
|
|
43
|
-
"app.drawer.user.apikey.limit.description": "Due to the configuration of this Howler deployment, the permitted expiry date for API keys created now is very soon.",
|
|
44
|
-
"app.drawer.user.roles.title": "Add Role",
|
|
45
|
-
"app.drawer.user.groups.title": "Your Groups",
|
|
46
46
|
"app.language": "Language",
|
|
47
|
+
"app.list.empty": "No Results",
|
|
47
48
|
"app.search.fullscreen": "Maximize Search",
|
|
48
49
|
"app.search.shortcut": "Open Search",
|
|
49
50
|
"app.search.starttyping": "Search by assignment, analytic, detection or status",
|
|
51
|
+
"asc": "Ascending",
|
|
50
52
|
"breadcrumb.404": "404",
|
|
51
53
|
"button.add": "Add",
|
|
52
54
|
"button.aggregate": "Aggregate",
|
|
53
55
|
"button.cancel": "Cancel",
|
|
56
|
+
"button.confirm": "Confirm",
|
|
54
57
|
"button.copy": "Copy",
|
|
55
58
|
"button.create": "Create",
|
|
56
59
|
"button.delete": "Delete",
|
|
57
60
|
"button.drag": "Drag",
|
|
58
61
|
"button.edit": "Edit",
|
|
59
62
|
"button.pin": "Pin",
|
|
63
|
+
"button.readonly": "Read Only",
|
|
60
64
|
"button.save": "Save",
|
|
61
65
|
"button.saved": "Saved",
|
|
62
|
-
"button.submit": "Submit",
|
|
63
66
|
"button.search": "Search",
|
|
64
|
-
"button.
|
|
65
|
-
"button.confirm": "Confirm",
|
|
67
|
+
"button.submit": "Submit",
|
|
66
68
|
"clipboard.failure": "could not be copied to clipboard",
|
|
67
69
|
"clipboard.success": "was copied to clipboard.",
|
|
70
|
+
"close": "Close",
|
|
68
71
|
"comments.add": "Add Comment",
|
|
69
|
-
"comments.add.detection": "Add Comment to Detection",
|
|
70
72
|
"comments.add.analytic": "Add Comment to Analytic",
|
|
73
|
+
"comments.add.detection": "Add Comment to Detection",
|
|
74
|
+
"comments.analytic": "Analytic Comments ({{count}})",
|
|
75
|
+
"comments.analytic.hide": "Hide Analytic Comments",
|
|
76
|
+
"comments.analytic.show": "Show Analytic Comments",
|
|
71
77
|
"comments.delete": "Delete",
|
|
72
78
|
"comments.edit": "Edit",
|
|
73
79
|
"comments.edit.stop": "Stop Editing",
|
|
74
80
|
"comments.edited": "Edited",
|
|
75
81
|
"comments.quote": "Quote Reply",
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"comments.analytic.hide": "Hide Analytic Comments",
|
|
82
|
+
"complete": "Complete",
|
|
83
|
+
"crisis": "Crisis",
|
|
79
84
|
"custom": "Custom",
|
|
80
|
-
"documentation.open.actions": "Actions are a feature in Howler that allow users to perform particular tasks on a large number of hits, through automating the execution of a task on each hit. Click for additional documentation.",
|
|
81
|
-
"documentation.open.search": "Search allows you to query Howler and view the matching hits. Click for additional documentation.",
|
|
82
|
-
"documentation.open.views": "Views are a feature in Howler that allow users to create custom, default queries through which they can organize and triage hits. Click for additional documentation.",
|
|
83
|
-
"documentation.open.templates": "Howler allows analysts and detection engineers to create templates, which allow various analytics and their detections to present fields and data relevant to triaging alerts generated by that analytic/detection. Click for additional documentation.",
|
|
84
|
-
"duplicates.omitted": "Some duplicate entries have been omitted.",
|
|
85
|
-
"rule.interval": "Rule Execution Interval",
|
|
86
|
-
"rule.interval.edit": "Edit Interval",
|
|
87
|
-
"rule.interval.save": "Save Interval",
|
|
88
|
-
"rule.interval.five.minutes": "Every five minutes",
|
|
89
|
-
"rule.interval.thirty.minutes": "Every thirty minutes",
|
|
90
|
-
"rule.interval.one.hour": "Every one hour",
|
|
91
|
-
"rule.interval.three.hours": "Every three hours",
|
|
92
|
-
"rule.interval.six.hours": "Every six hours",
|
|
93
|
-
"rule.interval.one.day": "Every one day",
|
|
94
85
|
"date.range.1.day": "The last day",
|
|
95
|
-
"date.range.3.day": "The last three days",
|
|
96
|
-
"date.range.1.week": "The last week",
|
|
97
86
|
"date.range.1.month": "The last month",
|
|
87
|
+
"date.range.1.week": "The last week",
|
|
88
|
+
"date.range.3.day": "The last three days",
|
|
98
89
|
"date.range.all": "All Dates",
|
|
99
90
|
"date.range.custom": "Custom Date",
|
|
100
|
-
"date.select.start": "Start Date",
|
|
101
|
-
"date.select.end": "End Date",
|
|
102
91
|
"date.search.range": "Search Date Range",
|
|
92
|
+
"date.select.end": "End Date",
|
|
93
|
+
"date.select.start": "Start Date",
|
|
103
94
|
"deprecated": "Deprecated",
|
|
95
|
+
"deprecation.instructions": "Upgrade Instructions",
|
|
96
|
+
"desc": "Descending",
|
|
104
97
|
"description": "Description",
|
|
105
|
-
"divider": "OR",
|
|
106
98
|
"direction": "Direction",
|
|
107
|
-
"
|
|
99
|
+
"divider": "OR",
|
|
100
|
+
"documentation.open.actions": "Actions are a feature in Howler that allow users to perform particular tasks on a large number of hits, through automating the execution of a task on each hit. Click for additional documentation.",
|
|
101
|
+
"documentation.open.search": "Search allows you to query Howler and view the matching hits. Click for additional documentation.",
|
|
102
|
+
"documentation.open.templates": "Howler allows analysts and detection engineers to create templates, which allow various analytics and their detections to present fields and data relevant to triaging alerts generated by that analytic/detection. Click for additional documentation.",
|
|
103
|
+
"documentation.open.views": "Views are a feature in Howler that allow users to create custom, default queries through which they can organize and triage hits. Click for additional documentation.",
|
|
104
|
+
"drawer.apikey.copied": "New key copied to clipboard!",
|
|
108
105
|
"drawer.collapse": "Collapse Menu",
|
|
109
106
|
"drawer.expand": "Expand Menu",
|
|
110
|
-
"
|
|
107
|
+
"duplicates.omitted": "Some duplicate entries have been omitted.",
|
|
111
108
|
"edit": "Edit",
|
|
112
|
-
"features.warning.title": "Feature In Active Development",
|
|
113
109
|
"features.warning.description": "This feature is undergoing active development, and is not yet in a finished state. You may encounter bugs or instability.",
|
|
110
|
+
"features.warning.title": "Feature In Active Development",
|
|
111
|
+
"focus": "Main focus",
|
|
112
|
+
"global": "Global",
|
|
113
|
+
"help.actions.introduction": "Introduction to Actions",
|
|
114
|
+
"help.hit.banner.description": "See the below hit banner example for the hit keys necessary to properly populate it. If you have any additional questions, ask in the HOWLER support channel.",
|
|
115
|
+
"help.hit.banner.json": "Here is the hit data used to populate this banner:",
|
|
116
|
+
"help.hit.banner.title": "Populating the Hit Banner",
|
|
117
|
+
"help.hit.bundle.title": "Hit Bundles",
|
|
118
|
+
"help.hit.labels.title": "Hit Labels",
|
|
119
|
+
"help.hit.links.title": "Hit Links",
|
|
120
|
+
"help.hit.schema.description.missing": "No description provided.",
|
|
121
|
+
"help.hit.schema.regex": "Validation Regex",
|
|
122
|
+
"help.hit.schema.search.prompt": "Filter Fields",
|
|
123
|
+
"help.hit.schema.table.assemblyline": "Assemblyline Fields",
|
|
124
|
+
"help.hit.schema.table.description": "Description",
|
|
125
|
+
"help.hit.schema.table.ecs": "ECS Fields",
|
|
126
|
+
"help.hit.schema.table.howler": "Howler Fields",
|
|
127
|
+
"help.hit.schema.table.name": "Field",
|
|
128
|
+
"help.hit.schema.table.type": "Type",
|
|
129
|
+
"help.hit.schema.title": "Hit Schema",
|
|
130
|
+
"help.hit.schema.values": "Accepted Values",
|
|
114
131
|
"hit.actions.conflict.assess": "Someone else has already assessed this hit.",
|
|
115
132
|
"hit.actions.conflict.manage": "Someone else has already interacted with this hit. Please try again.",
|
|
116
|
-
"hit.
|
|
117
|
-
"hit.
|
|
118
|
-
"hit.label.category.insight": "Category: Insight - An analyst has gained a useful insight that they are confident will remain true for future alerts if the surrounding circumstances remain the same.",
|
|
119
|
-
"hit.label.category.victim": "Category: Victim - Hits produced from a victim notification stream can have a label that identifies the victim organization that needs to be notified.",
|
|
120
|
-
"hit.label.category.campaign": "Catergory: Campaign - Identifies ongoing campaigns from specific malware families or phishing initiatives. They should only be considered correct attributions if the hit is promoted to evidence.",
|
|
121
|
-
"hit.label.category.threat": "Category: Threat - Identifies that the hit has been attributed to a known threat actor or group.",
|
|
122
|
-
"hit.label.category.operation": "Category: Operation - The hit is related to an ongoing operation and should be scrutinized with special considerations and a broader understanding of the current circumstances.",
|
|
123
|
-
"hit.label.category.generic": "Category: Generic - A catch-all for any labels added that don't match another category.",
|
|
124
|
-
"hit.label.category.assignments": "Category: Assignments - Specifies what analyst or team of analysts is assigned to triaging this hit.",
|
|
125
|
-
"hit.label.category.tuning": "Category: Tuning - Identifies which hits are already understood and should get triaged automatically.",
|
|
126
|
-
"hit.label.edit": "Manage labels",
|
|
127
|
-
"hit.label.edit.add.error.empty": "Can't add an empty label",
|
|
128
|
-
"hit.label.edit.add.error.duplicate": "Duplicated label not allowed",
|
|
129
|
-
"hit.label.edit.add.category": "New Label Category",
|
|
130
|
-
"hit.label.edit.add.label": "New label value",
|
|
131
|
-
"hit.details.actions.assessment": "Assess",
|
|
132
|
-
"hit.details.actions.assessment.noassessment": "No Assessment",
|
|
133
|
-
"hit.details.actions.assign": "Assign Hit",
|
|
133
|
+
"hit.bundle.close": "Close Bundle",
|
|
134
|
+
"hit.bundle.parents.show": "Show Parent Bundles",
|
|
134
135
|
"hit.details.actions.action": "Manage",
|
|
135
|
-
"hit.details.actions.action.
|
|
136
|
+
"hit.details.actions.action.assign_to_me": "Assign to Me",
|
|
136
137
|
"hit.details.actions.action.assign_to_other": "Delegate",
|
|
137
|
-
"hit.details.actions.action.
|
|
138
|
-
"hit.details.actions.action.start": "Start",
|
|
138
|
+
"hit.details.actions.action.demote": "Demote",
|
|
139
139
|
"hit.details.actions.action.pause": "Pause",
|
|
140
|
-
"hit.details.actions.action.resume": "Resume",
|
|
141
|
-
"hit.details.actions.action.assign_to_me": "Assign to Me",
|
|
142
|
-
"hit.details.actions.action.re_evaluate": "Re-evaluate",
|
|
143
140
|
"hit.details.actions.action.promote": "Promote",
|
|
144
|
-
"hit.details.actions.action.
|
|
141
|
+
"hit.details.actions.action.re_evaluate": "Re-evaluate",
|
|
142
|
+
"hit.details.actions.action.release": "Release",
|
|
143
|
+
"hit.details.actions.action.resume": "Resume",
|
|
144
|
+
"hit.details.actions.action.start": "Start",
|
|
145
|
+
"hit.details.actions.action.vote": "Vote",
|
|
146
|
+
"hit.details.actions.assessment": "Assess",
|
|
147
|
+
"hit.details.actions.assessment.noassessment": "No Assessment",
|
|
148
|
+
"hit.details.actions.assign": "Assign Hit",
|
|
145
149
|
"hit.details.actions.vote": "Vote",
|
|
146
150
|
"hit.details.actions.vote.novote": "No Vote",
|
|
147
151
|
"hit.details.asessments.ambiguous.description": "The nature of the hit was not successfully determined based on available data.",
|
|
@@ -157,10 +161,10 @@
|
|
|
157
161
|
"hit.details.forceDropdown": "Dropdown View",
|
|
158
162
|
"hit.details.shortcuts": "Shortcut Settings",
|
|
159
163
|
"hit.details.title": "Details",
|
|
164
|
+
"hit.fields": "Fields",
|
|
160
165
|
"hit.header.assignment": "Assignment: {{user}}",
|
|
161
166
|
"hit.header.assignment.add": "Assign to a user",
|
|
162
167
|
"hit.header.assignment.change": "Change assignment",
|
|
163
|
-
"hit.header.bundlesize": "{{hits}} hits",
|
|
164
168
|
"hit.header.escalation": "Escalation Level: ",
|
|
165
169
|
"hit.header.indicators": "Indicators",
|
|
166
170
|
"hit.header.rationale": "Rationale",
|
|
@@ -170,113 +174,103 @@
|
|
|
170
174
|
"hit.header.target": "Target",
|
|
171
175
|
"hit.header.threat": "Threat",
|
|
172
176
|
"hit.header.votes": "Votes: ",
|
|
177
|
+
"hit.howler.related": "{{count}} related records",
|
|
178
|
+
"hit.label": "Labels",
|
|
179
|
+
"hit.label.category.assignments": "Category: Assignments - Specifies what analyst or team of analysts is assigned to triaging this hit.",
|
|
180
|
+
"hit.label.category.campaign": "Catergory: Campaign - Identifies ongoing campaigns from specific malware families or phishing initiatives. They should only be considered correct attributions if the hit is promoted to evidence.",
|
|
181
|
+
"hit.label.category.generic": "Category: Generic - A catch-all for any labels added that don't match another category.",
|
|
182
|
+
"hit.label.category.insight": "Category: Insight - An analyst has gained a useful insight that they are confident will remain true for future alerts if the surrounding circumstances remain the same.",
|
|
183
|
+
"hit.label.category.mitigation": "Category: Mitigation - This label captures what efforts were undertaken to mitigate a compromise.",
|
|
184
|
+
"hit.label.category.operation": "Category: Operation - The hit is related to an ongoing operation and should be scrutinized with special considerations and a broader understanding of the current circumstances.",
|
|
185
|
+
"hit.label.category.threat": "Category: Threat - Identifies that the hit has been attributed to a known threat actor or group.",
|
|
186
|
+
"hit.label.category.tuning": "Category: Tuning - Identifies which hits are already understood and should get triaged automatically.",
|
|
187
|
+
"hit.label.category.victim": "Category: Victim - Hits produced from a victim notification stream can have a label that identifies the victim organization that needs to be notified.",
|
|
188
|
+
"hit.label.edit": "Manage labels",
|
|
189
|
+
"hit.label.edit.add.category": "New Label Category",
|
|
190
|
+
"hit.label.edit.add.error.duplicate": "Duplicated label not allowed",
|
|
191
|
+
"hit.label.edit.add.error.empty": "Can't add an empty label",
|
|
192
|
+
"hit.label.edit.add.label": "New label value",
|
|
193
|
+
"hit.notebook.confirm.dialog": "A notebook with that name already exists in your environment, do you wish to overwrite it?",
|
|
194
|
+
"hit.notebook.confirm.title": "Overwrite existing notebook?",
|
|
195
|
+
"hit.notebook.error.failToPost": "Failed to send notebook to Jupyterhub, make sure your user environment is running.",
|
|
196
|
+
"hit.notebook.goTo": "Go to Jupyterhub",
|
|
197
|
+
"hit.notebook.select": "Please Select a notebook",
|
|
198
|
+
"hit.notebook.tooltip": "Open in Jupyterhub",
|
|
173
199
|
"hit.overview.missing": "No overview has been created for this hit. In order to create an overview, press the add button to the right.",
|
|
174
200
|
"hit.panel.aggregation.run": "Create Summary",
|
|
175
201
|
"hit.panel.analytic.open": "Open Analytic",
|
|
176
202
|
"hit.panel.bundles.open": "Parent Bundles",
|
|
177
203
|
"hit.panel.bundles.open.prompt": "Open Parent Bundle",
|
|
178
|
-
"hit.panel.details.show": "Show Hit Details",
|
|
179
|
-
"hit.panel.details.hide": "Hide Hit Details",
|
|
180
|
-
"hit.panel.details.exit": "Close Hit",
|
|
181
|
-
"hit.panel.open": "Open Hit Viewer",
|
|
182
204
|
"hit.panel.close": "Close",
|
|
183
|
-
"hit.panel.hit.noselection": "No hit has been selected",
|
|
184
|
-
"hit.panel.exclude": "Exclude By",
|
|
185
|
-
"hit.panel.include": "Include By",
|
|
186
205
|
"hit.panel.details.cluster": "Cluster Size",
|
|
187
206
|
"hit.panel.details.cluster.description": "Size of the cluster",
|
|
207
|
+
"hit.panel.details.exit": "Close Hit",
|
|
208
|
+
"hit.panel.details.hide": "Hide Hit Details",
|
|
188
209
|
"hit.panel.details.no.subjects": "No subjects found",
|
|
189
|
-
"hit.
|
|
190
|
-
"hit.
|
|
191
|
-
"hit.
|
|
192
|
-
"hit.
|
|
193
|
-
"hit.notebook.tooltip": "Open in Jupyterhub",
|
|
194
|
-
"hit.notebook.error.failToPost": "Failed to send notebook to Jupyterhub, make sure your user environment is running.",
|
|
195
|
-
"hit.summary.title": "Summary of Hits Over Time",
|
|
196
|
-
"hit.summary.subtitle": "Limited to a maximum of 10 000 hits.",
|
|
197
|
-
"hit.summary.aggregate.sources": "Associated Templates:",
|
|
198
|
-
"hit.summary.aggregate.title": "Query Summary Pane",
|
|
199
|
-
"hit.summary.aggregate.nokeys.title": "No keys selected for faceting",
|
|
200
|
-
"hit.summary.aggregate.nokeys.description": "Your current search query does not show any hits with templates set. As the values chosen in the hit templates are what populates this section, no results will be shown.",
|
|
201
|
-
"hit.summary.filter.field": "Group By Field",
|
|
202
|
-
"hit.summary.filter.escalation": "Filter By Escalation",
|
|
203
|
-
"hit.summary.refresh": "Refresh Graph",
|
|
204
|
-
"hit.summary.render.limit": "Results Rendered Limited to {{number}} points",
|
|
205
|
-
"hit.summary.render.limit.description": "For performance reasons, a maximum of {{number}} points are shown by default. To show up to {{max}} points, press \"Allow More\".",
|
|
206
|
-
"hit.summary.render.limit.override": "Allow More",
|
|
207
|
-
"hit.summary.server.limit": "Cannot Summarize on {{number}} Hits",
|
|
208
|
-
"hit.summary.server.limit.description": "Due to the complexity of the query, queries larger than {{max}} results cannot be summarized. Refine your query to enable summarization.",
|
|
209
|
-
"hit.summary.zoom.reset": "Reset Zoom",
|
|
210
|
-
"hit.summary.adhoc": "Add Custom Field",
|
|
211
|
-
"hit.summary.adhoc.custom": "Custom Field",
|
|
212
|
-
"analytic.notebook.link": "Link",
|
|
213
|
-
"analytic.notebook.name": "Name",
|
|
214
|
-
"analytic.notebook.dropdown.none": "No specific detection",
|
|
215
|
-
"analytic.notebook.error.minFields": "Name and link are required.",
|
|
216
|
-
"hit.bundle.parents.show": "Show Parent Bundles",
|
|
217
|
-
"hit.bundle.close": "Close Bundle",
|
|
218
|
-
"hit.fields": "Fields",
|
|
219
|
-
"help.hit.bundle.title": "Hit Bundles",
|
|
220
|
-
"help.hit.banner.title": "Populating the Hit Banner",
|
|
221
|
-
"help.hit.banner.description": "See the below hit banner example for the hit keys necessary to properly populate it. If you have any additional questions, ask in the HOWLER support channel.",
|
|
222
|
-
"help.hit.banner.json": "Here is the hit data used to populate this banner:",
|
|
223
|
-
"help.hit.labels.title": "Hit Labels",
|
|
224
|
-
"help.hit.links.title": "Hit Links",
|
|
225
|
-
"help.hit.schema.title": "Hit Schema",
|
|
226
|
-
"help.actions.introduction": "Introduction to Actions",
|
|
227
|
-
"help.hit.schema.description.missing": "No description provided.",
|
|
228
|
-
"help.hit.schema.search.prompt": "Filter Fields",
|
|
229
|
-
"help.hit.schema.regex": "Validation Regex",
|
|
230
|
-
"help.hit.schema.values": "Accepted Values",
|
|
231
|
-
"help.hit.schema.table.assemblyline": "Assemblyline Fields",
|
|
232
|
-
"help.hit.schema.table.ecs": "ECS Fields",
|
|
233
|
-
"help.hit.schema.table.howler": "Howler Fields",
|
|
234
|
-
"help.hit.schema.table.name": "Field",
|
|
235
|
-
"help.hit.schema.table.type": "Type",
|
|
236
|
-
"help.hit.schema.table.description": "Description",
|
|
210
|
+
"hit.panel.details.show": "Show Hit Details",
|
|
211
|
+
"hit.panel.exclude": "Exclude By",
|
|
212
|
+
"hit.panel.hit.noselection": "No hit has been selected",
|
|
213
|
+
"hit.panel.open": "Open Hit Viewer",
|
|
237
214
|
"hit.quicksearch": "Search by assignment, analytic, detection or status",
|
|
238
|
-
"hit.search.
|
|
215
|
+
"hit.search.aggregate.button": "Create Summary",
|
|
216
|
+
"hit.search.button": "Perform search",
|
|
217
|
+
"hit.search.custom": "Custom Sort",
|
|
218
|
+
"hit.search.filter.add": "Add filter",
|
|
219
|
+
"hit.search.filter.button": "Use lookup filters with predefined values",
|
|
220
|
+
"hit.search.filter.fields": "Fields",
|
|
221
|
+
"hit.search.filter.label": "Lookup Filters",
|
|
222
|
+
"hit.search.filter.values": "Values",
|
|
239
223
|
"hit.search.invalid": "Invalid Query",
|
|
240
224
|
"hit.search.keyboard": "Keyboard shortcuts",
|
|
241
225
|
"hit.search.keyboard.no_shortcuts": "No shortcuts",
|
|
242
226
|
"hit.search.keyboard.shortcuts": "Shortcuts",
|
|
243
227
|
"hit.search.keyboard.shortcuts_hints": "Shortcuts with hints",
|
|
244
|
-
"hit.search.
|
|
245
|
-
"hit.search.button": "Perform search",
|
|
246
|
-
"hit.search.custom": "Custom Sort",
|
|
247
|
-
"hit.search.aggregate.button": "Create Summary",
|
|
248
|
-
"hit.search.filter.fields": "Fields",
|
|
249
|
-
"hit.search.filter.values": "Values",
|
|
250
|
-
"hit.search.filter.button": "Use lookup filters with predefined values",
|
|
251
|
-
"hit.search.filter.label": "Lookup Filters",
|
|
252
|
-
"hit.search.filter.add": "Add filter",
|
|
228
|
+
"hit.search.prompt": "Search by providing a lucene query. Activate autocomplete using [ctrl + space].",
|
|
253
229
|
"hit.search.save.button": "Save query as view",
|
|
254
230
|
"hit.search.save.view": "Save View",
|
|
255
|
-
"hit.search.sort.button": "Sort Results",
|
|
256
|
-
"hit.search.sort.fields": "Sort Field",
|
|
257
|
-
"hit.search.span": "Timespan",
|
|
258
231
|
"hit.search.select.all": "Select all hits on page",
|
|
259
232
|
"hit.search.select.clear": "Clear Selection",
|
|
260
233
|
"hit.search.selected": "{{size}} selected",
|
|
234
|
+
"hit.search.settings": "Settings",
|
|
235
|
+
"hit.search.sort.button": "Sort Results",
|
|
236
|
+
"hit.search.sort.fields": "Sort Field",
|
|
237
|
+
"hit.search.span": "Timespan",
|
|
261
238
|
"hit.search.view.add": "Add view",
|
|
262
239
|
"hit.search.view.current": "Current View",
|
|
263
240
|
"hit.search.view.default": "(Default)",
|
|
264
|
-
"hit.search.view.select": "Select View",
|
|
265
241
|
"hit.search.view.remove": "Remove View",
|
|
266
|
-
"hit.
|
|
267
|
-
"hit.
|
|
242
|
+
"hit.search.view.select": "Select View",
|
|
243
|
+
"hit.summary.adhoc": "Add Custom Field",
|
|
244
|
+
"hit.summary.adhoc.custom": "Custom Field",
|
|
245
|
+
"hit.summary.aggregate.nokeys.description": "Your current search query does not show any hits with templates set. As the values chosen in the hit templates are what populates this section, no results will be shown.",
|
|
246
|
+
"hit.summary.aggregate.nokeys.title": "No keys selected for faceting",
|
|
247
|
+
"hit.summary.aggregate.sources": "Associated Templates:",
|
|
248
|
+
"hit.summary.aggregate.title": "Query Summary Pane",
|
|
249
|
+
"hit.summary.filter.escalation": "Filter By Escalation",
|
|
250
|
+
"hit.summary.filter.field": "Group By Field",
|
|
251
|
+
"hit.summary.refresh": "Refresh Graph",
|
|
252
|
+
"hit.summary.render.limit": "Results Rendered Limited to {{number}} points",
|
|
253
|
+
"hit.summary.render.limit.description": "For performance reasons, a maximum of {{number}} points are shown by default. To show up to {{max}} points, press \"Allow More\".",
|
|
254
|
+
"hit.summary.render.limit.override": "Allow More",
|
|
255
|
+
"hit.summary.server.limit": "Cannot Summarize on {{number}} Hits",
|
|
256
|
+
"hit.summary.server.limit.description": "Due to the complexity of the query, queries larger than {{max}} results cannot be summarized. Refine your query to enable summarization.",
|
|
257
|
+
"hit.summary.subtitle": "Limited to a maximum of 10 000 hits.",
|
|
258
|
+
"hit.summary.title": "Summary of Hits Over Time",
|
|
259
|
+
"hit.summary.zoom.reset": "Reset Zoom",
|
|
260
|
+
"hit.viewer.aggregate": "Summary",
|
|
261
|
+
"hit.viewer.comments": "Comments",
|
|
268
262
|
"hit.viewer.data": "Raw Data",
|
|
269
263
|
"hit.viewer.details": "Details",
|
|
270
264
|
"hit.viewer.json": "JSON",
|
|
271
265
|
"hit.viewer.overview": "Overview",
|
|
272
|
-
"hit.viewer.worklog": "Worklog",
|
|
273
266
|
"hit.viewer.related": "Related Links",
|
|
274
267
|
"hit.viewer.reload": "Reload",
|
|
268
|
+
"hit.viewer.worklog": "Worklog",
|
|
275
269
|
"hit.worklog.appended": "added to",
|
|
270
|
+
"hit.worklog.new": "New Updates",
|
|
276
271
|
"hit.worklog.removed": "removed from",
|
|
277
272
|
"hit.worklog.set": "updated to",
|
|
278
273
|
"hit.worklog.updated": "Updated",
|
|
279
|
-
"hit.worklog.new": "New Updates",
|
|
280
274
|
"home.title": "My Assigned Hits",
|
|
281
275
|
"json.viewer.search.label": "Search JSON Data",
|
|
282
276
|
"json.viewer.search.prompt": "Query must be a valid regex.",
|
|
@@ -284,79 +278,94 @@
|
|
|
284
278
|
"lead.invalid.description": "The selected lead does not match any type Howler recognizes, and therefore will not be rendered.",
|
|
285
279
|
"link.open": "Open Link",
|
|
286
280
|
"list": "list",
|
|
281
|
+
"live.closed": "Not connected to live server.",
|
|
282
|
+
"live.closing": "Closing connection to live server.",
|
|
287
283
|
"live.connecting": "Trying to reconnect to live server.",
|
|
288
284
|
"live.open": "Connected to live server. Updates to alerts will be automatically applied.",
|
|
289
|
-
"live.closing": "Closing connection to live server.",
|
|
290
|
-
"live.closed": "Not connected to live server.",
|
|
291
285
|
"loading": "Loading...",
|
|
292
286
|
"manage": "Manage",
|
|
287
|
+
"markdown.actionbutton.error": "You must provide two arguments: action id and hit id.",
|
|
293
288
|
"markdown.error": "An Error Has Occurred.",
|
|
294
289
|
"markdown.json.invalid": "Invalid JSON Provided. Consider using the {{json <data>}} utility to convert objects into JSON strings.",
|
|
295
290
|
"markdown.props.missing": "You are missing keyword arguments for this helper:",
|
|
296
|
-
"markdown.actionbutton.error": "You must provide two arguments: action id and hit id.",
|
|
297
|
-
"modal.action.title": "Save Action",
|
|
298
291
|
"modal.action.description": "Provide a name that allows other users to identify the purpose of this action.",
|
|
299
292
|
"modal.action.empty": "Action Name cannot be empty.",
|
|
300
293
|
"modal.action.label": "Action Name",
|
|
301
|
-
"modal.
|
|
294
|
+
"modal.action.title": "Save Action",
|
|
302
295
|
"modal.confirm.delete.description": "Are you sure you want to delete this item?",
|
|
303
|
-
"modal.
|
|
304
|
-
"modal.rule.description": "Create a new rule by giving it a name, markdown description and submitting.",
|
|
305
|
-
"modal.rule.name": "Rule Name",
|
|
306
|
-
"modal.rule.name.warn": "In general, analytic name should only contain letters and spaces, preferablly 'In Pascal Case'.",
|
|
307
|
-
"modal.rule.description.title": "Rule Description",
|
|
308
|
-
"modal.rule.file.title": "Query",
|
|
309
|
-
"modal.rule.markdown.title": "Markdown Preview",
|
|
310
|
-
"modal.rule.markdown.placeholder": "Your *markdown* **description** will be ~~rendered~~ here.\n\n",
|
|
311
|
-
"modal.rule.disabled.analytic": "You must provide a rule name.",
|
|
312
|
-
"modal.rule.disabled.description": "You must provide a useful markdown description for your rule.",
|
|
313
|
-
"modal.rule.success": "Rule Created!",
|
|
314
|
-
"modal.rationale.title": "Add Rationale",
|
|
296
|
+
"modal.confirm.delete.title": "Confirm Deletion",
|
|
315
297
|
"modal.rationale.description": "Provide a rationale that succinctly explains to other analysts why you are confident in this assessment.",
|
|
316
298
|
"modal.rationale.label": "Rationale",
|
|
299
|
+
"modal.rationale.title": "Add Rationale",
|
|
317
300
|
"modal.rationale.type.analytic": "This rationale was used when assessing alerts with the same analytic name.",
|
|
318
301
|
"modal.rationale.type.assignment": "This is a rationale you have recently used when assessing an alert.",
|
|
319
302
|
"modal.rationale.type.preset": "This is a preset rationale configured for the associated analytic.",
|
|
320
|
-
"
|
|
303
|
+
"modal.rule.description": "Create a new rule by giving it a name, markdown description and submitting.",
|
|
304
|
+
"modal.rule.description.title": "Rule Description",
|
|
305
|
+
"modal.rule.disabled.analytic": "You must provide a rule name.",
|
|
306
|
+
"modal.rule.disabled.description": "You must provide a useful markdown description for your rule.",
|
|
307
|
+
"modal.rule.file.title": "Query",
|
|
308
|
+
"modal.rule.markdown.placeholder": "Your *markdown* **description** will be ~~rendered~~ here.\n\n",
|
|
309
|
+
"modal.rule.markdown.title": "Markdown Preview",
|
|
310
|
+
"modal.rule.name": "Rule Name",
|
|
311
|
+
"modal.rule.name.warn": "In general, analytic name should only contain letters and spaces, preferablly 'In Pascal Case'.",
|
|
312
|
+
"modal.rule.success": "Rule Created!",
|
|
313
|
+
"modal.rule.title": "Create a New Rule",
|
|
321
314
|
"no.data": "No Data",
|
|
315
|
+
"none": "None",
|
|
316
|
+
"normal": "Normal Priority",
|
|
322
317
|
"on": "on",
|
|
323
318
|
"open": "Open",
|
|
324
|
-
"owner": "Owner",
|
|
325
319
|
"operations.add_label": "Add Label",
|
|
326
320
|
"operations.add_to_bundle": "Add to Bundle",
|
|
327
|
-
"operations.remove_label": "Remove Label",
|
|
328
|
-
"operations.remove_from_bundle": "Remove from Bundle",
|
|
329
|
-
"operations.prioritization": "Change Prioritization",
|
|
330
321
|
"operations.change_field": "Change Field",
|
|
331
|
-
"operations.transition": "Execute Transition",
|
|
332
|
-
"operations.promote": "Promote Hit",
|
|
333
322
|
"operations.demote": "Demote Hit",
|
|
323
|
+
"operations.prioritization": "Change Prioritization",
|
|
324
|
+
"operations.promote": "Promote Hit",
|
|
325
|
+
"operations.remove_from_bundle": "Remove from Bundle",
|
|
326
|
+
"operations.remove_label": "Remove Label",
|
|
327
|
+
"operations.transition": "Execute Transition",
|
|
334
328
|
"outline.assemblyline.beacons": "Beacons",
|
|
335
329
|
"outline.assemblyline.file_path": "File Path",
|
|
336
330
|
"outline.assemblyline.last_modified": "Last Modified",
|
|
337
331
|
"outline.assemblyline.tags": "Tags",
|
|
338
332
|
"overview.search": "Search Hit Data",
|
|
333
|
+
"owner": "Owner",
|
|
339
334
|
"page.404.description": "The page you are looking for cannot be found...",
|
|
340
335
|
"page.404.title": "404: Not found",
|
|
341
|
-
"page.
|
|
342
|
-
"page.
|
|
343
|
-
"page.
|
|
336
|
+
"page.cases.created": "Created",
|
|
337
|
+
"page.cases.dashboard": "Dashboard",
|
|
338
|
+
"page.cases.dashboard.alerts": "Alerts",
|
|
339
|
+
"page.cases.dashboard.duration": "Duration",
|
|
340
|
+
"page.cases.dashboard.indicators": "Indicators",
|
|
341
|
+
"page.cases.dashboard.target": "Targets",
|
|
342
|
+
"page.cases.dashboard.tasks": "Tasks",
|
|
343
|
+
"page.cases.dashboard.threat": "Threats",
|
|
344
|
+
"page.cases.detail.participants": "Participants",
|
|
345
|
+
"page.cases.detail.properties": "Properties",
|
|
346
|
+
"page.cases.detail.status": "Status",
|
|
347
|
+
"page.cases.escalation": "Escalation",
|
|
348
|
+
"page.cases.sources": "Sources",
|
|
349
|
+
"page.cases.updated": "Updated",
|
|
344
350
|
"page.dashboard.title": "Dashboard",
|
|
345
351
|
"page.documentation.categories": "API Categories",
|
|
346
352
|
"page.documentation.categories.category": "Category",
|
|
347
353
|
"page.documentation.categories.description": "Description",
|
|
348
|
-
"page.documentation.endpoints": "API Endpoints",
|
|
349
|
-
"page.documentation.endpoint": "Endpoint",
|
|
350
|
-
"page.documentation.endpoint.explanation": "Endpoint Name - The user-friendly name of the endpoint<br>Endpoint Path - the path to make requests to in order to access this endpoint<br>Endpoint Stability - Whether this endpoint is safe to use and unlikely to change significantly.<br>Protection - Whether it is necessary to authenticate when accessing this endpoint<br>Methods - What HTTP methods can be used to access this endpoint",
|
|
351
|
-
"page.documentation.required_type": "Required User Types",
|
|
352
|
-
"page.documentation.required_type.explanation": "Which user types have access to this endpoint. If any of the types are green, you have access to it.",
|
|
353
|
-
"page.documentation.required_priv": "Required API Key Privileges",
|
|
354
|
-
"page.documentation.required_priv.explanation": "What privileges an API Key you generate must have to interact with this endpoint.",
|
|
355
354
|
"page.documentation.description": "Endpoint Description",
|
|
356
355
|
"page.documentation.description.explanation": "The documentation outlining what this endpoint is used for and how you should interact with it.",
|
|
357
|
-
"page.documentation.
|
|
356
|
+
"page.documentation.endpoint": "Endpoint",
|
|
357
|
+
"page.documentation.endpoint.explanation": "Endpoint Name - The user-friendly name of the endpoint<br>Endpoint Path - the path to make requests to in order to access this endpoint<br>Endpoint Stability - Whether this endpoint is safe to use and unlikely to change significantly.<br>Protection - Whether it is necessary to authenticate when accessing this endpoint<br>Methods - What HTTP methods can be used to access this endpoint",
|
|
358
|
+
"page.documentation.endpoints": "API Endpoints",
|
|
358
359
|
"page.documentation.labels.description": "Category Description",
|
|
359
360
|
"page.documentation.labels.example": "Example",
|
|
361
|
+
"page.documentation.labels.name": "Label Category",
|
|
362
|
+
"page.documentation.required_priv": "Required API Key Privileges",
|
|
363
|
+
"page.documentation.required_priv.explanation": "What privileges an API Key you generate must have to interact with this endpoint.",
|
|
364
|
+
"page.documentation.required_type": "Required User Types",
|
|
365
|
+
"page.documentation.required_type.explanation": "Which user types have access to this endpoint. If any of the types are green, you have access to it.",
|
|
366
|
+
"page.error.description": "The application stopped working suddenly. If the problem persists please reach out on teams.",
|
|
367
|
+
"page.error.support": "Please click here for teams support",
|
|
368
|
+
"page.error.title": "Application Stopped Working",
|
|
360
369
|
"page.help": "Help",
|
|
361
370
|
"page.help.title": "Help Dashboard",
|
|
362
371
|
"page.login.button": "Sign in",
|
|
@@ -364,6 +373,27 @@
|
|
|
364
373
|
"page.login.username": "Username",
|
|
365
374
|
"page.logout": "Logging out current user ... ",
|
|
366
375
|
"page.settings": "Your account settings",
|
|
376
|
+
"page.settings.admin.title": "Administration",
|
|
377
|
+
"page.settings.local.compact.json": "Show Compact JSON View",
|
|
378
|
+
"page.settings.local.compact.json.description": "Enable or disable a more compact JSON view, better suited to viewing lots of data at once.",
|
|
379
|
+
"page.settings.local.details.drawer": "Always use drawer in Hit Search",
|
|
380
|
+
"page.settings.local.details.drawer.description": "Instead of switching between a divided view and the drawer on different screen sizes, this setting forces Howler to always use the drawer.",
|
|
381
|
+
"page.settings.local.flatten.json": "Flatten JSON in JSON View",
|
|
382
|
+
"page.settings.local.flatten.json.description": "Instead of showing the object structure of the JSON, show it as flattened keys.",
|
|
383
|
+
"page.settings.local.hits.display_type": "Default display type for results",
|
|
384
|
+
"page.settings.local.hits.display_type.description": "This setting allows you to decide whether to use the list or grid view by default when searching.",
|
|
385
|
+
"page.settings.local.hits.display_type.grid": "Grid",
|
|
386
|
+
"page.settings.local.hits.display_type.list": "List",
|
|
387
|
+
"page.settings.local.hits.layout": "Change Layout",
|
|
388
|
+
"page.settings.local.hits.layout.comfy": "Comfy",
|
|
389
|
+
"page.settings.local.hits.layout.dense": "Dense",
|
|
390
|
+
"page.settings.local.hits.layout.description": "This setting allows you to decide how much padding and spacing, as well as font size and element size, we use when rendering the UI. The denser the UI, the more data can be viewed.",
|
|
391
|
+
"page.settings.local.hits.layout.normal": "Normal",
|
|
392
|
+
"page.settings.local.results.count": "Results Per Page",
|
|
393
|
+
"page.settings.local.results.count.description": "How many results should we show per page when showing search results?",
|
|
394
|
+
"page.settings.local.search.width": "Maximum Results Width",
|
|
395
|
+
"page.settings.local.search.width.description": "The maximum size (in pixels) the results column in the search page.",
|
|
396
|
+
"page.settings.local.title": "UI Preferences",
|
|
367
397
|
"page.settings.profile.table.email": "Email",
|
|
368
398
|
"page.settings.profile.table.groups": "Groups",
|
|
369
399
|
"page.settings.profile.table.groups.description": "This drawer will show you any groups howler sees you as a part of. This can be useful for verifying you have the permissions and roles you expect given your authentication method.",
|
|
@@ -377,33 +407,14 @@
|
|
|
377
407
|
"page.settings.security.table.password": "Password",
|
|
378
408
|
"page.settings.security.title": "User Security",
|
|
379
409
|
"page.settings.sitemap": "Settings",
|
|
380
|
-
"page.settings.local.title": "UI Preferences",
|
|
381
|
-
"page.settings.local.compact.json": "Show Compact JSON View",
|
|
382
|
-
"page.settings.local.compact.json.description": "Enable or disable a more compact JSON view, better suited to viewing lots of data at once.",
|
|
383
|
-
"page.settings.local.flatten.json": "Flatten JSON in JSON View",
|
|
384
|
-
"page.settings.local.flatten.json.description": "Instead of showing the object structure of the JSON, show it as flattened keys.",
|
|
385
|
-
"page.settings.local.details.drawer": "Always use drawer in Hit Search",
|
|
386
|
-
"page.settings.local.details.drawer.description": "Instead of switching between a divided view and the drawer on different screen sizes, this setting forces Howler to always use the drawer.",
|
|
387
|
-
"page.settings.local.hits.display_type": "Default display type for results",
|
|
388
|
-
"page.settings.local.hits.display_type.description": "This setting allows you to decide whether to use the list or grid view by default when searching.",
|
|
389
|
-
"page.settings.local.hits.display_type.list": "List",
|
|
390
|
-
"page.settings.local.hits.display_type.grid": "Grid",
|
|
391
|
-
"page.settings.local.hits.layout": "Change Layout",
|
|
392
|
-
"page.settings.local.hits.layout.description": "This setting allows you to decide how much padding and spacing, as well as font size and element size, we use when rendering the UI. The denser the UI, the more data can be viewed.",
|
|
393
|
-
"page.settings.local.hits.layout.dense": "Dense",
|
|
394
|
-
"page.settings.local.hits.layout.normal": "Normal",
|
|
395
|
-
"page.settings.local.hits.layout.comfy": "Comfy",
|
|
396
|
-
"page.settings.local.search.width": "Maximum Results Width",
|
|
397
|
-
"page.settings.local.search.width.description": "The maximum size (in pixels) the results column in the search page.",
|
|
398
|
-
"page.settings.local.results.count": "Results Per Page",
|
|
399
|
-
"page.settings.local.results.count.description": "How many results should we show per page when showing search results?",
|
|
400
|
-
"page.settings.admin.title": "Administration",
|
|
401
410
|
"page.user.search": "Search Users",
|
|
402
|
-
"page.user.search.column.username": "Username",
|
|
403
|
-
"page.user.search.column.fullname": "Fullname",
|
|
404
411
|
"page.user.search.column.email": "Email",
|
|
412
|
+
"page.user.search.column.fullname": "Fullname",
|
|
405
413
|
"page.user.search.column.groups": "Groups",
|
|
414
|
+
"page.user.search.column.username": "Username",
|
|
406
415
|
"page.user.search.prompt": "Search by username, fullname, email or group",
|
|
416
|
+
"pages.cases.detail.participants": "Participants",
|
|
417
|
+
"pages.cases.detail.status": "Status",
|
|
407
418
|
"password": "New Password",
|
|
408
419
|
"password.confirm": "Confirm Password",
|
|
409
420
|
"password.match": "Password and Confirm Password must match",
|
|
@@ -421,288 +432,311 @@
|
|
|
421
432
|
"quicksearch.placeholder": "Search ...",
|
|
422
433
|
"rationale.default": "Hit assessed as {{assessment}}",
|
|
423
434
|
"references": "references",
|
|
435
|
+
"retention.error": "This hit is {{ duration }} from automatic deletion. You will soon lose access to this hit in Howler - consider retaining the hit if you want to avoid data loss.",
|
|
424
436
|
"retention.imminent": "moments away",
|
|
425
437
|
"retention.safe": "This hit is {{ duration }} from automatic deletion.",
|
|
426
438
|
"retention.warn": "This hit is {{ duration }} from automatic deletion. Consider retaining the hit if you want to avoid data loss.",
|
|
427
|
-
"
|
|
439
|
+
"route.actions": "Actions",
|
|
440
|
+
"route.actions.alert.error": "There are {{count}} hits in your query for which this operation may fail.",
|
|
441
|
+
"route.actions.alert.success": "This operation should run without issue.",
|
|
442
|
+
"route.actions.alert.warning": "There are {{count}} hits in your query for which this operation may have no effect.",
|
|
443
|
+
"route.actions.automate": "Automate",
|
|
444
|
+
"route.actions.change": "Run Action",
|
|
445
|
+
"route.actions.create": "New Action",
|
|
446
|
+
"route.actions.edit": "Edit",
|
|
447
|
+
"route.actions.execute": "Execute",
|
|
448
|
+
"route.actions.manager": "Action Manager",
|
|
449
|
+
"route.actions.name": "Action Name",
|
|
450
|
+
"route.actions.open": "Open Query",
|
|
451
|
+
"route.actions.operation.add": "Add New Operation",
|
|
452
|
+
"route.actions.query.empty": "Query cannot be empty.",
|
|
453
|
+
"route.actions.report": "Action Report",
|
|
454
|
+
"route.actions.restart": "Restart",
|
|
455
|
+
"route.actions.save": "Save Action",
|
|
456
|
+
"route.actions.search": "Search Actions",
|
|
457
|
+
"route.actions.search.open": "Open List",
|
|
458
|
+
"route.actions.search.prompt": "Search by name or query.",
|
|
459
|
+
"route.actions.search.warning": "Before adding operations, you must run and validate a query.",
|
|
460
|
+
"route.actions.trigger": "Filter by Trigger",
|
|
461
|
+
"route.actions.trigger.add_label": "Run on Add Label",
|
|
462
|
+
"route.actions.trigger.create": "Run on Create",
|
|
463
|
+
"route.actions.trigger.demote": "Run on Demotion",
|
|
464
|
+
"route.actions.trigger.description": "This action has been automated. It will run automatically when the trigger(s) <bold>{{triggers}}</bold> are met.",
|
|
465
|
+
"route.actions.trigger.disabled.explanation": "One of your selected operations does not support this trigger.",
|
|
466
|
+
"route.actions.trigger.disabled.permissions": "You do not have the correct roles to execute this trigger.",
|
|
467
|
+
"route.actions.trigger.promote": "Run on Promotion",
|
|
468
|
+
"route.actions.trigger.remove_label": "Run on Remove Label",
|
|
469
|
+
"route.actions.trigger.resolve": "Run on Resolve",
|
|
470
|
+
"route.actions.trigger.update": "Run on Update",
|
|
471
|
+
"route.actions.view": "View",
|
|
428
472
|
"route.admin.user.details": "User Details",
|
|
429
473
|
"route.admin.user.search": "User Search",
|
|
430
474
|
"route.advanced": "Advanced Search",
|
|
475
|
+
"route.advanced.create.rule": "Create Rule",
|
|
476
|
+
"route.advanced.create.rule.disabled": "You must run your search to ensure it is valid first.",
|
|
431
477
|
"route.advanced.error": "Search Error",
|
|
478
|
+
"route.advanced.execute.query": "Execute Query",
|
|
432
479
|
"route.advanced.fields": "Hit Fields to Show",
|
|
433
480
|
"route.advanced.fields.all": "Show All Fields",
|
|
434
481
|
"route.advanced.open": "Open in Search",
|
|
435
|
-
"route.advanced.
|
|
436
|
-
"route.advanced.create.rule": "Create Rule",
|
|
437
|
-
"route.advanced.create.rule.disabled": "You must run your search to ensure it is valid first.",
|
|
438
|
-
"route.advanced.execute.query": "Execute Query",
|
|
439
|
-
"route.advanced.query.lucene": "Lucene Query",
|
|
440
|
-
"route.advanced.query.lucene.description": "Apache Lucence is a search syntax used by elasticsearch, Howler and apache lucene. See our documentation for information on this.",
|
|
482
|
+
"route.advanced.pivot.field": "Group By Field",
|
|
441
483
|
"route.advanced.query.eql": "EQL Query",
|
|
442
484
|
"route.advanced.query.eql.description": "Event Query Language (EQL) is a query language for event-based time series data, such as logs, metrics, and traces.",
|
|
443
|
-
"route.advanced.query.
|
|
444
|
-
"route.advanced.query.
|
|
445
|
-
"route.advanced.
|
|
446
|
-
"route.advanced.result.description": "Execute a query to show results here.",
|
|
447
|
-
"route.advanced.rule.type": "Rule Type",
|
|
448
|
-
"route.advanced.pivot.field": "Group By Field",
|
|
485
|
+
"route.advanced.query.lucene": "Lucene Query",
|
|
486
|
+
"route.advanced.query.lucene.description": "Apache Lucence is a search syntax used by elasticsearch, Howler and apache lucene. See our documentation for information on this.",
|
|
487
|
+
"route.advanced.query.lucene.type": "Query Method",
|
|
449
488
|
"route.advanced.query.type": "Query Type",
|
|
450
489
|
"route.advanced.query.type.default": "Default",
|
|
451
490
|
"route.advanced.query.type.default.description": "Exceute a regular Howler search query in Lucene Syntax.",
|
|
491
|
+
"route.advanced.query.type.explain": "Explain",
|
|
492
|
+
"route.advanced.query.type.explain.description": "Get the elasticsearch explanation (i.e. the raw query executed against the cluster) of a given lucene query. Useful for debugging buggy lucene queries.",
|
|
452
493
|
"route.advanced.query.type.facet": "Facet",
|
|
453
494
|
"route.advanced.query.type.facet.description": "Provides the counts of each value for a field. When faceting on an array field, each unique value will be included in the response. Each value is only counted once.",
|
|
454
495
|
"route.advanced.query.type.groupby": "Group By",
|
|
455
496
|
"route.advanced.query.type.groupby.description": "Grouped results based on shared fields.",
|
|
456
|
-
"route.advanced.query.
|
|
457
|
-
"route.advanced.query.
|
|
458
|
-
"route.advanced.
|
|
497
|
+
"route.advanced.query.yaml": "Sigma Rule",
|
|
498
|
+
"route.advanced.query.yaml.description": "Sigma is a generic and open signature format that allows you to describe relevant log events in a straightforward manner. The rule format is very flexible, easy to write and applicable to any type of log file.",
|
|
499
|
+
"route.advanced.result.description": "Execute a query to show results here.",
|
|
500
|
+
"route.advanced.result.title": "Howler Advanced Search",
|
|
501
|
+
"route.advanced.rows": "Number of Rows to Return",
|
|
502
|
+
"route.advanced.rule.type": "Rule Type",
|
|
459
503
|
"route.analytics": "Analytics",
|
|
504
|
+
"route.analytics.assessment.title": "Assessment Result of Created Hits",
|
|
505
|
+
"route.analytics.contributors": "Contributors",
|
|
460
506
|
"route.analytics.deleted": "Deleted Rule!",
|
|
507
|
+
"route.analytics.detection.title": "Hits Ingested in the Last Three Months by Detection",
|
|
461
508
|
"route.analytics.detections": "Detections:",
|
|
462
|
-
"route.analytics.
|
|
463
|
-
"route.analytics.rule": "Rule",
|
|
464
|
-
"route.analytics.rule.title": "Rule Query",
|
|
465
|
-
"route.analytics.contributors": "Contributors",
|
|
509
|
+
"route.analytics.escalation.title": "Escalation of Created Hits",
|
|
466
510
|
"route.analytics.filter.rule": "Filter on Rules",
|
|
511
|
+
"route.analytics.ingestion.title": "Number of Hits Created",
|
|
512
|
+
"route.analytics.overview.description": "Description",
|
|
513
|
+
"route.analytics.overview.empty.description": "There are no existing hits for this analytic. Statistics cannot be shown.",
|
|
514
|
+
"route.analytics.overview.empty.title": "No Statistics to Show",
|
|
515
|
+
"route.analytics.overview.limit": "Limited to the most recent 10 000 hits.",
|
|
516
|
+
"route.analytics.overview.statistics": "Statistics",
|
|
467
517
|
"route.analytics.pinned": "Pinned Analytics",
|
|
468
|
-
"route.analytics.
|
|
469
|
-
"route.analytics.
|
|
518
|
+
"route.analytics.rationales.new": "New Rationale",
|
|
519
|
+
"route.analytics.rule": "Rule",
|
|
520
|
+
"route.analytics.rule.title": "Rule Query",
|
|
470
521
|
"route.analytics.search.filter.rules.hide": "Hiding Rules Only",
|
|
522
|
+
"route.analytics.search.filter.rules.show": "Showing Rules Only",
|
|
471
523
|
"route.analytics.search.filter.rules.toggle": "Toggle Filtering Rule",
|
|
472
|
-
"route.analytics.
|
|
524
|
+
"route.analytics.search.prompt": "Search by name or detections.",
|
|
525
|
+
"route.analytics.set.owner": "Change Ownership",
|
|
526
|
+
"route.analytics.status.title": "Cumulative Status of Hits Created in the Last Three Months",
|
|
473
527
|
"route.analytics.tab.comments": "Comments",
|
|
474
528
|
"route.analytics.tab.hit_comments": "Hit Comments",
|
|
475
529
|
"route.analytics.tab.notebooks": "Notebooks",
|
|
530
|
+
"route.analytics.tab.overview": "Summary",
|
|
476
531
|
"route.analytics.tab.overviews": "Overviews",
|
|
477
532
|
"route.analytics.tab.rule": "Rule Query",
|
|
478
533
|
"route.analytics.tab.templates": "Templates",
|
|
479
534
|
"route.analytics.tab.triage": "Triage",
|
|
480
|
-
"route.analytics.
|
|
481
|
-
"route.analytics.overview.description": "Description",
|
|
482
|
-
"route.analytics.overview.statistics": "Statistics",
|
|
483
|
-
"route.analytics.overview.limit": "Limited to the most recent 10 000 hits.",
|
|
484
|
-
"route.analytics.overview.empty.title": "No Statistics to Show",
|
|
485
|
-
"route.analytics.overview.empty.description": "There are no existing hits for this analytic. Statistics cannot be shown.",
|
|
486
|
-
"route.analytics.ingestion.title": "Number of Hits Created",
|
|
487
|
-
"route.analytics.escalation.title": "Escalation of Created Hits",
|
|
488
|
-
"route.analytics.assessment.title": "Assessment Result of Created Hits",
|
|
489
|
-
"route.analytics.status.title": "Cumulative Status of Hits Created in the Last Three Months",
|
|
490
|
-
"route.analytics.detection.title": "Hits Ingested in the Last Three Months by Detection",
|
|
491
|
-
"route.analytics.updated": "Analytic Updated!",
|
|
492
|
-
"route.analytics.set.owner": "Change Ownership",
|
|
493
|
-
"route.analytics.triage.title": "Triage Settings",
|
|
494
|
-
"route.analytics.triage.rationale": "Skip Rationale",
|
|
495
|
-
"route.analytics.triage.rationale.description": "When triaging alerts from this analytic, the rationale is not prompted, and is instead auto-generated.",
|
|
535
|
+
"route.analytics.tags": "Tags:",
|
|
496
536
|
"route.analytics.triage.assessments": "Permitted Assessment Outcomes",
|
|
497
537
|
"route.analytics.triage.assessments.description": "When triaging alerts from this analytic, what assessments are valid?",
|
|
538
|
+
"route.analytics.triage.rationale": "Skip Rationale",
|
|
539
|
+
"route.analytics.triage.rationale.description": "When triaging alerts from this analytic, the rationale is not prompted, and is instead auto-generated.",
|
|
498
540
|
"route.analytics.triage.rationales": "Preset Rationales",
|
|
499
541
|
"route.analytics.triage.rationales.description": "Define preset rationales that will be available when triaging alerts from this analytic.",
|
|
500
|
-
"route.analytics.
|
|
501
|
-
"route.
|
|
502
|
-
"route.
|
|
503
|
-
"route.
|
|
504
|
-
"route.
|
|
505
|
-
"route.
|
|
506
|
-
"route.
|
|
507
|
-
"route.
|
|
508
|
-
"route.
|
|
509
|
-
"route.
|
|
510
|
-
"route.
|
|
511
|
-
"route.
|
|
512
|
-
"route.
|
|
513
|
-
"route.
|
|
514
|
-
"route.
|
|
515
|
-
"route.
|
|
516
|
-
"route.
|
|
517
|
-
"route.
|
|
518
|
-
"route.
|
|
519
|
-
"route.
|
|
520
|
-
"route.
|
|
521
|
-
"route.
|
|
522
|
-
"route.
|
|
523
|
-
"route.
|
|
524
|
-
"route.
|
|
525
|
-
"route.
|
|
526
|
-
"route.
|
|
527
|
-
"route.
|
|
528
|
-
"route.
|
|
529
|
-
"route.
|
|
530
|
-
"route.
|
|
531
|
-
"route.
|
|
532
|
-
"route.
|
|
533
|
-
"route.
|
|
534
|
-
"route.
|
|
542
|
+
"route.analytics.triage.title": "Triage Settings",
|
|
543
|
+
"route.analytics.updated": "Analytic Updated!",
|
|
544
|
+
"route.analytics.view": "View Analytic",
|
|
545
|
+
"route.cases": "Cases",
|
|
546
|
+
"route.cases.create": "Create Case",
|
|
547
|
+
"route.cases.manager.search": "Search Cases",
|
|
548
|
+
"route.cases.search.prompt": "Search Cases via title, summary or indicators",
|
|
549
|
+
"route.cases.view": "View Case",
|
|
550
|
+
"route.clear": "Clear query",
|
|
551
|
+
"route.dossiers": "Dossiers",
|
|
552
|
+
"route.dossiers.create": "New Dossier",
|
|
553
|
+
"route.dossiers.default": "Default",
|
|
554
|
+
"route.dossiers.edit": "Edit Dossier",
|
|
555
|
+
"route.dossiers.manager.delete": "Delete Dossier",
|
|
556
|
+
"route.dossiers.manager.delete.success": "Dossier Removed.",
|
|
557
|
+
"route.dossiers.manager.field.query": "Query",
|
|
558
|
+
"route.dossiers.manager.field.title": "Title",
|
|
559
|
+
"route.dossiers.manager.field.type": "Type",
|
|
560
|
+
"route.dossiers.manager.format": "Lead Format",
|
|
561
|
+
"route.dossiers.manager.global": "Global",
|
|
562
|
+
"route.dossiers.manager.icon": "Lead Icon",
|
|
563
|
+
"route.dossiers.manager.icon.description": "Specify an icon using the iconify ID. To browse icons, click the button to the right.",
|
|
564
|
+
"route.dossiers.manager.label.en": "English Title",
|
|
565
|
+
"route.dossiers.manager.label.fr": "Titre français",
|
|
566
|
+
"route.dossiers.manager.lead.create": "Create a new lead by pressing the button to the right.",
|
|
567
|
+
"route.dossiers.manager.openinsearch": "Open in Search",
|
|
568
|
+
"route.dossiers.manager.personal": "Personal",
|
|
569
|
+
"route.dossiers.manager.pivot.create": "You currently have no pivots configured. Press the add button to the right to create a new one.",
|
|
570
|
+
"route.dossiers.manager.pivot.format": "Pivot format",
|
|
571
|
+
"route.dossiers.manager.pivot.icon": "Pivot Icon",
|
|
572
|
+
"route.dossiers.manager.pivot.label.en": "English Title",
|
|
573
|
+
"route.dossiers.manager.pivot.label.fr": "Titre français",
|
|
574
|
+
"route.dossiers.manager.pivot.mapping.custom": "Custom Value",
|
|
575
|
+
"route.dossiers.manager.pivot.mapping.field": "Hit Field",
|
|
576
|
+
"route.dossiers.manager.pivot.mapping.key": "Key",
|
|
577
|
+
"route.dossiers.manager.pivot.mappings": "Pivot Mappings",
|
|
578
|
+
"route.dossiers.manager.pivot.value": "Pivot value",
|
|
579
|
+
"route.dossiers.manager.search": "Search Dossiers",
|
|
580
|
+
"route.dossiers.manager.tabs.leads": "Leads",
|
|
581
|
+
"route.dossiers.manager.tabs.pivots": "Pivots",
|
|
582
|
+
"route.dossiers.manager.validation.error": "Dossier is Invalid.",
|
|
583
|
+
"route.dossiers.manager.validation.error.items": "You have not configured any leads or pivots.",
|
|
584
|
+
"route.dossiers.manager.validation.error.leads": "A lead is misconfigured.",
|
|
585
|
+
"route.dossiers.manager.validation.error.leads.content": "You have not set the content for the lead '{{label}}'.",
|
|
586
|
+
"route.dossiers.manager.validation.error.leads.format": "You have not set the format for the lead '{{label}}'.",
|
|
587
|
+
"route.dossiers.manager.validation.error.leads.icon": "You are missing an icon, or the specified icon does not exist for lead '{{label}}'.",
|
|
588
|
+
"route.dossiers.manager.validation.error.leads.label": "You have not configured a lead label.",
|
|
589
|
+
"route.dossiers.manager.validation.error.leads.label.en": "You have not configured an English lead label.",
|
|
590
|
+
"route.dossiers.manager.validation.error.leads.label.fr": "You have not configured a French lead label.",
|
|
591
|
+
"route.dossiers.manager.validation.error.missing": "{{field}} is invalid.",
|
|
592
|
+
"route.dossiers.manager.validation.error.pivots": "A pivot is misconfigured.",
|
|
593
|
+
"route.dossiers.manager.validation.error.pivots.duplicate": "The pivot '{{label}}' has a duplicate key.",
|
|
594
|
+
"route.dossiers.manager.validation.error.pivots.field": "You have not configured a field or custom value for a mapping in the pivot '{{label}}'.",
|
|
595
|
+
"route.dossiers.manager.validation.error.pivots.format": "You have not set the format for the pivot '{{label}}'.",
|
|
596
|
+
"route.dossiers.manager.validation.error.pivots.icon": "You are missing an icon, or the specified icon does not exist for pivot '{{label}}'.",
|
|
597
|
+
"route.dossiers.manager.validation.error.pivots.key": "You have not configured a key for a mapping in the pivot '{{label}}'.",
|
|
598
|
+
"route.dossiers.manager.validation.error.pivots.label": "You have not configured a pivot label.",
|
|
599
|
+
"route.dossiers.manager.validation.error.pivots.label.en": "You have not configured an English pivot label.",
|
|
600
|
+
"route.dossiers.manager.validation.error.pivots.label.fr": "You have not configured a French pivot label.",
|
|
601
|
+
"route.dossiers.manager.validation.error.pivots.value": "You have not set the value for the pivot '{{label}}'.",
|
|
602
|
+
"route.dossiers.manager.validation.search": "You must search to validate your query before submitting.",
|
|
603
|
+
"route.dossiers.prompt": "Activate autocomplete using [ctrl + space].",
|
|
604
|
+
"route.dossiers.search.prompt": "Search by title, query, or owner.",
|
|
605
|
+
"route.dossiers.view": "View Dossier",
|
|
535
606
|
"route.help": "Help",
|
|
536
|
-
"route.help.main": "Dashboard",
|
|
537
607
|
"route.help.actions": "Action Documentation",
|
|
538
608
|
"route.help.api": "API Documentation",
|
|
539
609
|
"route.help.auth": "Authentication",
|
|
540
610
|
"route.help.client": "Howler Client",
|
|
541
611
|
"route.help.hit": "Hit Documentation",
|
|
612
|
+
"route.help.main": "Dashboard",
|
|
613
|
+
"route.help.notebook": "Notebook Documentation",
|
|
614
|
+
"route.help.overviews": "Overviews",
|
|
615
|
+
"route.help.retention": "Retention",
|
|
542
616
|
"route.help.search": "Search Documentation",
|
|
543
617
|
"route.help.templates": "Templates",
|
|
544
|
-
"route.help.overviews": "Overviews",
|
|
545
|
-
"route.help.notebook": "Notebook Documentation",
|
|
546
618
|
"route.help.views": "Views",
|
|
547
|
-
"route.
|
|
619
|
+
"route.history": "History mode: See all previous queries",
|
|
620
|
+
"route.hits": "Alerts",
|
|
548
621
|
"route.hits.bundle": "View Bundle",
|
|
549
622
|
"route.hits.view": "View Hit",
|
|
550
|
-
"route.
|
|
623
|
+
"route.home": "User Dashboard",
|
|
624
|
+
"route.home.add": "Add New Panel",
|
|
625
|
+
"route.home.add.analytic": "Analytic",
|
|
551
626
|
"route.home.add.analytic.description": "Select the analytic for which data should be shown, and the visualization to present.",
|
|
552
627
|
"route.home.add.analytic.title": "Add analytic statistics",
|
|
553
|
-
"route.home.add.analytic": "Analytic",
|
|
554
628
|
"route.home.add.description": "Add an additional panel to your dashboard by selecting the type you wish to add, and completing the configuration",
|
|
555
|
-
"route.home.add.limit.description": "Maximum number of hits to render",
|
|
556
629
|
"route.home.add.limit": "Result limit",
|
|
557
|
-
"route.home.add.
|
|
630
|
+
"route.home.add.limit.description": "Maximum number of hits to render",
|
|
631
|
+
"route.home.add.type": "Panel Type",
|
|
558
632
|
"route.home.add.type.analytic": "Analytic Panel",
|
|
559
|
-
"route.home.add.type.
|
|
633
|
+
"route.home.add.type.analytic.description": "Present statistics on a given analytic = the resulting assessments, number of hits created, or escalation of created hits",
|
|
560
634
|
"route.home.add.type.view": "View Panel",
|
|
561
|
-
"route.home.add.type": "
|
|
635
|
+
"route.home.add.type.view.description": "Present a saved view, limited to a certain number of hits.",
|
|
562
636
|
"route.home.add.view": "View to present",
|
|
563
|
-
"route.home.add.visualization
|
|
637
|
+
"route.home.add.visualization": "Visualization",
|
|
564
638
|
"route.home.add.visualization.assessment": "Assessment Result of Created Hits",
|
|
565
|
-
"route.home.add.visualization.
|
|
639
|
+
"route.home.add.visualization.assessment.description": "For hits that have been triaged, what was the resulting assessment?",
|
|
566
640
|
"route.home.add.visualization.created": "Number of Created Hits",
|
|
567
|
-
"route.home.add.visualization.
|
|
641
|
+
"route.home.add.visualization.created.description": "Time series of the number of hits created by the analytic over the last 90 days.",
|
|
568
642
|
"route.home.add.visualization.detection": "Hits Created by Detection",
|
|
569
|
-
"route.home.add.visualization.
|
|
643
|
+
"route.home.add.visualization.detection.description": "For hits ingested in the last three months, what is their detection?",
|
|
570
644
|
"route.home.add.visualization.escalation": "Escalation of Created Hits",
|
|
571
|
-
"route.home.add.visualization.
|
|
645
|
+
"route.home.add.visualization.escalation.description": "For hits that have been triaged, what was the resulting escalation?",
|
|
572
646
|
"route.home.add.visualization.status": "Cumulative Status of Hits Created",
|
|
647
|
+
"route.home.add.visualization.status.description": "For hits ingested in the last three months, what is their status?",
|
|
573
648
|
"route.home.add.visualization.unavailable": "No visualization options available.",
|
|
574
|
-
"route.home.add.visualization": "Visualization",
|
|
575
|
-
"route.home.add": "Add New Panel",
|
|
576
649
|
"route.home.alert.updated.description": "There have been updates to alerts you are involved in. Since you last viewed, {{count}} alert(s) have updates.",
|
|
577
650
|
"route.home.alert.updated.title": "Alert Updates",
|
|
578
651
|
"route.home.description": "Welcome to Howler. You can add items to your dashboard using the buttons above.",
|
|
579
652
|
"route.home.title": "Howler",
|
|
580
|
-
"route.
|
|
653
|
+
"route.integrations": "Integrations",
|
|
581
654
|
"route.login.button.oauth": "Sign in with",
|
|
655
|
+
"route.overviews": "Overviews",
|
|
656
|
+
"route.overviews.analytic": "Choose Analytic",
|
|
657
|
+
"route.overviews.create": "New Overview",
|
|
658
|
+
"route.overviews.default": "Default",
|
|
659
|
+
"route.overviews.detection": "Choose Detection",
|
|
660
|
+
"route.overviews.manager.delete": "Delete Overview",
|
|
661
|
+
"route.overviews.manager.delete.success": "Overview Removed.",
|
|
662
|
+
"route.overviews.manager.search": "Search Overviews",
|
|
663
|
+
"route.overviews.prompt": "Activate autocomplete using [ctrl + space].",
|
|
664
|
+
"route.overviews.search.prompt": "Search by title, content, analytic or detection.",
|
|
665
|
+
"route.overviews.select": "Select an analytic and detection to view and edit the overview.",
|
|
666
|
+
"route.overviews.theme.dark": "Preview in Dark Mode",
|
|
667
|
+
"route.overviews.theme.light": "Preview in Light Mode",
|
|
668
|
+
"route.overviews.view": "View Overview",
|
|
582
669
|
"route.search": "Search",
|
|
583
|
-
"route.clear": "Clear query",
|
|
584
|
-
"route.history": "History mode: See all previous queries",
|
|
585
670
|
"route.templates": "Templates",
|
|
586
671
|
"route.templates.analytic": "Choose Analytic",
|
|
587
|
-
"route.templates.detection": "Choose Detection",
|
|
588
672
|
"route.templates.builtin": "Built-in",
|
|
589
|
-
"route.templates.builtin.show": "Built in Templates",
|
|
590
673
|
"route.templates.builtin.hide": "Hide Built in Templates",
|
|
674
|
+
"route.templates.builtin.show": "Built in Templates",
|
|
675
|
+
"route.templates.create": "New Template",
|
|
591
676
|
"route.templates.default": "Default",
|
|
677
|
+
"route.templates.detection": "Choose Detection",
|
|
592
678
|
"route.templates.global": "Global",
|
|
593
|
-
"route.templates.personal": "Personal",
|
|
594
|
-
"route.templates.search.prompt": "Search by analytic, detection, or template keys.",
|
|
595
|
-
"route.templates.select": "Select an analytic and detection to view and edit the template.",
|
|
596
|
-
"route.templates.readonly.warning": "This is a built-in template, and cannot be edited. To make changes to it, contact",
|
|
597
|
-
"route.templates.prompt": "Activate autocomplete using [ctrl + space].",
|
|
598
|
-
"route.templates.view": "View Template",
|
|
599
|
-
"route.templates.create": "New Template",
|
|
600
679
|
"route.templates.manager.global": "Global",
|
|
601
|
-
"route.templates.manager.personal": "Personal",
|
|
602
680
|
"route.templates.manager.open": "Open View",
|
|
681
|
+
"route.templates.manager.personal": "Personal",
|
|
603
682
|
"route.templates.manager.readonly": "Built-in",
|
|
604
683
|
"route.templates.manager.search": "Search Templates",
|
|
684
|
+
"route.templates.personal": "Personal",
|
|
685
|
+
"route.templates.prompt": "Activate autocomplete using [ctrl + space].",
|
|
686
|
+
"route.templates.readonly.warning": "This is a built-in template, and cannot be edited. To make changes to it, contact",
|
|
605
687
|
"route.templates.rule.explanation": "This is a Howler Analytic. There is only one detection, which has been pre-selected.",
|
|
606
|
-
"route.
|
|
607
|
-
"route.
|
|
608
|
-
"route.
|
|
609
|
-
"route.overviews.default": "Default",
|
|
610
|
-
"route.overviews.search.prompt": "Search by title, content, analytic or detection.",
|
|
611
|
-
"route.overviews.select": "Select an analytic and detection to view and edit the overview.",
|
|
612
|
-
"route.overviews.prompt": "Activate autocomplete using [ctrl + space].",
|
|
613
|
-
"route.overviews.view": "View Overview",
|
|
614
|
-
"route.overviews.create": "New Overview",
|
|
615
|
-
"route.overviews.manager.search": "Search Overviews",
|
|
616
|
-
"route.overviews.manager.delete": "Delete Overview",
|
|
617
|
-
"route.overviews.manager.delete.success": "Overview Removed.",
|
|
618
|
-
"route.overviews.theme.light": "Preview in Light Mode",
|
|
619
|
-
"route.overviews.theme.dark": "Preview in Dark Mode",
|
|
620
|
-
"route.dossiers": "Dossiers",
|
|
621
|
-
"route.dossiers.default": "Default",
|
|
622
|
-
"route.dossiers.search.prompt": "Search by title, query, or owner.",
|
|
623
|
-
"route.dossiers.prompt": "Activate autocomplete using [ctrl + space].",
|
|
624
|
-
"route.dossiers.view": "View Dossier",
|
|
625
|
-
"route.dossiers.create": "New Dossier",
|
|
626
|
-
"route.dossiers.edit": "Edit Dossier",
|
|
627
|
-
"route.dossiers.manager.search": "Search Dossiers",
|
|
628
|
-
"route.dossiers.manager.delete": "Delete Dossier",
|
|
629
|
-
"route.dossiers.manager.delete.success": "Dossier Removed.",
|
|
630
|
-
"route.dossiers.manager.field.title": "Title",
|
|
631
|
-
"route.dossiers.manager.field.type": "Type",
|
|
632
|
-
"route.dossiers.manager.field.query": "Query",
|
|
633
|
-
"route.dossiers.manager.global": "Global",
|
|
634
|
-
"route.dossiers.manager.personal": "Personal",
|
|
635
|
-
"route.dossiers.manager.lead.create": "Create a new lead by pressing the button to the right.",
|
|
636
|
-
"route.dossiers.manager.icon": "Lead Icon",
|
|
637
|
-
"route.dossiers.manager.icon.description": "Specify an icon using the iconify ID. To browse icons, click the button to the right.",
|
|
638
|
-
"route.dossiers.manager.label.en": "English Title",
|
|
639
|
-
"route.dossiers.manager.label.fr": "Titre français",
|
|
640
|
-
"route.dossiers.manager.format": "Lead Format",
|
|
641
|
-
"route.dossiers.manager.tabs.leads": "Leads",
|
|
642
|
-
"route.dossiers.manager.tabs.pivots": "Pivots",
|
|
643
|
-
"route.dossiers.manager.openinsearch": "Open in Search",
|
|
644
|
-
"route.dossiers.manager.pivot.create": "You currently have no pivots configured. Press the add button to the right to create a new one.",
|
|
645
|
-
"route.dossiers.manager.pivot.icon": "Pivot Icon",
|
|
646
|
-
"route.dossiers.manager.pivot.label.en": "English Title",
|
|
647
|
-
"route.dossiers.manager.pivot.label.fr": "Titre français",
|
|
648
|
-
"route.dossiers.manager.pivot.format": "Pivot format",
|
|
649
|
-
"route.dossiers.manager.pivot.value": "Pivot value",
|
|
650
|
-
"route.dossiers.manager.pivot.mappings": "Pivot Mappings",
|
|
651
|
-
"route.dossiers.manager.pivot.mapping.key": "Key",
|
|
652
|
-
"route.dossiers.manager.pivot.mapping.field": "Hit Field",
|
|
653
|
-
"route.dossiers.manager.pivot.mapping.custom": "Custom Value",
|
|
654
|
-
"route.dossiers.manager.validation.error": "Dossier is Invalid.",
|
|
655
|
-
"route.dossiers.manager.validation.search": "You must search to validate your query before submitting.",
|
|
656
|
-
"route.dossiers.manager.validation.error.missing": "{{field}} is invalid.",
|
|
657
|
-
"route.dossiers.manager.validation.error.leads": "A lead is misconfigured.",
|
|
658
|
-
"route.dossiers.manager.validation.error.leads.label": "You have not configured a lead label.",
|
|
659
|
-
"route.dossiers.manager.validation.error.leads.label.en": "You have not configured an English lead label.",
|
|
660
|
-
"route.dossiers.manager.validation.error.leads.label.fr": "You have not configured a French lead label.",
|
|
661
|
-
"route.dossiers.manager.validation.error.leads.format": "You have not set the format for the lead '{{label}}'.",
|
|
662
|
-
"route.dossiers.manager.validation.error.leads.content": "You have not set the content for the lead '{{label}}'.",
|
|
663
|
-
"route.dossiers.manager.validation.error.leads.icon": "You are missing an icon, or the specified icon does not exist for lead '{{label}}'.",
|
|
664
|
-
"route.dossiers.manager.validation.error.pivots": "A pivot is misconfigured.",
|
|
665
|
-
"route.dossiers.manager.validation.error.pivots.label": "You have not configured a pivot label.",
|
|
666
|
-
"route.dossiers.manager.validation.error.pivots.label.en": "You have not configured an English pivot label.",
|
|
667
|
-
"route.dossiers.manager.validation.error.pivots.label.fr": "You have not configured a French pivot label.",
|
|
668
|
-
"route.dossiers.manager.validation.error.pivots.format": "You have not set the format for the pivot '{{label}}'.",
|
|
669
|
-
"route.dossiers.manager.validation.error.pivots.value": "You have not set the value for the pivot '{{label}}'.",
|
|
670
|
-
"route.dossiers.manager.validation.error.pivots.icon": "You are missing an icon, or the specified icon does not exist for pivot '{{label}}'.",
|
|
671
|
-
"route.dossiers.manager.validation.error.pivots.duplicate": "The pivot '{{label}}' has a duplicate key.",
|
|
672
|
-
"route.dossiers.manager.validation.error.pivots.key": "You have not configured a key for a mapping in the pivot '{{label}}'.",
|
|
673
|
-
"route.dossiers.manager.validation.error.pivots.field": "You have not configured a field or custom value for a mapping in the pivot '{{label}}'.",
|
|
674
|
-
"route.dossiers.manager.validation.error.items": "You have not configured any leads or pivots.",
|
|
688
|
+
"route.templates.search.prompt": "Search by analytic, detection, or template keys.",
|
|
689
|
+
"route.templates.select": "Select an analytic and detection to view and edit the template.",
|
|
690
|
+
"route.templates.view": "View Template",
|
|
675
691
|
"route.views": "Views",
|
|
692
|
+
"route.views.create": "New View",
|
|
676
693
|
"route.views.create.success": "View Created.",
|
|
677
|
-
"route.views.update.success": "View Updated.",
|
|
678
|
-
"route.views.show": "Show View",
|
|
679
694
|
"route.views.edit": "Edit View",
|
|
680
|
-
"route.views.create": "New View",
|
|
681
695
|
"route.views.manager": "View Manager",
|
|
682
696
|
"route.views.manager.all": "All",
|
|
697
|
+
"route.views.manager.default": "Default View",
|
|
683
698
|
"route.views.manager.favourites": "Show favourites only",
|
|
684
699
|
"route.views.manager.global": "Global",
|
|
685
|
-
"route.views.manager.personal": "Personal",
|
|
686
700
|
"route.views.manager.open": "Open View",
|
|
701
|
+
"route.views.manager.personal": "Personal",
|
|
687
702
|
"route.views.manager.readonly": "Built-in",
|
|
688
703
|
"route.views.manager.search": "Search Views",
|
|
689
|
-
"route.views.manager.default": "Default View",
|
|
690
704
|
"route.views.name": "View Name",
|
|
691
705
|
"route.views.save": "Save Query as View",
|
|
692
706
|
"route.views.saved": "Pinned Views",
|
|
693
707
|
"route.views.search.prompt": "Search by name, query, or owner.",
|
|
708
|
+
"route.views.show": "Show View",
|
|
709
|
+
"route.views.update.success": "View Updated.",
|
|
710
|
+
"rule.interval": "Rule Execution Interval",
|
|
711
|
+
"rule.interval.edit": "Edit Interval",
|
|
712
|
+
"rule.interval.five.minutes": "Every five minutes",
|
|
713
|
+
"rule.interval.one.day": "Every one day",
|
|
714
|
+
"rule.interval.one.hour": "Every one hour",
|
|
715
|
+
"rule.interval.save": "Save Interval",
|
|
716
|
+
"rule.interval.six.hours": "Every six hours",
|
|
717
|
+
"rule.interval.thirty.minutes": "Every thirty minutes",
|
|
718
|
+
"rule.interval.three.hours": "Every three hours",
|
|
719
|
+
"save": "Save",
|
|
694
720
|
"search.open": "Open Search",
|
|
695
721
|
"search.result.showing": "Showing {{offset}} to {{length}} of {{total}} results",
|
|
696
722
|
"search.result.showing.single": "No results",
|
|
723
|
+
"search.total": "There are a total of {{count}} hits matching this query.",
|
|
724
|
+
"started": "Started",
|
|
697
725
|
"templates.edit.analytic": "Edit analytic template",
|
|
698
726
|
"templates.edit.detection": "Edit detection template",
|
|
727
|
+
"to": "to",
|
|
699
728
|
"tooltip.breadcrumbs.max": "Expand Breadcrumbs",
|
|
700
729
|
"tooltip.breadcrumbs.min": "Collapse Breadcrumbs",
|
|
701
|
-
"
|
|
702
|
-
"
|
|
703
|
-
"
|
|
730
|
+
"tui.query.invalid": "Invalid view",
|
|
731
|
+
"tui.query.load": "Load a saved view",
|
|
732
|
+
"tui.query.save.alert": "Load a saved view or save the current query as a view",
|
|
733
|
+
"tui.query.save.append": "Append active views",
|
|
734
|
+
"tui.query.store.delete": "Delete saved view",
|
|
735
|
+
"tui.query.store.load": "Load saved view into input field",
|
|
736
|
+
"tui.query.views.clear": "Clear active views",
|
|
737
|
+
"tui.query.views.load": "Load active views into input field",
|
|
704
738
|
"unknown": "Unknown",
|
|
705
|
-
"
|
|
739
|
+
"unset": "Unset",
|
|
706
740
|
"user.error.failed": "The API failed to provide required user information.",
|
|
707
741
|
"user.error.modal.body": "While connecting to the server, an unknown error occurred. Please try again later.",
|
|
708
742
|
"user.error.modal.details": "Details:",
|
|
@@ -712,20 +746,11 @@
|
|
|
712
746
|
"usermenu": "User menu",
|
|
713
747
|
"usermenu.logout": "Logout",
|
|
714
748
|
"usermenu.settings": "Settings",
|
|
749
|
+
"using": "using",
|
|
715
750
|
"view.assigned_to_me": "Assigned to Me",
|
|
716
751
|
"view.notfound": "This view is not available to you, or does not exist.",
|
|
717
752
|
"view.open": "Open View Query",
|
|
718
753
|
"view.refresh": "Refresh View",
|
|
719
754
|
"view.settings.advance_on_triage": "Advance to next hit on triage",
|
|
720
|
-
"view.settings.advance_on_triage.description": "If this is enabled, triaging a hit on this view will automatically move to the next hit in line, making rapid triage of hits easier."
|
|
721
|
-
"tui.query.save.alert": "Load a saved view or save the current query as a view",
|
|
722
|
-
"tui.query.load": "Load a saved view",
|
|
723
|
-
"tui.query.invalid": "Invalid view",
|
|
724
|
-
"tui.query.store.delete": "Delete saved view",
|
|
725
|
-
"tui.query.store.load": "Load saved view into input field",
|
|
726
|
-
"tui.query.views.load": "Load active views into input field",
|
|
727
|
-
"tui.query.views.clear": "Clear active views",
|
|
728
|
-
"tui.query.save.append": "Append active views",
|
|
729
|
-
"global": "Global",
|
|
730
|
-
"unset": "Unset"
|
|
755
|
+
"view.settings.advance_on_triage.description": "If this is enabled, triaging a hit on this view will automatically move to the next hit in line, making rapid triage of hits easier."
|
|
731
756
|
}
|