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